CSS进阶篇——更多选择器 (selectors)
Posted 老梁写代码
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了CSS进阶篇——更多选择器 (selectors)相关的知识,希望对你有一定的参考价值。
前面我们学习过HTML 选择器,类选择器和 ID 选择器,这几种选择器配合起来使用可以让我们精确定位 html 元素。
本篇要介绍的几个功能更加强大。
全局选择器
全局选择器用一个星号(*
)来表示,它会作用于所有元素。全局选择器除了可以为页面设置全局样式之外,还可以配合其他选择器一起使用。
*
margin: 0;
padding: 0;
#contact *
display: block;
- 单独使用全局选择性相当于重置了浏览器的默认样式
- 跟在其他选择器后面使用,只会作用于该选择器的子元素
子选择器
大于号(>
)用于指定一级子元素。
<ul id="genus_examples">
<li>Cats
<ul>
<li>Panthera</li>
<li>Felis</li>
<li>Neofelis</li>
</ul>
</li>
<li>Apes
<ul>
<li>Pongo</li>
<li>Pan</li>
<li>Homo</li>
</ul>
</li>
</ul>
如果要给<ul id="geneus_examples">
的一级子元素(<li>
标签) “Cats” 和 “Apes” 设置样式,CSS 可以这样写:
#genus_examples > li
border: 1px solid red;
其他的 <li>
元素不会受到影响,因为子选择器只作用于一级子元素。
如果要作用于所有子元素,可以这么写:
#genus_examples li
border: 1px solid red;
邻接选择器
加号(+
)表示邻接选择器,只作用于第一个邻近的节点。
<h1>Clouded leopards</h1>
<p>Clouded leopards are cats that belong to the genus Neofelis.</p>
<p>There are two extant species: Neofelis nebulosa and Neofelis diardi.</p>
下面的 CSS 只会让第一个 <p>
的字体变为粗体:
h1 + p
font-weight: bold;
如果要作用于所有的兄弟节点,可以使用 CSS3 新提供的兄弟选择器(~
):
h1 ~ p
font-weight: bold;
以上是关于CSS进阶篇——更多选择器 (selectors)的主要内容,如果未能解决你的问题,请参考以下文章