CSS选择器全局归纳
这篇博客是我在b站学习狂胜说CSS时,对于CSS选择器部分进行的个人理解归纳,因为发现在测试过程中,按照狂神的代码运行有些问题,所以之后又借鉴了尚硅谷的部分教学视频进行归纳。主要包括标签选择器、类别选择器、id选择器、层次选择器(后代选择器、子选择器、相邻的兄弟选择器、通用选择器)、结构伪类选择器和属性选择器。
文章目录
- 1、选择器入门
- 2、基本选择器(重点)
- 2.1、标签选择器
- 2.2、类别选择器class
- 2.3、id选择器
- 2.4、小结
- 3、高级选择器
- 3.1、层次选择器
- 后代选择器
- 子选择器
- 相邻兄弟选择器
- 通用选择器
- 层次选择器测试实例
- 小结
- 3.2、结构伪类选择器(尚硅谷笔记)
- 3.3、属性选择器(重要且常用)
- 4、结尾
1、选择器入门
在CSS中什么是选择器呢?
我们知道CSS是对网页起到美化作用的。CSS通过控制HTML中的指定元素,让这些元素的样式变成我们想要的样子,从而使整个网页看起来赏心悦目的同时,也提高我们开发网页的效率!
程序猿编写出来的CSS样式多种多样,第一种样式的字体是宋体,第二种样式的字体是楷体,如果我们网页上有一首情诗,我们想指定第一行是宋体,第二行是楷体,我们如何实现?
CSS选择器是CSS实现对HTML页面中的元素进行一对一,一对多或者多对一的控制的工具。HTML页面中的元素就是通过CSS选择器进行控制的。
每一条CSS样式定义由两部分组成,形式如下:
[code] 选择器{
样式
}[/code]。在{}之前的部分就是选择器。选择器指明了{}中的样式的作用对象,也就是样式作用于网页中的哪些元素。
<style>p{ /*"p"就是选择器,并且是标签选择器*/font-family:Arial,宋体;}
</style>
2、基本选择器(重点)
2.1、标签选择器
标签选择器控制HTML中指定标签中的元素的样式。
格式:标签{}
例如,对< p >标签中元素的样式进行指定就用 p{}
<!DOCTYPE html>
<html lang="en">
<head><meta charset="UTF-8"><title>民国动人情话</title><style>h1{color:red;background:blue;}p{font-family:Arial,楷体}</style>
</head>
<body>
<h1>林徽因</h1>
<p>你是一树一树的花开</p>
<p>是燕在梁间呢喃</p>
<p>你是爱是暖是希望</p>
<p>你是人间的四月天</p>
</body>
</html>
标签选择器配置的样式对所有指定标签的元素内容都生效,如果我们希望在同样的标签中的元素之间样式有区别的话,标签选择器显然不能满足我们的需求。
2.2、类别选择器class
我们可以将HTML中的元素进行分类,对于被划分为同一个类别的元素,它们的样式应该是相同的,不论标签被定义的样式如何。
格式:.类名{}
例如:.class01{}
<head><meta charset="UTF-8"><title>Title</title><style>.class01{color:red}.class02{color:blue}.class03{color:green}</style>
</head>
<body>
<p class="class01">Java从入门到精通<p>
<p class="class02">Python从入门到精通</p>
<p class="class03">C#从入门到精通</p>
</body>
类别选择器能够指定一个类别的元素都是同一个样式,但是如果我们需要让HTML中某一个单独的元素,有它独特的样式,id选择器比类别选择器更符合我们的需要。
2.3、id选择器
id选择器是CSS实现对HTML元素一对一或者多对一的重要选择器。我们通过对元素指定id,再对这个id编写单独的样式。
id必须全局唯一!
格式:#id名 {}
例如:#para1 {}
<head><meta charset="UTF-8"><title>Title</title><style>#para1{color: red;}.class01{color: green;}</style>
</head>
<body><h1 id="para1" class="class01">Java从入门到精通</h1><h1 class="class01">Java从入门到精通</h1>
</body>
2.4、小结
CSS的基本选择器有如下三种:
- 标签选择器
- 类别选择器class
- id选择器
基本选择器的优先级是固定的:id选择器的优先级最高,标签选择器的优先级最低。
id选择器实现了CSS对HTML元素一对一的控制;
标签选择器和类别选择器实现类CSS对HTML元素一对多的控制;
id选择器搭配上标签选择器和类别选择器可以实现CSS对HTML元素多对一的控制,比如类别选择器指定元素A的背景颜色是灰色,字体是黑体,id选择器可以指定元素A的字体大小是20px。(如果类别选择器指定了字体大小,id选择器会覆盖类别选择指定的字体大小样式)
除此之外,如果HTML网页中某个元素独霸了一个类别选择器,那么我们可以理解为类别选择器也能够实现CSS对HTML元素一对一的控制!
3、高级选择器
3.1、层次选择器
层次选择器又分为以下4种:
- 后代选择器
- 子代选择器
- 相邻的兄弟选择器
- 通用选择器
**什么是层次?**假设我们手上有10本书,那么每一本书是一个层次,书的每一页又是一个层次,每一页的每一个段落也是一个层次……
联系生活中的辈分,爷爷奶奶是一个辈分,爸爸妈妈是一个辈分,我们是一个辈分。我们可以用“辈分”这个词来理解“层次”这个词。
后代选择器
在某个元素的后面 祖爷爷->爷爷->爸爸->你
<style>/*语法 body p{}*/body p{background:red;}
</style>
body p{}这个语法可以理解为,body层级后所有p标签的元素都执行{}中的样式。
子选择器
只控制下一代,body>p就只控制body层级下的p标签
<style>/*语法 body>p{}*/body>p{color:red;}
</style>
相邻兄弟选择器
选择相邻的、同层级的指定标签元素(同辈)
<style>/*语法 .active+p{}*/.active+p{background:red;}
</style>
<body><p class="active">p1</p>
</body>
通用选择器
通用选择器选择同层级的下面的所有元素
<style>/*语法 .active~p{}*/background:red;
</style>
<body><p class="class">p1</p>
</body>
层次选择器测试实例
<!DOCTYPE html>
<html lang="en">
<head><meta charset="UTF-8"><title>Title</title><style>/*后代选择器*/body div{color:red;/*我爷爷到我这一代应该都是红色的字体*/}/*子代选择器*/div > span{color: blue;/*我爸这一辈应该都是蓝色的字体*/}/*兄弟选择器*/.myself + span{color: orange;/*我兄弟应该是橘黄色的字体*/}/*通用选择器*/.sister + span{color: brown;/*我老妹之后的同辈份都是棕色的字体*/}</style>
</head>
<body><!--父元素-直接包含子元素的元素叫做父元素子元素-直接被父元素包含的元素是子元素祖先元素-直接或间接包含后代元素的元素叫做祖先元素-一个元素的父元素也是它的祖先元素后代元素-直接或间接被祖先元素包含的元素叫做后代元素-子元素也是后代元素兄弟元素-拥有相同父元素的元素是兄弟元素--><div>我爷爷<p>我爸<span class="myself">我</span><span>我兄弟</span><span class="sister">我老妹</span><span>我表妹</span></p><span>我爸的兄弟</span></div><div>我爷爷的兄弟</div>
</body>
</html>
小结
层次选择器分为以下4类:
- 后代选择器 语法:父层级名 标签名{}
- 子代选择器 语法: 父层级名>标签名{}
- 相邻兄弟选择器 语法: .类名 +标签名{}
- 通用选择器 语法:.类名~标签名{}
所有选择器的作用域都是指定层级元素之后的HTML元素。
3.2、结构伪类选择器(尚硅谷笔记)
伪类是不存在的类,特殊的类。伪类用来描述一个元素的特殊状态。比如:第一个子元素、被鼠标点击的元素、鼠标移入的元素。
伪类一般情况下都是使用 : 开头
伪类有如下几个种类:
1.:first-child 第一个子元素
2.:last-child 最后一个子元素
3.:nth-child(int n) 选中第n个子元素这个伪类有特殊值的情况:直接输入“n” 就是选中第n个元素输入“2n”或者“even” 表示选中偶数位的所有元素输入“2n+1”或者“odd” 表示选中奇数位的所有元素
4.:first-of-type
5.:last-of-type
6.:nth-of-type()
特别注意:前三种伪类都是根据所有的子元素进行排序的。比如:
ul > li:first-child 指的是ul中的第一个子元素,如果ul中是这样的结构:<ul><span></span><li></li><li></li></ul>
那么first-child指的是<span>元素,这时显示出来的结果就不会是我们预想的那样。
而后三种伪类的功能和前三种类似,不同点就在于他们是在同类型元素中进行排序,first-chile指的是第一个 < li ></ li >
测试实例:
<!DOCTYPE html>
<html lang="en">
<head><meta charset="UTF-8"><title>Title</title><style>/*第一个子元素设置为红色*/ul > li:first-child{color: red;}/*最后一个子元素设置为蓝色*/ul > li:first-child{color: blue;}/*设置第3个元素为绿色*/ul > li:nth-child(3){color: green;}ol > li:first-of-type{color: red;}ol > li:last-of-type{color: blue;}ol > li:nth-of-type(2){color: brown;}</style>
</head>
<body><ul><li>第一个</li><li>第二个</li><li>第三个</li><li>第四个</li><li>第五个</li></ul><ol><span>第0个</span><li>第1个</li><li>第2个</li><li>第3个</li></ol>
</body>
</html>
3.3、属性选择器(重要且常用)
具有特定属性的HTML元素样式不仅仅有id和class选择器,还有属性选择器。
属性选择器根据元素的属性来定义样式,标签中如class,id,type,href等等均是元素的属性。【attr = value】
<!DOCTYPE html>
<html lang="en">
<head><meta charset="UTF-8"><title>Title</title><style>/*第一种:[属性名] 选择含有指定属性的元素第二种:[属性名=属性值] 选择含有指定属性和属性值的元素第三种:[属性名^=属性值] 选择属性值以指定值开头的元素第四种:[属性名$=属性值] 选择属性值以指定值结尾的元素第五种:[属性名*=属性值] 选择属性值中含有某值的元素的元素*/p[title=abc]{color: orange;}p[title$=hello]{color: gray;}</style>
</head>
<body><p title="abc">床前明月光</p><p title="hello">疑是地上霜</p><p>举头望明月</p><p>低头思故乡</p>
</body>
</html>
4、结尾
我的目标是成为Java后端工程师,因此,站在后端开发的角度,我觉得重点掌握id、class和属性选择器就可以了。其它的选择器了解即可,只要知道存在,需要的时候再翻笔记。
如果博客中出现了错误的地方,欢迎读者指正!
CSS选择器全局归纳相关推荐
- html中井号的作用,html5 css选择器 井号, 句点的区别
一.理解CSS的样式组成CSS里的样式表是有规则组成的,每条规则有三个部分组成: 1.选择器(如下面例子中的:"body"),告诉浏览器文档的哪个部分受规则影响: 2.属性(如实例 ...
- CSS 选择器:BeautifulSoup4解析器
和 lxml 一样,Beautiful Soup 也是一个HTML/XML的解析器,主要的功能也是如何解析和提取 HTML/XML 数据. lxml 只会局部遍历,而Beautiful Soup 是基 ...
- CSS选择器的声明与嵌套
CSS选择器的声明与嵌套 使用CSS选择器控制HTML标记的时候,每个选择器的属性可以一次声明多个,选择器本身也可以同时声明多个. 并且,任何形式的选择器,都是合法的,标记选择器,class选择器和I ...
- css a标签去掉下划线_这30个CSS选择器,你必须熟记(上)
CSS的魅力就是让我们前端工程师像设计师一样进行网页的设计,我们能轻而易举的改变颜色.布局.制作出漂亮的阴影效果等等,我们只需要改几行代码,不需要借助任何软件,就能轻而易举的实现,感觉就像魔法师一般, ...
- HTML+CSS+JavaScript复习笔记持更(五)——CSS选择器
CSS选择器 在一个页面中,必不可少的就是css样式,css样式全都写在style标签中,在使用css时,我们可以用的css选择器非常之多,所以css选择器的分类也很多,但是基本上可以统计分为两类:基 ...
- Web前端开发笔记——第三章 CSS语言 第二节 CSS选择器
目录 前言 一.CSS选择器 (一)标签选择器 (二)id选择器 (三)类别选择器 二.针对标签的选择器嵌套 三.集体声明和全局声明 (一)集体声明 (二)全局声明 结语 前言 CSS代码由选择器和一 ...
- CSS 选择器优先级与效率优化
CSS选择器优先级与效率优化 Date: 7th of Aug, 2015 Author: HaoyCn 本文收集网上各处关于CSS选择器的文章总结,并自己归纳一篇. 各类选择器的优先级 import ...
- 我对CSS选择器的认识
我对CSS选择器的认识 一.简述 CSS选择器是对HTML元素进行选择的筛选条件,大概可以分为两类: 特征选择器--根据元素自身所具有的某种特征进行筛选,比如名称.ID.属性等: 关系选择器--根据元 ...
- CSS 选择器权重计算规则
CSS 选择器(Selector)的权重(Specificity)决定了对于同一元素,到底哪一条 CSS 规则会生效.且仅有当多条 CSS 规则都对同一元素声明了相应样式时,才会涉及到权重计算的问题. ...
最新文章
- Linux下关机、重启
- 3.1.3 操作系统覆盖技术与交换技术的思想
- 相同字符串的string对象不等
- 2013年广西计算机二级c语言试题及答案,2013年计算机二级C语言上机模拟试题及答案...
- 华为数通设备配置导出
- ORACLE11gR2安装XDB
- 中航信Eterm协议解析,解包,封包源码
- Element 表格序号问题
- 几个简约Jekyll主题推荐
- Linux下查看输入设备、获取输入事件的详细方法
- 用Python代码来下载任意指定网易云歌曲
- JSP+SQL基于JSP的学生信息管理系统(源代码+论文+答辩PPT)
- DWD层 (业务数据 二)
- SQLserver2000服务点启动服务没反应,无法启动,解决办法
- NB-IoT贴片式SIM卡引脚定义和尺寸
- “颜值不凡•智在其中” 原来你是这样的荣耀10
- 教改论文 计算机,大学计算机教育教改论文.docx
- 专访阿里云资深技术专家黄省江:中国SaaS公司的成功之路
- 远程无法连接svn服务器失败_svn本地连接服务器失败,但是浏览器可以
- cad面积累计lisp怎么用_求一个cad的lisp:一次计算多个封闭线框的面积,并显示每个面积和总面积。...