it-swarm.com.de

bilder nebeneinander in HTML ausrichten

Ich möchte 3 Bilder nebeneinander mit Bildunterschrift, im Moment habe ich 3 Bilder von oben nach unten, wobei sich das Bild links befindet und nicht in der Mitte. Wie mache ich die Bilder nebeneinander mit der Bildunterschrift in der Mitte? Vielen Dank. 

<div class="image123">
    <img src="/images/tv.gif" height="200" width="200" style="float:left">
    <p>This is image 1</p>
    <img class="middle-img" src="/images/tv.gif"/ height="200" width="200">
    <p>This is image 2</p>
    <img src="/images/tv.gif"/ height="200" width="200">
    <p>This is image 3</p>
</div>
13
user3809938

Du meinst so etwas? 

<div class="image123">
    <div class="imgContainer">
        <img src="/images/tv.gif" height="200" width="200"/>
        <p>This is image 1</p>
    </div>
    <div class="imgContainer">
        <img class="middle-img" src="/images/tv.gif"/ height="200" width="200"/>
        <p>This is image 2</p>
    </div>
    <div class="imgContainer">
         <img src="/images/tv.gif"/ height="200" width="200"/>
        <p>This is image 3</p>
    </div>
</div>

mit dem imgContainer-Stil als 

.imgContainer{
    float:left;
}

Siehe auch dies jsfiddle .

16
James

Nicht wirklich sicher, was Sie mit "die Bildunterschrift in der Mitte" meinen, aber hier ist eine Lösung, mit der Ihre Bilder nebeneinander angezeigt werden, wobei der hervorragende display:inline-block verwendet wird:

<!DOCTYPE html>
<html>
<head>
  <meta charset=utf-8 />
  <title></title>
  <style>
    div.container {
      display:inline-block;
    }

    p {
      text-align:center;
    }
  </style>
</head>
<body>
  <div class="container">
    <img src="http://placehold.it/350x150" height="200" width="200" />
    <p>This is image 1</p>
  </div>
  <div class="container">
    <img class="middle-img" src="http://placehold.it/350x150"/ height="200" width="200" />
    <p>This is image 2</p>
  </div>
  <div class="container">
    <img src="http://placehold.it/350x150" height="200" width="200" />
    <p>This is image 3</p>
  </div>
</div>
</body>
</html>

Versuchen Sie es mit diesem Format 

<figure>
   <img src="img" alt="The Pulpit Rock" width="304" height="228">
   <figcaption>Fig1. - A view of the pulpit rock in Norway.</figcaption>
</figure>

Dadurch erhalten Sie eine echte Beschriftung (fügen Sie einfach das 2. und 3. Bild mit Float:left hinzu, wie von anderen vorgeschlagen

2
DarkNinja955

Versuchen Sie this .

CSS

.imageContainer {
    float: left;
}

p {
    text-align: center;
}

HTML

<div class="image123">
    <div class="imageContainer">
        <img src="/images/tv.gif" height="200" width="200" />
        <p>This is image 1</p>
    </div>
    <div class="imageContainer">
        <img class="middle-img" src="/images/tv.gif"/ height="200" width="200" />
        <p>This is image 2</p>
    </div>
    <div class="imageContainer">    
        <img src="/images/tv.gif"/ height="200" width="200"/>
        <p>This is image 3</p>
    </div>
</div>
0
Michael Bellamy

So würde ich es machen (allerdings würde ich für dieses Projekt und alle anderen ein externes Stylesheet verwenden. Das macht die Arbeit einfacher. Auch dieses Beispiel ist mit html5.

<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title></title>
<style>
  .container {
      display:inline-block;
  }
</style>
</head>
<body>

  <div class="container">
    <figure>
    <img src="http://placehold.it/350x150" height="200" width="200">
    <figcaption>This is image 1</figcaption>
    </figure>

    <figure>
    <img class="middle-img" src="http://placehold.it/350x150"/ height="200" width="200">
    <figcaption>This is image 2</figcaption>
    </figure>

    <figure>
    <img src="http://placehold.it/350x150" height="200" width="200">
    <figcaption>This is image 3</figcaption>
    </figure>

  </div>
</body>
</html>
0
Paydros

Ich schlage vor, einen Container für jede imgp wie folgt zu verwenden:

<div class="image123">
    <div style="float:left;margin-right:5px;">
        <img src="/images/tv.gif" height="200" width="200"  />
        <p style="text-align:center;">This is image 1</p>
    </div>
    <div style="float:left;margin-right:5px;">
        <img class="middle-img" src="/images/tv.gif/" height="200" width="200" />
        <p style="text-align:center;">This is image 2</p>
    </div>
    <div style="float:left;margin-right:5px;">
        <img src="/images/tv.gif/" height="200" width="200" />
        <p style="text-align:center;">This is image 3</p>
    </div>
</div>

Dann wende float:left auf jeden Container an. Ich füge hinzu und 5pxmargin right, so dass zwischen jedem Bild ein Leerzeichen steht. Schließen Sie auch immer Ihre Elemente. Vielleicht ist das html img-Tag nicht wichtig zu schließen, aber in XHTML.

Geige

Auch ein freundlicher Rat. Vermeiden Sie Inline-Styles so weit wie möglich. Schauen Sie hier:

html

<div class="image123">
    <div>
        <img src="/images/tv.gif" />
        <p>This is image 1</p>
    </div>
    <div>
        <img class="middle-img" src="/images/tv.gif/" />
        <p>This is image 2</p>
    </div>
    <div>
        <img src="/images/tv.gif/" />
        <p>This is image 3</p>
    </div>
</div>

css

div{
    float:left;
    margin-right:5px;
}

div > img{
   height:200px;
    width:200px;
}

p{
    text-align:center;
}

Es wird generell empfohlen, verknüpfte Stylesheets zu verwenden, weil:

  • Sie können zur Leistungssteigerung von Browsern zwischengespeichert werden
  • Generell viel einfacher für eine Entwicklungsperspektive zu warten

Quelle

Geige

0
Alex Char