这非常简单,所以我确信我只是缺少一些明显的东西。仅将样式应用于选定的元素,而不影响儿童元素
说我有这个例子代码:
<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