我很难找到针对我案例的具体信息。我想在940px div上分发3个图像缩略图,以便与我的其他内容对齐。到目前为止,我已经将图像水平排列,但间距是关闭的。一切都向左移。
这是我的CSS:
#thumbs {
width: 940px;
margin-top:90px;
margin-left: auto;
margin-right: auto;
}
我的HTML:
<div id="thumbs">
<a id="single_image" href="/dev/images/1.png">
<img src="/dev/images/thumb1.png" alt=""/>
</a>
<a id="single_image" href="/dev/images/2.png">
<img src="/dev/images/thumb2.png" alt=""/>
</a>
<a id="single_image" href="/dev/images/3.png">
<img src="/dev/images/thumb3.png" alt=""/>
</a>
</div>
示例图片
我目前拥有的内容:
我想要实现的目标:
非常感谢您的帮助。
答案 0 :(得分:45)
使用我的答案中显示的技巧:Fluid width with equally spaced DIVs
以下是您的代码:http://jsfiddle.net/thirtydot/JTcGZ/
<强> CSS:强>
#thumbs {
width: 540px;
margin-top:90px;
margin-left: auto;
margin-right: auto;
text-align: justify;
-ms-text-justify: distribute-all-lines;
text-justify: distribute-all-lines;
}
#thumbs a {
vertical-align: top;
display: inline-block;
*display: inline;
zoom: 1;
}
.stretch {
width: 100%;
display: inline-block;
font-size: 0;
line-height: 0
}
<强> HTML:强>
<div id="thumbs">
<a id="single_image1" href="#"><img src="http://dummyimage.com/150x150/444/fff" alt=""/></a>
<a id="single_image2" href="#"><img src="http://dummyimage.com/150x150/444/fff" alt=""/></a>
<a id="single_image3" href="#"><img src="http://dummyimage.com/150x150/444/fff" alt=""/></a>
<span class="stretch"></span>
</div>
答案 1 :(得分:29)
有一个干净的解决方案:
http://radiatingstar.com/distribute-divs-images-equaly-line
#container {
text-align: justify;
}
#container > div {
width: 100px; /* Declare your value. Can be in relative units. */
display: inline-block;
vertical-align: top;
}
#container:after {
content: "";
width: 100%;
display: inline-block;
}
答案 2 :(得分:22)
答案很简单,只需使用:
.container {
display: flex;
justify-content:space-between;
}
这就是全部!
答案 3 :(得分:3)
尝试添加
位置:相对;文本对齐:中心;
在#thumbs中,并在#thumbs中设置(或img)的宽度和边距。
像这样,测试各种值:
#thumbs a {
width: 25%;
margin: 0 4%;
text-align:center;
}
答案 4 :(得分:2)
text-align: justify;
的缺点是,每两个内联块元素之间必须有空格,否则这两个元素将相互粘连。
您可以在此处查看此行为: http://jsfiddle.net/JTcGZ/1552/
实现这一目标的新现代方法是使用flex。
#thumbs {
display: flex;
justify-content: space-between // flex-start | flex-end | center | space-around;
align-items: stretch // flex-start | flex-end | center | baseline;
}
#thumbs a {
display: inline-block;
}
您还可以在现代浏览器中定义百分比宽度:
#thumbs a {
width: calc((100% / 3) - 10px);
}
请访问此页面以获取有关flex布局的更多详细信息:
答案 5 :(得分:1)
为什么包装id div thumb不能用作顶部填充为90px的容器,而其他内部元素使用一个简单的类(不是id,因此可以重复使用),所有都浮动。这样他们就可以完美地水平对齐,包装容器也可以提供你想要的边距。你还可以使用相当少的代码来完成你想要的任务。