自学前端第十三天 : CSS复合选择器和优先级

本文详细介绍了CSS中的选择器,包括基础选择器如标签选择器、类选择器、ID选择器和通配符选择器,并重点讲解了复合选择器,如交集选择器、并集选择器、后代选择器和子代选择器。此外,文章还探讨了CSS的三大特性——层叠性、继承性和优先级,特别是优先级的计算规则和解决样式冲突的方法。
摘要由CSDN通过智能技术生成

第十天:CSS复合选择器和优先级

一.选择器综述(重点 )

(1)选择器概念: 要想将CSS样式应用于特定的HTML元素,首先需要找到该目标元素。在CSS中,执行这一任务的样式规则部分被称为选择器(选择符)。

(2)选择器作用: 选择页面标签用的

二.复习一下CSS基础选择器(五种)

1.标签选择器(元素选择器)

标签选择器是指用HTML标签名称作为选择器,按标签名称分类,为页面中某一类标签指定统一的CSS样式。其基本语法格式如下:

标签名{属性1:属性值1; 属性2:属性值2; 属性3:属性值3; }  或者
元素名{属性1:属性值1; 属性2:属性值2; 属性3:属性值3; }

标签选择器最大的优点是能快速为页面中同类型的标签统一样式,同时这也是他的缺点,不能设计差异化样式。

标签选择器 可以把某一类标签全部选择出来 div span

2.类选择器

类选择器使用“.”(英文点号)进行标识,后面紧跟类名,其基本语法格式如下:

.类名{属性1:属性值1; 属性2:属性值2; 属性3:属性值3; }
 标签调用的时候用 class=“类名”  即可。

类选择器最大的优势是可以为元素对象定义单独或相同的样式。 可以选择一个或者多个标签

命名规范

1. 命名需要是具备语义性的单词,不能用 数字 拼音 符号 
	正确示范 : wrap description title  content
	错误示范 :  aaaa a1 $we 4tdds
2. 命名需要多个单词连接的情况下, 标记语言中可以使用 _ - 进行连接 不能直接单词拼接 或者驼峰命名  注意: 书写风格必须统一 不容许出现 _ -一起使用的情况 推荐使用 -
	正确示范 :  header-nav content-left slide-bar  
	错误示范 :  headernav slideBar ContentLeft
3. 命名需要进行适当的缩写, 单词连接层级不要超过4层
	正确示范 :  head-tit_ico 
	错误示范 :  header-title-left-logo-icon

3.多类名选择器 (.melon.green这样)

我们可以给标签指定多个类名,从而达到更多的选择目的。

注意:

1. 样式显示效果跟HTML元素中的类名先后顺序没有关系,受CSS样式书写的上下顺序有关。
2. 各个类名中间用空格隔开。

多类名选择器在后期布局比较复杂的情况下,还是较多使用的。

<div class="melon green fz20">西瓜</div>
<div class="melon cyan">冬瓜</div>
<div class="melon yellow">南瓜</div>

4.id选择器

id选择器使用“#”进行标识,后面紧跟id名,其基本语法格式如下:

#id名{属性1:属性值1; 属性2:属性值2; 属性3:属性值3; }

该语法中,id名即为HTML元素的id属性值,大多数HTML元素都可以定义id属性,元素的id值是唯一的,只能对应于文档中某一个具体的元素。

用法基本和类选择器相同。

id选择器和类选择器区别

W3C标准规定,在同一个页面内,不允许有相同名字的id对象出现,但是允许相同名字的class。

类选择器(class) 好比人的名字, 是可以多次重复使用的, 比如 张伟 王伟 李伟 李娜

id选择器 好比人的身份证号码, 全中国是唯一的, 不得重复。 只能使用一次。

id选择器和类选择器最大的不同在于 使用次数上。

5.通配符选择器

通配符选择器用“*”号表示,他是所有选择器中作用范围最广的,能匹配页面中所有的元素。其基本语法格式如下:

* { 属性1:属性值1; 属性2:属性值2; 属性3:属性值3; }

例如下面的代码,使用通配符选择器定义CSS样式,清除所有HTML标记的默认边距。

* {
   
  margin: 0;                    /* 定义外边距*/
  padding: 0;                   /* 定义内边距*/
}

通配符选择器一般用于DEMO页面的统一清除默认margin 和 padding 其他地方应用很少

三.重点学习CSS复合选择器

复合选择器概述:复合选择器是由两个或多个基础选择器,通过不同的方式组合而成的,目的是为了可以选择更准确更精细的目标元素标签。

一.交集选择器(针对一个,类似java中的[类名.引用]) 不建议使用

因为只要涉及用类名的东西,最好就是用.类名的方式.不要加标签名

在这里插入图片描述

1.交集选择器由两个选择器构成,其中第一个为标签选择器,第二个为class选择器,两个选择器之间不能有空格,如h3.special。

2.记忆技巧:交集选择器。 .点是xxx的意思,和引用一样的意思进入.

比如:   p.one   选择的是: 类名为 .one  的 p段落标签去设置样式。  

二.并集选择器(针对多个,并且和的意思,集体声明)

在这里插入图片描述

1.并集选择器(CSS选择器分组)是各个选择器通过"逗号"连接而成的,任何形式的选择器(包括标签选择器、class类选择器id选择器等),都可以作为并集选择器的一部分

2.使用时机:如果某些选择器定义的样式完全相同,或部分相同,就可以利用并集选择器为它们定义相同的CSS样式。

**3.记忆技巧:**只要是有逗号隔开的,就是各顾各的并集选择器

比如: 
.one, p , #test {
   color: #F00;}  表示   .one 和 p  和 #test 这三个选择器都会执行颜色为红色。  通常用于集体声明。

再例如 
p,#a1,.p3{
    样式列表
           }    
 表示: 给标签选择器p ,id选择器 a1, 类选择器类名为p3.设置样式

4.也比较少用,因为实际很多元素CSS样式都不一样的)

三.后代选择器:(一个标签的所有子标签即所有后代都能生效)

在这里插入图片描述

1.后代选择器又称为包含选择器,用来选择元素或元素组的后代,其写法就是把外层标签写在前面,内层标签写在后面,中间用空格分隔。当标签发生嵌套时,内层标签就成为外层标签的后代。

2.注意:后代选择器的最终受益者只能是 :最末尾最终那个或哪些后代. (因此要按照顺序一个一个找好自己的后代)

4.如何读取最终后代的顺序: 看下面的html例子!!! **(如果顺序写错了, 则选择器会失效或者定位错地方!!!) **

**5.注意:后代最好不要超过3个,最多不能超过4个,否则太过冗余. **
(因此要学会灵活精准定位,如果有很多个重复表现先类名定位好某个具体的父类标签,再去找它的后代)

<!DOCTYPE html>
<html lang="zh-cn">

<head>
  <meta charset="UTF-8">
  <meta name="viewport" content="width=device-width, initial-scale=1.0">
  
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值