Ist die Eigenschaft text-align: center;
eine gute Möglichkeit, ein Bild mit CSS zu zentrieren?
img {
text-align: center;
}
Das funktioniert nicht, da die text-align
-Eigenschaft für Blockcontainer gilt, nicht für Inline-Elemente. img
ist ein Inline-Element. Siehe die W3C-Spezifikation .
Verwenden Sie stattdessen diese:
img.center {
display: block;
margin: 0 auto;
}
Das funktioniert nicht immer ... wenn nicht, probiere es aus:
img {
display: block;
margin: 0 auto;
}
Kam durch diesen Beitrag und es funktionierte für mich:
img {
position: absolute;
top: 0; bottom:0; left: 0; right:0;
margin: auto;
}
(Vertikale und horizontale Ausrichtung)
Eine andere Möglichkeit wäre, einen umschließenden Absatz zu zentrieren:
<p style="text-align:center"><img src="..."/></p>
Du kannst tun:
<center><img src="..." /></center>
Tatsächlich besteht das einzige Problem mit Ihrem Code darin, dass das text-align
-Attribut für Text gilt (ja, Bilder zählen als Text) innerhalb des Tags. Sie möchten ein span
-Tag um das Bild setzen und its style auf text-align: center
setzen:
span.centerImage {
text-align: center;
}
<span class="centerImage"><img src="http://placehold.it/60/60" /></span>
Das Bild wird zentriert. Um Ihre Frage zu beantworten, ist es die einfachste und törichteste Möglichkeit, Bilder zu zentrieren, solange Sie daran denken, die Regel auf die span
(oder div
) des Bildes anzuwenden.
Nur wenn Sie alte IE Browser unterstützen müssen.
Der moderne Ansatz besteht darin, margin: 0 auto
in Ihrem CSS zu verwenden.
Beispiel hier: http://jsfiddle.net/bKRMY/
HTML:
<p>Hello the following image is centered</p>
<p class="pic"><img src="https://twimg0-a.akamaihd.net/profile_images/440228301/StackoverflowLogo_reasonably_small.png"/></p>
<p>Did it work?</p>
CSS:
p.pic {
width: 48px;
margin: 0 auto;
}
Das einzige Problem ist, dass die Breite des Absatzes der Breite des Bildes entsprechen muss. Wenn Sie dem Absatz keine Breite hinzufügen, funktioniert er nicht, da er 100% annimmt und Ihr Bild links ausgerichtet wird, es sei denn, Sie verwenden text-align:center
.
Probieren Sie die Geige aus und experimentieren Sie damit, wenn Sie möchten.
Es gibt drei Methoden zum Zentrieren eines Elements, die ich vorschlagen kann.
mit der text-align
-Eigenschaft
.parent {
text-align: center;
}
<div class="parent">
<img src="https://placehold.it/60/60" />
</div>
mit margin
-Eigenschaft
img {
display: block;
margin: 0 auto;
}
<img src="https://placehold.it/60/60" />
mit position
-Eigenschaft
img {
display: block;
position: relative;
left: -50%;
}
.parent {
position: absolute;
left: 50%;
}
<div class="parent">
<img src="https://placehold.it/60/60" />
</div>
Die erste und die zweite Methode funktionieren nur, wenn das übergeordnete Element mindestens so breit ist wie das Bild. Wenn das Bild breiter ist als das übergeordnete, bleibt das Bild nicht zentriert !!!
Aber: Die dritte Methode ist ein guter Weg dafür!
Hier ist ein Beispiel:
img {
display: block;
position: relative;
left: -50%;
}
.parent {
position: absolute;
left: 50%;
}
<div class="parent">
<img src="http://imgsv.imaging.nikon.com/lineup/lens/zoom/normalzoom/af-s_dx_18-140mmf_35-56g_ed_vr/img/sample/img_01.jpg" />
</div>
wenn Sie eine Klasse mit einem Bild verwenden, ist das Folgende ausreichend
class{
display: block;
margin: 0 auto;
}
wenn es sich nur um ein Bild in einer bestimmten Spalte handelt, das Sie zentrieren möchten, wird Folgendes ausgeführt
class img {
display: block;
margin: 0 auto;
}
img{
display: block;
margin-right: auto;
margin-left: auto;
}
Ändern Sie einfach die Ausrichtung des Elternteils :)
Versuchen Sie es mit den übergeordneten Eigenschaften text-align:center
sie können text-align: center
für das übergeordnete Element verwenden und das img in display: inline-block
-> ändern. Es verhält sich daher wie ein Textelement und wird zentriert, wenn das übergeordnete Element eine Breite hat!
img {
display: inline-block
}
Auf dem Container mit dem Bild Sie können die css3 flex box verwenden, um das Bild innen sowohl vertikal als auch horizontal perfekt zu zentrieren. Nehmen Sie an, Sie haben als Bildhalter:
.container {
display: flex;
align-items: center;
justify-content: center;
height: 100%;
}
Dadurch werden alle Inhalte in diesem Div perfekt zentriert.
Das Zentrieren eines Nicht-Hintergrundbildes hängt davon ab, ob Sie das Bild als Inline (Standardverhalten) oder als Blockelement anzeigen möchten.
Bei Inline
Wenn Sie das Standardverhalten der Anzeige-CSS-Eigenschaft des Bilds beibehalten möchten, müssen Sie Ihr Bild in ein anderes Blockelement einschließen, auf das Sie text-align: center;
setzen müssen.
Fall von block
Wenn Sie das Bild als eigenes Blockelement betrachten möchten, macht die text-align
-Eigenschaft keinen Sinn, und Sie sollten stattdessen Folgendes tun:
IMG.display {
display: block;
margin-left: auto;
margin-right: auto;
}
Die Antwort auf deine Frage:
Ist die Eigenschaft text-align: center; eine gute Möglichkeit, ein Bild zu zentrieren mit CSS?
Ja und nein.
text-align
-Eigenschaft erben:.Verweise
Wenn Sie das Bild als Hintergrund festlegen möchten, habe ich eine Lösung:
.image{
background-image: url(yourimage.jpg);
background-position: center;
}
Ich würde ein div verwenden, um ein Bild zu zentrieren. Wie in:
<div align="center"><img src="your_image_source"/></div>
Eine weitere Möglichkeit zum Skalieren - Anzeige:
img {
width: 60%; /* or required size of image. */
margin-left: 20% /* or scale it to move image. */
margin-right: 20% /* doesn't matters much if using left and width */
}
verwenden Sie dies für Ihre img-css
img{
margin-right: auto;
margin-left: auto;
}
<dev class="col-sm-8" style="text-align: center;"><img src="{{URL('image/car-trouble-with-clipping-path.jpg')}}" ></dev>
ich denke, dies ist der weg für das zentrumsbild in der laravel-rahmenarbeit.
Manchmal fügen wir den Inhalt und die Bilder direkt in WordPress Admin in die Seiten ein. Wenn wir die Bilder in den Inhalt einfügen und diesen Mittelpunkt ausrichten möchten. Code wird angezeigt als:
**<p><img src="https://abcxyz.com/demo/wp-content/uploads/2018/04/1.jpg" alt=""></p>**
in diesem Fall können Sie Folgendes hinzufügen:
artikelbild img { Marge: 0 auto; Bildschirmsperre; Textausrichtung: Mitte; Float: keine; }
Ich hoffe, es hilft in dieser Situation.
display: block
mit margin: 0
hat bei mir nicht funktioniert, auch nicht mit einem text-align: center
-Element.
Das ist meine Lösung:
img.center {
position: absolute;
transform: translateX(-50%);
left: 50%;
}
Die einfachste Lösung, die ich gefunden habe, war, dies zu meinem img-Element hinzuzufügen:
style="display:block; margin: auto;"
Anscheinend muss ich nicht "0" vor dem "Auto" hinzufügen, wie von anderen vorgeschlagen. Vielleicht ist das der richtige Weg, aber es funktioniert gut genug für meine Zwecke auch ohne die "0". Zumindest auf dem neuesten Firefox und Chrome und Edge.
Ich entdeckte, dass ich, wenn ich ein Bild und etwas Text in einer div
habe, text-align:center
verwenden kann, um den Text und das Bild auf einen Schlag auszurichten.
HTML:
<div class="picture-group">
<h2 class="picture-title">Picture #1</h2>
<img src="http://lorempixel.com/99/100/" alt="" class="picture-img" />
<p class="picture-caption">Lorem ipsum dolor sit amet, consectetur adipisicing elit. Temporibus sapiente fuga, quia?</p>
</div>
CSS:
.picture-group {
border: 1px solid black;
width: 25%;
float: left;
height: 300px;
#overflow:scroll;
padding: 5px;
text-align:center;
}
CodePen:https://codepen.io/artforlife/pen/MoBzrL?editors=1100