“子選擇符”與“后代選擇符”的區(qū)別

字號(hào):


    很多朋友把分不清“子選擇符”和“后代選擇符”的區(qū)別。其實(shí)它們的差別還是蠻大的?!昂蟠x擇符”IE6,甚至更低IE版本,就已經(jīng)支持了。也許你 已經(jīng)被這些“拗口”、“深?yuàn)W”的名詞搞迷糊了。到底什么“后代選擇符”呢?其實(shí)大家都用過(guò),看看下面的例子就明白了。 現(xiàn)在無(wú)論是FireFox還是IE7,對(duì)于“子選擇符”的支持還都存在一定的問(wèn)題。
    <!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" />
    <meta name="Keywords" content="YES!B/S!,web標(biāo)準(zhǔn),楊正祎,博客園,實(shí)例代碼" />
    <meta name="Description" content="這是一個(gè)簡(jiǎn)單YES!B/S!文章示例頁(yè)面,來(lái)自楊正祎的博客,http://justinyoung.cnblogs.com/" />
    <title>YES!B/S!文章示例頁(yè)面</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”內(nèi),那么"p1"和"p2"就是“div1”的兒子,是后代,而“p1_1”包含在“p1”中, 那么 “p1_1”是“p1”的兒子,是后代。而“p1_1”也包含在“div1”中,則“p1_1”是“div1”的孫子,也是后代。使用“#div1 p{color:red;}”(后代選擇器)會(huì)將div1下面的所有段落的字體顏色都設(shè)置為了紅色。無(wú)論是孩子還是孫子,都要聽(tīng)話。“只要是我的后代,就 得聽(tīng)我的話!”&mdash;—這就是“后代選擇符”。
    而“子選擇符”則不會(huì)那么霸道,它只管它的“兒子”,不會(huì)去管“孫子”、“重孫子”、“重重孫子”……