CSS3不是第一个孩子

时间:2014-04-23 12:48:39

标签: css css3

我可以使用:not more :first-child吗? 我正在使用下一个代码,但对我不起作用:

.navigation ul li:first-child:not([class]) a:before {
    content: ' [ '; }

.navigation ul li:not([class]):first-child a:before {
    content: ' [ '; }

enter image description here

我有这个, 但是当我去第一页休息时

图像中的所有元素都在ul元素

中提供

此寻呼机的css是

.navigation{border-top: 1px solid #ccc;float: left; width: 100%;position: relative; text-align: center;padding-top: 5px;}
.navigation ul{text-decoration: none; list-style: none;}
.navigation ul li{display:inline !important;background: none !important;padding: 0px 1px !important;}
.navigation ul li a{display:inline !important;background: none !important;padding: 0px !important;color: inherit !important;text-decoration: none !important}
.navigation .next , .navigation .previous , .navigation .last , .navigation .first{position: absolute;}
.navigation ul li:nth-child(3) a:before{content: ' [ ';}
.navigation ul li:not([class]) a:after{content: ' |';}
.navigation ul li:nth-last-child(3) a:after{content: ' ]';}
.navigation .next {right: 30px;}
.navigation .previous {left: 30px;}
.navigation .last {right: 0;}
.navigation .first {left: 0;}

1 个答案:

答案 0 :(得分:0)

我觉得你对第一个孩子在这里做的事感到困惑......

假设这种HTML格式......

<ul>
    <li class="something">Something</li>
    <li>Somethign else</li>
    <li>Somethign else</li>
    <li>Somethign else</li>
    <li>Somethign else</li>
</ul>

只有这个用于CSS:

ul li:first-child { background: red; }

我得到的结果是第一个LI有红色背景:http://jsfiddle.net/L7wRD/

<小时/> 如果我将CSS更改为:

ul li:first-child:not(.something) { background: red; }

然后没有任何事情发生,除非有另一个列表,其中第一个孩子没有.something类。就像这个例子:http://jsfiddle.net/L7wRD/1/


我认为你期望的是:不与:first-child配对将最终用上面给出的HTML选择第二个LI。

不幸的是,第一个孩子是第一个孩子。它始终是第一个元素,并且:不会修改它。