2015-12-03 08:38:28 CSS子选择符(大于符号)和后代选择符(大于符号)的区别
分不清CSS“子选择符”(CSS中使用大于符号>)和CSS“后代选择符”的区别。其实它们的差别还是蛮大的。“后代选择符”IE6,甚至更低IE版本,就已经支持了。也许你已经被这些“拗口”、“深奥”的名词搞迷糊了。到底什么“后代选择符”呢?其实大家都用过,看看下面的例子就明白了。 现在无论是FireFox还是IE7,对于“子选择符”的支持还都存在一定的问题。
- <!DOCTYPE html public "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
- <html xmlns="http://www.w3.org/1999/xhtml">
- <head>
- <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
- <title>文章示例页面</title>
- <style type="text/css">
- /*后代选择符*/
- #div1 p{
- color:red;
- }
- /*子选择符*/
- #div1>p{
- font-size:150%;
- }
- </style>
- </head>
- <body>
- <div id="div1">
- <p id="p1">我是div1的儿子1
- <p id="p1_1">我是div1的孙子</p>
- </p>
- <p id="p2">我是div1的儿子2</p>
- </div>
- </body>
- </html>
示例中,"p1"和"p2"包含在“div1”内,那么"p1"和"p2"就是“div1”的儿子,是后代,而“p1_1”包含在“p1”中,那么“p1_1”是“p1”的儿子,是后代。而“p1_1”也包含在“div1”中,则“p1_1”是“div1”的孙子,也是后代。使用“#div1 p{color:red;}”(后代选择器)会将div1下面的所有段落的字体颜色都设置为了红色。无论是孩子还是孙子,都要听话。“只要是我的后代,就得听我的话!”——这就是“后代选择符”。
而“子选择符”则不会那么霸道,它只管它的“儿子”,不会去管“孙子”、“重孙子”、“重重孙子”