html - 为什么 CSS 部分 :only-child selector not work?

标签 html css css-selectors pseudo-class

我只是在摆弄新的 HTML5 标签和伪选择器,并注意到 section:only-child 选择器似乎不起作用。我正在最新版本的 Chrome (23.0) 上对此进行测试。

我的代码是:

<section id="s1">
    <div id="div1">abc</div>
    <div id="div2">
        <span>first span</span>
        <span class="sp">second span</span>
    </div>
</section>

<section>
    <div>first child test</div>
</section>​

CSS 是:

section {
background-color: brown;
width: 400px;
height: 200px;
}

#s1 {
position: relative; 
background-color: rgba(0,255,0,0.5); 
border: 1px solid #000; width: 50%;
}

#div1 {
background-color: #0f0; 
position: relative;
}

#div2 {
background-color: #0ff; 
width: 200px; 
color: red;
}

#div2 .sp {
color: white;
text-decoration:line-through;
}

section:only-child {
color: yellow;

    }​

理论上,文本“first child test”应该是黄色的,因为第二部分只有一个 div,但它没有得到字体的黄色。

如果我将选择器更改为 div:only-child,它将正常工作。

您可以在此处查看 jsfiddle:http://jsfiddle.net/KwzZs/3/

为什么这不起作用?

谢谢

最佳答案

这条规则:

section:only-child

匹配 section 元素,该元素是 only-child

这条规则(注意空格):

section :only-child

匹配一个元素,该元素是 sectiononly-childIs this what you expected

关于html - 为什么 CSS 部分 :only-child selector not work?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14047749/

相关文章:

javascript - 访问 iframe

html - 当我在移动设备上滚动时,元素必须重新加载

jquery - 有没有办法在同一时隙中在其他事件后面全 Angular 显示 FullCalendar 事件?

html - 覆盖最后两个元素之间的空格

css - 了解 CSS 语法 & + &

html - 是否可以根据 body 高度使元素(span、div 等)垂直居中?

css - 无法专注于带有 tabindex 的复选框

css - 如何使用包含冒号的属性名称选择 DOM 中的元素?

css - "i"在 CSS 属性选择器中意味着什么?

html - 按钮大小继承之谜