HTML
<div class="image1"> <img src="images/img1.png" width="250" height="444" alt="Screen 1"/> <img src="images/img2.png" width="250" height="444" alt="Screen 2"/> <img src="../images/img3.png" width="250" height="444" alt="Screen 3"/> </div>
如果我在img1和img2之间添加一段文本,它们会被分离(img2转到换行符)
我试图做的是这个(在图像之间有一些空格):
[image1] [image2] [image3] [text] [text] [text]
我没有给出图像他们自己的单独的类名称,因为图像不能水平对准。
解决方法
为图像和标题添加容器div:
<div class="item"> <img src=""/> <span class="caption">Text below the image</span> </div>
然后,使用一点CSS,您可以自动包装图像库:
div.item { vertical-align: top; display: inline-block; text-align: center; width: 120px; } img { width: 100px; height: 100px; background-color: grey; } .caption { display: block; }
div.item { /* To correctly align image,regardless of content height: */ vertical-align: top; display: inline-block; /* To horizontally center images and caption */ text-align: center; /* The width of the container also implies margin around the images. */ width: 120px; } img { width: 100px; height: 100px; background-color: grey; } .caption { /* Make the caption a block so it occupies its own line. */ display: block; }
<div class="item"> <img src=""/> <span class="caption">Text below the image</span> </div> <div class="item"> <img src=""/> <span class="caption">Text below the image</span> </div> <div class="item"> <img src=""/> <span class="caption">An even longer text below the image which should take up multiple lines.</span> </div> <div class="item"> <img src=""/> <span class="caption">Text below the image</span> </div> <div class="item"> <img src=""/> <span class="caption">Text below the image</span> </div> <div class="item"> <img src=""/> <span class="caption">An even longer text below the image which should take up multiple lines.</span> </div>
更新答案
而不是使用“匿名”div和span,您也可以使用HTML5图形和figcaption元素。优点是这些标签增加了文档的语义结构。视觉上没有任何区别,但它可能(积极地)影响您的页面的可用性和可索引性。
标签是不同的,但代码的结构是完全一样的,你可以看到在这个更新的片段和小提琴:
<figure class="item"> <img src=""/> <figcaption class="caption">Text below the image</figcaption> </figure>
figure.item { /* To correctly align image,regardless of content height: */ vertical-align: top; display: inline-block; /* To horizontally center images and caption */ text-align: center; /* The width of the container also implies margin around the images. */ width: 120px; } img { width: 100px; height: 100px; background-color: grey; } .caption { /* Make the caption a block so it occupies its own line. */ display: block; }
<figure class="item"> <img src=""/> <figcaption class="caption">Text below the image</figcaption> </figure> <figure class="item"> <img src=""/> <figcaption class="caption">Text below the image</figcaption> </figure> <figure class="item"> <img src=""/> <figcaption class="caption">An even longer text below the image which should take up multiple lines.</figcaption> </figure> <figure class="item"> <img src=""/> <figcaption class="caption">Text below the image</figcaption> </figure> <figure class="item"> <img src=""/> <figcaption class="caption">Text below the image</figcaption> </figure> <figure class="item"> <img src=""/> <figcaption class="caption">An even longer text below the image which should take up multiple lines.</figcaption> </figure>