我想用CSS在html中选择元素标签。例如,如何在一个UL中选择第二个li a Plus之后的任何东西。我想在之后设置第二个li加左边距。第一个<li><a>
不会向右移动并修复,但是其他移动到右边的边距
<ul style="list-style:none;">
<li>
<a href="#">Contact Us</a>
</li>
<li>
<a href="#">Home</a>
</li>
<li>
<a href="#">Project</a>
</li>
<li>
<a href="#">aboutUs</a>
</li>
</ul>
联系我们主页项目aboutUs 我想保留ContactUs左边缘并且不要向右移动,但是在第二个li之后设置margin-left,50px用于home + project + aboutUs;
答案 0 :(得分:4)
这应该适合你:http://jsfiddle.net/MFtU2/1/
ul > li:not(:first-child) {
margin-left: 50px;
}
如果您希望支持不支持CSS3 :not()
选择器的旧版浏览器,最好选择第一个li
,并在给予所有{{1}时给它margin:0;
} li
的余量:http://jsfiddle.net/MFtU2/3/
50px
修改强>
鉴于OP稍微改变了问题的参数,我想我会更新我的答案。除了想要定位除第一个之外的所有ul.ie8safe > li:first-child {
margin-left: 0;
}
ul.ie8safe > li {
margin-left: 50px;
}
之外,您还希望让它们显示在同一水平面上。为此,您希望每个li
占用尽可能少的空间,因为默认情况下,每个li
将占用包含li
的全部宽度。有几种方法可以做到这一点,但我更喜欢使用ul
float: left;
我附上了 updated fiddle 来展示这会是什么样子。请注意,此技术适用于旧版浏览器以及新版浏览器。