我有以下 HTML:
<div class="top_buttons">
<div class="top_button">
<img src="img/image1.png">
</div>
<div class="top_button">
<a href="#">
<img src="img/image2.png">
</a>
</div>
<div class="top_button">
<a href="#">
<img src="img/image3.png">
</a>
</div>
</div>
以下 CSS 完美运行:
.top_buttons{
width: 100%;
height: auto;
margin: 0 auto;
overflow: hidden;
}
.top_button{
float: left;
width: 33.333%;/*Because I have 3 images with the same width, I want each to have 1/3 of the total width space available (mobile website)*/
}
当我想向内部 div(即图像的父级)添加一些边距和/或填充时,问题就来了。如果我为这些 div 添加边框/填充/边距,我设置的上述 33.333% 将不再起作用,因为显然每个“top_button” div 不仅包含图像,还包含添加到 div 的边框/填充/边距。
所以,我的临时解决方案是将这个百分比降低到 31% 左右。但是,根据手机的不同,屏幕右侧会留下或多或少的像素,因为我只是想用百分比来猜测 div 的长度以及额外的边框/填充/边距。我想要的是一个解决方案,即使我将边框/填充/边距设置为内部 div,我仍然可以使用 33.333%,因此我可以进行像素完美的水平对齐。
简而言之,我如何才能水平对齐 'n' div,因为我知道 div 也会有边框/填充/边距,而且我不知道“top_button * s *” div 的总宽度(因为显示的宽度会有所不同取决于手机屏幕)。