首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >h1 em与h1 > em之间的区别

h1 em与h1 > em之间的区别
EN

Stack Overflow用户
提问于 2009-05-08 21:35:34
回答 6查看 945关注 0票数 3

这两个CSS语句之间有什么区别:

代码语言:javascript
复制
h1 em { color:#ddd; }

代码语言:javascript
复制
h1 > em { color:#ddd; }

据我所知,它们做的是完全相同的事情(尽管根据我在W3C读到的第一种情况,em被认为是“后代”,而在第二种情况下,它被认为是“孩子”,尽管我不知道这实际上有什么不同)。有人能解释一下它们有什么不同吗?为什么你会选择使用一种语法而不是另一种语法?我一直只使用第一种方法,但我经常在别人的代码中遇到第二种风格。

EN

回答 6

Stack Overflow用户

发布于 2009-05-08 21:38:46

这一条:

代码语言:javascript
复制
h1 em { color:#ddd; }

匹配h1中的任何em,无论它是孩子、孙子、曾孙等等。例如:

代码语言:javascript
复制
<h1><strong><em>This matches</em></strong></h1>

这一条:

代码语言:javascript
复制
h1 > em { color:#ddd; }

仅匹配作为h1的子级的em,而不匹配孙子、曾孙等。因此:

代码语言:javascript
复制
<h1><strong><em>This doesn't match</em></strong></h1>
<h1><em>But this does</em></h1>
票数 17
EN

Stack Overflow用户

发布于 2009-05-08 21:39:29

可能不是你给出的最好的例子,但我会用它:

代码语言:javascript
复制
<h1>Stuff here    
  <em>Something
    <p>More stuff</p>
    <p>Something <em>here</em></p>
  </em>
<h1>

在我的示例中,h1 em将同时匹配两个em。

h1>em将只匹配作为h1的直系后代的em,而不是第二个内部em。

票数 2
EN

Stack Overflow用户

发布于 2009-05-08 21:41:58

代码语言:javascript
复制
h1 em { color:#ddd; }

意思是:“h1中的em”

代码语言:javascript
复制
h1 > em { color:#ddd; }

意思是:“带父h1的em”

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/841918

复制
相关文章

相似问题

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