CSS3中提供了一般兄弟選擇器,並且此選擇器中使用的組合符是波形符(~
)。
選擇器匹配給定元素的兄弟元素。
在這種特殊情況下,作者希望頭部是另一個類的後續兄弟,以便他可以定位相應的鏈接。如果在HTML的開始部分定義了頭部,則這是不可能的。技術上,如果在文件開頭處有頭部,它仍然是其他div的兄弟,因爲它們都是相同的HTML元素(<div>
)。但是在這種情況下,要使~
工作,頭元素必須在HTML標記中的其他元素之後發生。
檢查this page有關如何工作的詳細說明,並檢查official documentation也。
#home:target ~ #header #navigation #link-home
OR
#portfolio:target ~ #header #navigation #link-portfolio
OR
#about:target ~ #header #navigation #link-about
OR
#contact:target ~ #header #navigation #link-contact
這也可以所有目標一起喜歡如下
#home:target ~ #header #navigation #link-home,
#portfolio:target ~ #header #navigation #link-portfolio,
#about:target ~ #header #navigation #link-about,
#contact:target ~ #header #navigation #link-contact{
background: #000;
color: #fff;
}
他們說什麼。我不認爲這是個好主意。標記定義了文檔的結構,並且是其中最重要的部分(除了課程的內容)。 CSS應該服從於此;你不應該讓你的標記由你的CSS來裁定。 –
非常同意 – MarsOne