【CSS选择器】CSS选择器有哪些?如何选择合适的使用?各类选择器的优劣势是什么?

我们所熟知的CSS选择器有:通用选择器、标签选择器、id选择器、类选择器、群主选择器、关系型选择器、伪类选择器……本文会详细展开介绍CSS选择器类型、优劣势及其运用。

CSS选择器

1.基础选择器

css选择器是css规则的一部分,由元素和声明快组成的

选择器用于告诉浏览器哪一个html标签即将被渲染

1.通用选择器

(通配符选择器)

* {

   color:red;

}

*指当前页面所有标签都应用该样式,优先级非常低,性能低

在练习中常用的使用通配符场景*

{ margin:0; padding:0 } 将所有元素的内、外间距去除

2、标签选择器

直接使用标签的名字当做选择器使用

div {

   color:red;

}

优势:快捷,选中所有标签相同的元素渲染

劣势:选择太广泛,不利于项目使用

优先级权重值为1(最低的)

3.id选择器

①先要在标签中加入id属性,使用css中的 #id名{}

②优势:非常直观的找到该元素,优先级值为100

③劣势:一般项目书写,尽量不用id选择器,具有唯一性,复用性低

4.类选择器

①类选择器需要在标签中加calss属性,样式中 .类名{ }

②类选择器复用性很高,在项目中经常使用

③优先级权重为10

2、群组选择器

①多个选择器用逗号连接,使用相同的样式

②群组选择器不限定选择器,须是同一个类型

3、关系型选择器

语法:后代选择器需要在先代选择器后加空格连接后代选择器

后代元素指的是当前标签内嵌套的所有标签

祖先选择器  后代选择器{ }

易错点:空格容易被忽略

使用场景:内部结构简单,相同标签较少时

<style>
        div,.color-red{
			color:red;
		}
</style>

<div>我要红色字体</div>
<p class="color-red">我要红色字体</p>

1.后代选择器

</style>
    .a .c {
			color:red;
		 }

</style>

<div class="a">我是最外层
	<div class="b">我是中间层
		<div class="c">我是最内层</div>
	</div>
</div>

2.子代选择器

</style>
    .a>.b>.c {
			color:red;
		 }

</style>

<div class="a">我是最外层
	<div class="b">我是中间层
		<div class="c">我是最内层</div>
	</div>
</div>

3.兄弟和相邻兄弟选择器

①兄弟选择器

兄选择器~弟选择器{ }

只能选中后面的兄弟,不能选中前面的兄弟

后面的兄弟全被选中

  不能选中兄本身

②相邻兄弟选择器

兄选择器+弟选择器{ }

 相邻兄弟选择器,指的是紧紧挨着的兄弟元素

  只选中一个相邻兄弟

		<style type="text/css">
		/* 兄弟选择器 */
		.b~li{
			color: #008000;
		}

        /* 相邻兄弟选择器 */
		.a+li{
			color: #FF0000;
		}

		</style>


		<div class="name">
			<input type="text" placeholder="用户名" id="x">
			<label for="x">用户名</label>
			<label for="x">禁止</label>
			<label for="x">*%$等符号</label>			
		</div>		
		<div class="pwd">
			<input type="text" placeholder="密码" id="y">
			<label for="y">密码</label>
			<label for="y">只能</label>
			<label for="y">使用数字</label>
		</div>

4、伪类选择器

伪类是添加到选择器的关键字,指定元素的特殊状态

①鼠标悬停

当鼠标移动到元素范围内,叠加元素样式

如果是触摸屏(无鼠标)  :hover会呈现不同效果

②点击激活

鼠标按住元素不松开,就会触发激活

.box:active{

   background-color:blue;

}

③<a></a>标签未激活的状态

.a:link{color:green;}

④<a></a>激活之后的状态

.a:visited{ color:orange;}

☆☆☆<a></a>标签的优先级:  :link > :hover > :actived > :visited

⑤获取焦点:focus获取检点的元素(如表单元素),当用户点击或触摸元素会触发。

           表单元素,输入或选择转台会触发该伪类。

另:附上伪元素,不要和伪类选择器搞混~~

1.定义

伪元素是一个附加至选择器末的关键词,允许你对被选择的元素进行指定部分的修改样式。简单说它不是一个元素,而是元素某个部分的样式

2.语法规范

::  大部分伪元素也可以使用:   尽量使用::  以区别伪类选择器

3. before

4.after

指的是元素内容最开始的位置插入,ie7以下不支持

5.content属性

必须要结合使用

		<style>
		a~a::before{
			content:">"
		}
		</style>

		<div>
			<a href="#">首页</a>
			<a href="#">学习用品</a>
			<a href="#">笔记本电脑</a>
			<a href="#">联想</a>
		</div>

以上代码效果:首页>学习用品>笔记本电脑>联想

综上:各类选择器节气用法,理解即记忆,建议多用关系型选择器~   优化代码

  • 2
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

长安梦我

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值