每个元素的保证金除了最后一个

use*_*836 20 html css margins css-selectors

我有2行CSS用于在除最后一个元素之外的每个元素上设置边距.有没有办法将它组合成一行?

这就是我目前(工作):

.work img {
    margin-right: 10px;
}

.work img:last {
    margin-right: 0px;
}
Run Code Online (Sandbox Code Playgroud)

我尝试将其更改为:

.work img:not(:last) {
    margin-right: 10px;
}
Run Code Online (Sandbox Code Playgroud)

但它不起作用?知道为什么吗?

更新我只有五张图片.我的另一个选择是只有前四个的利润.

ket*_*tan 21

你有小错误

更改:

.work img:not(:last)
Run Code Online (Sandbox Code Playgroud)

.work:not(:last-child)
Run Code Online (Sandbox Code Playgroud)

在这里检查小提琴.


小智 6

尝试这个 :

.work img {
    margin-right: 10px;
}

.work img:last-child {
    margin-right: 0px;
}
Run Code Online (Sandbox Code Playgroud)

或者

.work img:not(:last-child) {
    margin-right: 10px;
}
Run Code Online (Sandbox Code Playgroud)

或 jQuery 解决方案:

jQuery('.work img:not(:last)').css({marginRight: 10);
Run Code Online (Sandbox Code Playgroud)

请记住,如果您应用纯 CSS,您的浏览器需要支持选择器。

请参阅此参考: http: //caniuse.com/#search=%3Alast-child