這非常簡單,所以我確信我只是缺少一些明顯的東西。僅將樣式應用於選定的元素,而不影響兒童元素
說我有這個例子代碼:
<main>
<header>Header</header>
<section>
Content
</section>
<section>
Content
</section>
<section>
Content
</section>
</main>
和初始CSS:
main{text-align:center;}
section{display:inline-block;width:33%;}
所以,我有三列佔用更多或更少的每個頁面的三分之一。現在,由於編寫代碼的方式,頁面上會有空白區域。我的首選方法是設置*{font-size:small}
,然後添加body>main{font-size:0;}
。
當然,這很好,在一個簡單的頁面上,其中字體是相同的。但是,在這裏和那裏使用不同大小的字體和標題標記,這不起作用。
我想我只是誤解了>
選擇器的作用,但我試圖尋找的是一個選擇器,它可以對元素進行樣式設置,而不會將所述樣式應用於子元素。在這種情況下,我想對我的主要元素進行樣式設置,但我不想要影響標題或節元素的樣式。
這樣做的正確方法是什麼?
在沒有人提出它之前,我不希望使用其他方法去除空白(HTML註釋,將結束標記的最後部分移動到下一行等),因爲它們看起來很醜我更喜歡我的代碼看起來像我的頁面一樣。
你不會誤解'>'選擇器。問題在於繼承。一些屬性由元素的後代繼承,即使您確保只使用'>'將屬性應用於該元素。您的問題的解決方案取決於正在使用的可繼承屬性。 – BoltClock
那麼,由於我想如何刪除我的元素之間的空白,我設置了font-size屬性。我唯一的問題是頭元素h1到h6發生了什麼。我希望他們保持其默認字體大小,但他們從父元素繼承屬性。我目前在*上將font-size設置爲較小,但是這會使h1與h6的大小相同。 – Hiigaran