首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >CSS子体选择器

CSS子体选择器
EN

Stack Overflow用户
提问于 2012-03-18 12:38:07
回答 2查看 132关注 0票数 0

对于这种选择器,"p span“将选择p的所有后代元素。

但是为什么下面的代码不能工作呢?

代码语言:javascript
复制
p span { font-weight:bold;color:blue }

<p>
    <p>
        <span>TEXT 1</span>
    </p>
    <p>
        <span>TEXT 2</span>
    </p>
    <span>TEXT 3</span>
    <span>TEXT 4</span>
    <span>TEXT 5</span>
</p>

文本3-5是第一级元素p的后代。但是它们为什么不以粗体和蓝色显示?(文本1-2显示正确的样式)

EN

回答 2

Stack Overflow用户

发布于 2012-03-18 12:43:25

<p>是超文本标记语言中的一种特殊情况。您不能在另一个段落中嵌入段落,打开两个P标签会隐式关闭前一个段落。您的代码实际上被解释为:

代码语言:javascript
复制
<p></p>   <---closed by having opened the next <p>
<p><span>TEXT1</span></p>
<p><span>TEXT2</span></p>
<span>3</span>
etc...

因此,3,4,5跨度实际上根本不在<p>中。

票数 11
EN

Stack Overflow用户

发布于 2012-03-18 12:45:52

来自spec - http://www.w3.org/TR/html401/struct/text.html#h-9.3.1

<p>元素表示一个段落。它不能包含块级元素(包括<p>本身)。

尝试将<p>元素转换为<div>元素。

代码语言:javascript
复制
p span { font-weight:bold;color:blue }

<div>
    <div>
        <span>TEXT 1</span>
    </div>
    <div>
        <span>TEXT 2</span>
    </div>
    <span>TEXT 3</span>
    <span>TEXT 4</span>
    <span>TEXT 5</span>
</div>
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/9756031

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档