css有几种选择器,有什么区别?

基本选择器

1.标签选择器:直接用元素的标签来进行选择

span {   	// 直接选择span标签
	size:16px;
}

2.ID选择器:通过设置id名字,进行精确的选择,用#来定义

# div1 {	//通过id名字来进行选择
	color:red;
}
<div id="div1">1</div>

3.类选择器:通过类名来进行选择,选择范围比id选择器大,用’.'来定义

.div1 {	//所有类名为div1的都被选择了
	color:red;
}
<div id="div1">1</div>
<div id="div1">1</div>
<div id="div1">1</div>

4.通配符选择器:范围更大,作用于所有标签,用*来定义

不建议使用,对页面加载负担大

高级选择器

1.后代选择器:定义用空格隔开

div span {	//选择的是div标签下的span标签,当然后代顾名思义可以不止隔一代,可以隔多代进行选择
	color:red;
}
<div><span>1</span></div>

2.交集选择器:与后代选择器定义的不同是,没有空格隔开,两个元素紧挨着

span#a1 {	//选择的是两个条件1.既是span标签的 2.id名是a1的元素,两个条件缺一不可
	color:red;
}
<span id=“a1”>1</span>
<span >1</span>

3.并集选择器:定义用逗号隔开

span,#a1 {	//选择的是1.是span标签的 2.id名是a1的元素,两个条件满足一个即可
	color:red;
}
<span id=“a1”>1</span>
<span >1</span>

4.伪类选择器:

1.静态伪类:点击连接之前(link),点击连接之后(visited)这样的

2.动态伪类:鼠标移入(hover),点击之后(focus)这样的

3.子代选择器:用>来定义,比后代选择器的范围要窄

div>p { 	// 这里顾名思义只能选择下一级,也就是儿子那一级,下两级不能选择,因为下两级就不是儿子了是孙子,下两级后代选择器可以选择
	****
}
<div>
		<p>我是div的儿子</p>
</div>

4.序选择器:用:first-child或.first来定义,比子代选择器的范围还要窄,直接精确到子代的第几个

  • 1
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
CSS选择器是用来选择HTML文档中的元素,并对这些元素应用样式。CSS选择器有多种型,包括: 1. 元素选择器:根据元素的标签名称来选择元素,例如`p`选择器可以选择所有的`<p>`元素。 2. 选择器:根据元素的class属性的值来选择元素,例如`.red`选择器可以选择所有class属性值为`red`的元素。 3. ID选择器:根据元素的id属性的值来选择元素,例如`#header`选择器可以选择id属性值为`header`的元素。 4. 属性选择器:根据元素的属性值来选择元素,例如`[type="text"]`选择器可以选择所有`type`属性值为`text`的元素。 5. 伪选择器:根据元素在特定状态下的情况来选择元素,例如`:hover`选择器可以选择鼠标悬停在该元素上时的元素。 6. 伪元素选择器:用于向某些选择器添加一些特殊效果,例如`::before`选择器可以在元素的前面插入一个内容。 以下是一些CSS选择器的示例: ``` /* 元素选择器 */ p { color: blue; } /* 选择器 */ .red { color: red; } /* ID选择器 */ #header { font-size: 24px; } /* 属性选择器 */ [type="text"] { border: 1px solid gray; } /* 伪选择器 */ a:hover { text-decoration: underline; } /* 伪元素选择器 */ p::before { content: ">> "; } ``` 以上代码中,`p`选择器选择所有的`<p>`元素,并将它们的文本颜色设置为蓝色。`.red`选择器选择所有class属性值为`red`的元素,并将它们的文本颜色设置为红色。`#header`选择器选择id属性值为`header`的元素,并将它们的字体大小设置为24px。`[type="text"]`选择器选择所有`type`属性值为`text`的元素,并将它们的边框样式设置为1像素的灰色实线。`a:hover`选择器选择鼠标悬停在链接上的元素,并将它们的文本下划线设置为实线。`p::before`选择器向所有`<p>`元素的前面插入一个包含`>> `文本内容的元素。
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值