CSS - IE7忽略第一个列表项的边距?

时间:2011-05-17 10:10:58

标签: html css internet-explorer-7

如果您转到第一个博客项目(Mona)并使用“+”图标展开它。使用边距将图像缩略图从左侧对齐24px。这适用于每个浏览器,但IE7忽略了第一个列表项的边距。

http://www.dririser.co.uk/index.php

CSS

.artistMeta li {
float: left;
margin: 0 0 24px 24px;
position: relative;
width: 160px;
}

这里有一个类似的问题,但没有真正的答案,我不能使用他们的解决方案。

Why is ie7 ignoring the left-margin on my first list item (only)?

有什么想法吗?

2 个答案:

答案 0 :(得分:0)

只是一个快速测试..不确定它是否会起作用..但尝试在display:block上添加li并且不要使用缩写作为边距,而是使用{{1} }和margin-left ... 在我看来,IE并没有刷新元素的风格,因为当我检查元素时,导航器会添加正确的边距......

如果这不起作用..你可能想把样式放在标签内(因为你使用JS来添加图像),我知道它不优雅,但我想这可能会迫使导航器设置margin-bottom

上的样式

如果这不起作用..那我就不知道什么是错的= P.我希望这有帮助...

祝你好运!

答案 1 :(得分:0)

IE7所遇到的问题不在你的CSS文件中,而是在 global.js 的javascript中。具体如下......

$(".artistMeta > li:nth-child(3n+1)").addClass("articleSlideOdd");

根据CSS中的惯例,JQuery将 nth-child 的子计数开始为1(因为在第一个子节点为nth-child(1)),其中as,ie7期望它从0开始。因此,ie7 3n + 1 匹配第2,第5,第8项,依此类推。

看起来JQuery没有正确处理ie7,所以你需要两个语句来覆盖ie7等等。