Safari vs Firefox:奇怪的UL“填充”

时间:2013-01-16 22:27:24

标签: html css firefox safari html-lists

我有这个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,它看起来像这样:
enter image description here

1 个答案:

答案 0 :(得分:1)

我假设问题是你使用了否定margin,这导致了一个问题(我目前无法访问Mac,因此我无法验证)。< / p>

尝试将CS​​S更改为以下内容。我还将您的clearfix更改为我之前收到的具有出色跨浏览结果的一个。

http://jsfiddle.net/EdCXx/4/

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>