it-swarm.com.de

Bild zentrieren mit Textausrichtung zentrieren?

Ist die Eigenschaft text-align: center; eine gute Möglichkeit, ein Bild mit CSS zu zentrieren?

img {
    text-align: center;
}
469
Web_Designer

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;
}
1009
Mrchief

Das funktioniert nicht immer ... wenn nicht, probiere es aus:

img {
    display: block;
    margin: 0 auto;
}
107

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>
47
EssamSoft

Du kannst tun:

<center><img src="..." /></center>

14

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. 

12
Code Monkey

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.

8
Ray Toal

Es gibt drei Methoden zum Zentrieren eines Elements, die ich vorschlagen kann.

  1. mit der text-align-Eigenschaft

        .parent {
        text-align: center;
    }
        <div class="parent">
        <img src="https://placehold.it/60/60" />
    </div>

  2. mit margin-Eigenschaft

    img {
        display: block;
        margin: 0 auto;
    }
    <img src="https://placehold.it/60/60" />

  3. 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>

8
Amin Fazlali

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;
}
6
Baig
img{
    display: block;
    margin-right: auto;
    margin-left: auto;      
 }
6
Dream Hunter

Ändern Sie einfach die Ausrichtung des Elternteils :)

Versuchen Sie es mit den übergeordneten Eigenschaften text-align:center

3
Mo.

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
}
3
Doml The-Bread

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.

3
Santoni

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.

  • Ja, wenn das Bild das einzige Element in seinem Wrapper ist.
  • Nein, falls Sie andere Elemente im Wrapper des Bildes haben, da alle untergeordneten Elemente, die gleichgeordnete Elemente des Bildes sind, die text-align-Eigenschaft erben:.

Verweise

  1. Liste der Inline-Elemente
  2. Dinge zentrieren
2

Wenn Sie das Bild als Hintergrund festlegen möchten, habe ich eine Lösung:

.image{
    background-image: url(yourimage.jpg);
    background-position: center;
}
2
Wojciechu

Ich würde ein div verwenden, um ein Bild zu zentrieren. Wie in:

<div align="center"><img src="your_image_source"/></div>
2

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 */
}
1
Kishore Banala

verwenden Sie dies für Ihre img-css

img{
  margin-right: auto;
  margin-left: auto;
}
1
treb
<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.

0
teran teshara

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.

0
Sangrai

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%;
}

translateX wird von den meisten Browsern unterstützt

0
OverCoder

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.

0
Panu Logic

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

0
MadPhysicist