2012-02-08 85 views
0

這裏直接引用塊元素是代碼在HTML頁面

<div id = "content"> 
    <div id = "text"> 
    <h1>Text</h1> 
    </div> 
</div> 

我是一個新手,我想知道,如果可能的話,使用CSS,我可以套用樣式只對h1元素裏面的那些div沒有任何其他h1出這些div可以感受到風格。

回答

2

是的,你可以:

div#content > div#text > h1 { some style here } 

在這種情況下,你會只觸摸h1它像你描述的被放置在層次結構。

+0

>符號是什麼意思? – Mazzy 2012-02-08 16:38:59

+1

這意味着下一個元素將緊跟在下一個層次上的當前元素之後。如果您沒有使用'>'',則意味着下一個元素可以位於當前內部更深層次的層次結構中。 – Samich 2012-02-08 16:41:21

+0

不需要包含標籤名稱,因爲每個「id」只能使用一次。在同一註釋中,'#content>'可以完全移除(假設這是每個輸出的唯一方式),因爲每個文檔中*只應該* *##content和'#text'。 – 0b10011 2012-02-08 16:54:31

1

是的。這是一個例子。

div#content div#text h1 {/* your style */} 

這將允許您只按這個特定順序添加css到這些項目。

0

#content#text之前沒有必要包含div,因爲每個id只能使用一次。如果您更改爲使用class,則可能需要在其之前包含div(例如div.content),以防其他標籤也使用class

精確匹配結構

#text > h1 {/* Styles */} 

雖然你應該使用這個,如果你用class代替:

div.content > div.text > h1 {/* Styles */} 

這將匹配:

  • <div id="content"><div id="text"><h1>

但不是:

  • <div id="content"><div id="text"><div><h1>
  • <div id="content"><div><div id="text"><h1>

匹配任何結構

#text h1 {/* Styles */} 

雖然你應該使用這個,如果你用class代替:

div.content div.text h1 {/* Styles */} 

這將匹配:

  • <div id="content"><div id="text"><h1>
  • <div id="content"><div id="text"><div><h1>
  • <div id="content"><div><div id="text"><h1>