我有这个HTML:
<article class="images">
<ul class="cf">
<li>
<a href="#">
<img src="http://www.placehold.it/800x600" alt="" />
</a>
</li>
</ul>
</article>
这个CSS:
* {
margin: 0;
padding: 0;
}
.images ul {
margin-left: -3%;
width: 100%;
background: red;
}
.images li {
list-style-type: none;
}
.images li img {
width: 17%;
margin-left: 3%;
margin-bottom: 3%;
float: left;
}
尽管如此,在Safari中,ul
似乎在右侧有某种填充
在Firefox中,ul
显示正确。
亲眼看看:http://jsfiddle.net/EdCXx/
有没有办法解决这个问题?
编辑:在OS X 10.8.2上使用Safari 6.0.2,它看起来像这样:
答案 0 :(得分:1)
我假设问题是你使用了否定margin
,这导致了一个问题(我目前无法访问Mac,因此我无法验证)。< / p>
尝试将CSS更改为以下内容。我还将您的clearfix
更改为我之前收到的具有出色跨浏览结果的一个。
CSS:
/* Reset */
* {
margin: 0;
padding: 0;
}
/* Clearfix */
.clear:after {
clear: both;
content: ".";
display: block;
height: 0;
line-height: 0;
visibility: hidden;
}
/* Images */
.images ul {
width: 100%;
background: red;
}
.images li {
list-style: none;
overflow: hidden;
margin-right: 3%;
margin-bottom: 3%;
float: left;
width: 17%;
height: 17%;
}
.images li img {
float: left;
max-width: 100%;
max-height: 100%;
}
收紧你的HTML(没必要,但它更漂亮):
<article class="images">
<ul class="clear">
<li> <a href="#"><img src="http://www.placehold.it/800x600" alt="" /></a></li>
<li><a href="#"><img src="http://www.placehold.it/800x600" alt="" /></a></li>
<li> <a href="#"><img src="http://www.placehold.it/800x600" alt="" /></a></li>
<li> <a href="#"><img src="http://www.placehold.it/800x600" alt="" /></a></li>
<li> <a href="#"><img src="http://www.placehold.it/800x600" alt="" /></a></li>
<li> <a href="#"><img src="http://www.placehold.it/800x600" alt="" /></a></li>
<li> <a href="#"><img src="http://www.placehold.it/800x600" alt="" /></a></li>
<li> <a href="#"><img src="http://www.placehold.it/800x600" alt="" /></a></li>
</ul>
</article>