CSS基础二:选择器、权重

复杂选择器

  1. 父子选择器,派生选择器(有空格)
    能够表示派生关系即可,不用必须是标签选择器,能够选中所有的派生标签,包括多级派生
<div>
     <em>123</em>
     <strong>
         <em>234</em>
     </strong>
</div>
/*选中的是123和234*/
div em{
	color: greenyellow;
}
  1. 直接子元素选择器
    选择当前标签元素下的子标签,不包含多级派生的子标签
/*选中的是123*/
div > em{
	color: greenyellow;
}

ps:浏览器遍历父子选择器的顺序是自右向左。
3. 并列选择器(无空格)
可以用多个元素确认一个模块并添加样式

<div>1111</div>
<div class="manda">2222</div>
<p class="manda">3333</p>
/*选中的是2222*/
div.manda{
	background-color: darkgrey;
}

示例:选择器练习,对a添加样式

<div class="wrapper">
    <div class="content">
    	<em class="box" id="dot">a</em>
    </div>
</div>
#dot{
	background-color: greenyellow;
}

.content em{
	background-color: yellowgreen;
}

.wrapper > .content > .box {
	background-color: pink;
}

div.wrapper > div[class="conten"] > #dot.box {
	background-color: purple;
}
  1. 分组选择器
    避免冗余减少耦合
<em>2222</em>
<span>123</span>
<strong>555</strong>

要同时对以上三个标签添加样式,除了分别用标签选择器添加样式之外,可以直接对以上三个标签添加样式

/*分组选择器*/
em, 
span, 
strong {
	background-color: greenyellow;
}

权重计算

写在一行的选择器权重相加即为当前选择器的权重值

<div class="classDiv" id="idDiv">
   <p class="classP" id="idP">1</p>
</div>
/*100 + 1*/
#idDiv p{
	background-color: greenyellow;
}

/*1 +  10 + 100*/
div .classP#idP{
	background-color: purple;
}

结果显示紫色
在这里插入图片描述

一样权重大小的选择器,后定义会覆盖先定义的选择器样式

/*100 + 1 + 10*/
#idDiv p.classP{
	background-color: greenyellow;
}

/*1 +  10 + 100*/
div .classP#idP{
	background-color: pink;
}

上述示例显示结果为粉色。

属性

  1. 字体样式设置:
    font-size:设置字号高度
    font-weight:设置字号加粗
    font-style:设置斜体
    font-family:设置字体
    color:设置字体颜色
  2. border属性
    border:border-width border-style border-color;
    也可以分别设置四条边,border-left:border-top:border-right:

知识和示例来源:渡一

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
CSS选择器权重计算是通过CSS Specificity(特殊性)来确定的。在计算权重时,可以按照以下规则进行计算: 1. 选择器的特殊性由选择器本身的组成部分决定,包括元素选择器、类选择器、id选择器和内联样式。通常来说,id选择器的特殊性最高,其次是类选择器和属性选择器,再次是元素选择器。 2. 对于相同特殊性的选择器,后面出现的选择器会覆盖前面出现的选择器。 3. 使用!important声明的样式具有最高的特殊性,将覆盖其他所有的样式。 根据上述规则,可以用以下公式来计算选择器权重: - id选择器权重为1,例如#myId{} - 类选择器、属性选择器或伪类选择器权重为10,例如.class{}、[type="text"]{}、:hover{} - 元素选择器或伪元素选择器权重为100,例如div{}、::before{} - 内联样式:权重为1000,例如<div style="color:red;"> 在计算完各个选择器权重后,具体的权重比较规则是:按照权重从左到右依次比较,权重值较大的样式会覆盖权重值较小的样式。 需要注意的是,CSS权重计算只适用于冲突的样式规则。如果没有发生冲突,那么所有样式规则都会生效。 总结起来,CSS选择器权重计算是通过特殊性来确定的,特殊性由选择器本身的组成部分决定,而权重比较是按照权重从左到右依次比较的原则。这样,在编写CSS样式时,我们可以更好地控制样式的优先级。<span class="em">1</span><span class="em">2</span><span class="em">3</span> #### 引用[.reference_title] - *1* [CSS选择器权重计算(详细)](https://blog.csdn.net/weixin_44164982/article/details/107227294)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_2"}}] [.reference_item style="max-width: 50%"] - *2* *3* [CSS选择器权重计算](https://blog.csdn.net/u010297791/article/details/58602255)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_2"}}] [.reference_item style="max-width: 50%"] [ .reference_list ]

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值