css选择器

本文介绍了CSS中不同类型的选取器,包括标签选择器、类选择器、ID选择器和通用选择器,以及它们的使用方法和示例。同时,还详细讲解了层次选择器,如后代、子代、兄弟选择器和结构选择器,帮助理解CSS如何精准定位和样式化网页元素。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

标签选择器

标签选择器就是元素自身,定义时直接使用元素标签名称。如定义段落样式,可以选择p元素的名称,即把p作为选择器。

格式:标签名{}

p{color:green;}

 

类名选择器

类选择器也称自定义选择器,使用元素的class属性值为一组元素指定样式,类选择器必须在元素的class属性值前加“.”

.center{text-align:center}

 如果应用在下面的HTML代码中,h1和p元素都有center类,这意味着两者都将遵守.center选择器中的规则。

<h1 class="center">这个标题将被居中</h1>
<p class="center">这个段落也将被居中</p>

 

id选择器

id选择器使用元素的id属性值为元素指定样式,id选择器必须在元素的id属性值前加“#”。

#red{color:red;}
#green{color:green;}

在下面的HTML代码中,id属性为red的p元素显示为红色,而id属性为green的p元素显示为绿色

<p id="red">这个段落是红色。</p>
<p id="green">这个段落是绿色。</p>

通用选择器

通用选择器是一种特殊的选择器,用“*”表示,CSS中的通用选择器与Windows通配符“*”具有相似的功能,可以定义所有元素的样式。

*{font-size:12px; /*<定义文档中所有字体大小为12像素>*/}

 上面的样式将会影响文档中所有元素,即文档中所有字体大小都被定义为12像素。使用通用选择器时要慎重,一般常用于定义文档中各种元素的共同属性,如字号、字体等。

 优先级:!important>行内样式>id>类>标签>*

层次选择器

后代

标签1 标签2{} :选中标签1里面的标签2

在下面代码中,希望列表中的strong元素变为斜体字,而不是默认的粗体字。

<p><strong>粗体字</strong></p>
<ol>
  <li><strong>斜体字</strong></li>
  <li>正常字体</li>
</ol>


可以定义如下派生选择器,这样只有li元素中的strong元素样式为斜体字。
 

li strong{font-style:italic;font-weight:normal;}

 

子代

子元素选择器只能选择作为某元素的子元素声明样式,子选择器使用“>”号。

标签1>标签2:选中标签1中的子代标签2

如希望选择只作为h1元素的子元素strong,可以这样写:

h1>strong{color:red;}


这个规则会把下面代码中第一个h1下面的strong元素变为红色,但是第二个strong不受影响。
 

<h1>这是<strong>非常</strong>重要的</h1>
<h1>这个<em>已经<strong>非常</strong></em>重要了</h1>

 

后代可以包含子代,子代只能是父元素的第一层

 

 兄弟 

元素1+元素2:选中元素1后面第一个相邻的兄弟元素2

增加紧接在h1元素后出现的段落的上边距

h1+p{margin-top:50px;}


元素1~元素2:选中元素1后面所有的兄弟元素2

增加h1元素后所有的段落的上边距

h1~p{margin-top:50px;}

结构选择器

选择器1 选择器2:first-child
在选择器1中选择第一个元素,并且该元素与选择器2选中的元素相同

ul li:first-child {color: pink; } 

 选中ul里的第一个元素,而且这个元素是li,把颜色变成粉色 ,lorem1变成粉色

<ul>
        <li>lorem1</li>
        <li>lorem2</li>
        <li>lorem3</li>
        
</ul>


选择器1 选择器2:first-of-type
在选择器1中选中所有的同级别的选择器2选中的元素,再找第一个出现的元素2

ul li:first-of-type {color: pink;} 

选中ul里的所有li元素,然后把第一个变成粉色 。lorem1变成粉色

<ul>
        <h2>结构选择器</h2>
        <li>lorem1</li>
        <li>lorem2</li>
        <li>lorem3</li>
        
</ul>


选择器1 选择器2:last-child
在选择器1中选择最后一个元素,并且该元素与选择器2选中的元素相同

ul li:last-child {color: pink;} 

选中ul里的最后一个元素,而且这个元素是li,把颜色变成粉色 ,lorem3变成粉色 

<ul>
        <li>lorem1</li>
        <li>lorem2</li>
        <li>lorem3</li>
        
</ul>


选择器1 选择器2:last-of-type
在选择器1中选中所有的同级别的选择器2选中的元素,再找第一个出现的元素2

ul li:last-of-type {color: pink;} 

选中ul里的所有li元素,然后把最后一个变成粉色 。lorem3变成粉色

<ul>
        <li>lorem1</li>
        <li>lorem2</li>
        <li>lorem3</li>
        <h2>结构选择器</h2>
</ul>


选择器1>选择器2:nth-child(num)
在选择器1中选择第num个元素,并且该元素与选择器2选中的元素相同

ul>li:nth-child(2) {color: pink;} 

选中ul里的第二个元素,而且这个元素是li,把颜色变成粉色 ,lorem2变成粉色 

<ul>
        <li>lorem1</li>
        <li>lorem2</li>
        <li>lorem3</li>
        
</ul>


选择器1>选择器2:nth-of-typr(num)
在选择器1中的使用选择器2选中元素,再找第num个出现的元素

ul>li:nth-of-typr(2) {color: pink;} 

 选中ul里的所有li元素,然后把第二个变成粉色 。lorem2变成粉色

<ul>
        <li>lorem1</li>
        <h2>结构选择器</h2>
        <li>lorem2</li>
        <li>lorem3</li>
        
</ul>


选择器:not(条件)
除了符合条件的选择器选中的其他元素

ul>li:not(:nth-child(3)){color: pink;}

除了第三个li元素其他li元素都变粉色

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值