在一行DIV中,为最后一个DIV添加样式

5
我查看了这篇帖子(如何使用CSS或jQuery样式化第一个和最后一个li?),但仍在寻找适合IE8(及其之前版本)的解决方案。
我有一行DIV,设置了padding-right,在最后一个DIV对齐时需要将最后一个DIV的padding设置为零。我以前使用过.css + .css方法,但在IE8及其之前的版本中似乎不起作用。
非常感谢您的帮助。

感谢您的回答,提供了多种好的解决方案。谢谢。 - Andy
非常欢迎。这是我们在这里的目的! - James Johnson
6个回答

4
假设有一个包含所有这些内容的 div,你应该能够这样做:
div.container {
    background-color: blue;
}
div.container .div-row {
    float: left;
    padding-right: 5px;
}
div.container .div-row:last-child {
    padding-right: 0px;
}

3

您可以给最后一个div添加一个类,并在IE中使用该类使其正常工作。

<div class="last"></div>

<style>
    .last
    {
        padding-right:0;
    }
</style>

这就是我们解决这个问题的方法。我们的第一个和最后一个div实际上有不同的样式,我们不得不手动添加类。 - Jesse Webb
如果有多个地方需要做相同的工作,您也可以使用JavaScript使其运行。 - Chuck Norris

2
您可以使用类似以下的 CSS:
.rowofdivs div:last-child {
    padding-right: 0;
}

1
如果你不能像其他答案中建议的那样手动添加"last"类,那么你必须依靠JavaScript来完成这个任务。如果你有jQuery,你可以做如下操作:
 $('#parentdiv div:last-child').addClass('last');

然后相应地调整您的样式表:

 .last { padding-right: 0 }

1

您可以使用 CSS 伪类 :last-of-type


1

这是一个CSS3选择器,查看怪异模式以获取可用于哪些浏览器的列表。

为什么不在代码中将class="last"添加到最后一个div?

last-child在IE8及以下版本中不可用。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接