一、什么是css选择器

在内嵌式和外部css中,要想将 CSS 样式应用于特定的 HTML 元素,首先需要找到该目标元素,这时需要用到 CSS 中的选择器。 所以选择器就是,选择要添加样式的 HTML 标签的一种方法、模式。

二、css2.1 版本的选择器

css2.1版本有七种选择器

基础选择器:标签选择器、id 选择器、类选择器、通配符选择器。

高级选择器:后代选择器、交集选择器、并集选择器。

1.基础选择器之标签选择器(元素选择器)

通过标签名去选择标签元素。

书写方式:直接写一个标签名。

选择范围:选中的是HTML文件中所有的同名标签。

注意:标签选择器可以选择所有的同名标签,会忽视 HTML 元素的嵌套关系,不管嵌套多深,都能被选中。

标签选择器的特点:

优点:可以选中所有的同名标签,设置所有同名标签的公共样式。

缺点:只能实现全选,不能对局部的标签添加特殊样式。

示例:

2.基础选择器之id选择器

通过标签上的 id 属性去选择标签。

书写方式:#id 属性值

选择范围:只能选中一个标签。

id 命名规则:必须以字母开头,后面可以有字母、数字、下划线、横线,严格区分大小写。每个 id 属性值必须是唯一的,不能与其他的 id 同名。

注意:如果希望多个标签设置相同的样式,使用id选择器的话,必须给这多个标签取不同的 id 名,分别选中设置。

id选择器的缺点:id 选择器只能实现单选,不能帮我们完成多选的功能。因为id是唯一的。

示例:

3.基础选择器之类选择器

通过标签的 class 属性去选择标签。

书写方式:.class属性值

选择范围:是页面中所有 class 属性值相同的标签。

class 命名规则:必须以字母开头,后面可以有字母、数字、下划线、横线,严格区分大小写。class 属性值可以与其他的class相同。

类选择器特点:

特点 1:多个不同的标签,不区分标签类型,只要 class 属性值相同,都可以被同一个类选择器选中。

特点 2:一个标签的 class 属性可以有多个属性值,值之间用空格分隔,每个属性值组成的选择器,都可以选中这一个标签,每个选择器后面的样式都会添加给同一个标签。

1.类选择器的特殊应用:

原子类:在css中提前设置一些类名,每个类选择器后面只添加一条css样式属性,这些属性会在页面中常被使用,后期可以不需要多次书写属性,只要将对应的类名添加给需要的标签即可。

 <style>.fs12{font-size: 12px;}.fs20{font-size: 20px;}
</style>

类选择器的优点:

①通过一个类选择器进行多选,选中多个标签,添加公共样式。②一个标签可以被多个类选择器选中,可以将所有样式进行分离,分别提取公共样式和单独样式,节省代码量。实际工作中,通常我们有一个使用规律:类上样式(CSS),id 上行为(JavaScript)。

类选择器和id选择器对比

4.基础选择器之通配符选择器

通过一个特殊符号选择页面内所有的标签。

书写方式:* (一个星号)

选择择范围:包含 <html>标签在内的所有标签。

同配符的特点和应用:

优点:可以实现全选,简化书写。

缺点:通配符选择效率低,设置的部分公共样式不是所有标签都需要添加,如果使用通配符选择,会让不需要的标签也加载一次样式,导致浏览器多做无用的工作。

注意:实际上线的网站不允许使用 * 去清除默认内外边距。

不过普通的案例,代码量较少时,为了节省书写,可以使用通配符。

示例:

 <style>*{font-size: 20px;font-family: Arial, Helvetica, sans-serif;}
</style>

5.高级选择器之后代选择器

由于基础选择器不能实现所有选择情况,后期在基础选择器的基础上衍生出了几种高级选择器。高级选择器的组成部分是基础选择器。

通过标签之间存的嵌套关系(族谱关系)去选择元素,基本组成部分就是基础选择器。

后代选择器也叫包含选择器。

书写方式:空格表示后代,基础选择器中间使用空格分隔,空格前面的选择器选中的标签必须是后面选择器选中标签的祖先级。

选择范围:通过后代选择器中前面的一系列基础选择器缩小选择范围,最终由最后一个选择器确定选中的标签。

注意:后代选择器必须满足所有的后代关系才能够被选中,后代关系不一定只能是父子关系。

后代选择器的优点:减少 class 属性的定义使用,选择效率更高。

示例:

6.高级选择器之交集选择器

通过一个标签之上满足所有的基础选择器的需求去选择标签。

书写方式:基础选择器进行连续书写,如果有标签选择器参与交集,必须书写在开头。

选择范围:选择的是满足所有基础选择器需求的标签,如果一个条件不满足都不能被选中。

比较常见的是标签与类的交集。

注意:1.交集选择器可以进行类名的连续交集,需要满足更多的条件才能选中标签。

2.IE6 不支持类名连续交集写法。 3.交集选择器可以作为其他高级选择器的组成部分。

7.高级选择器之并集选择器(又叫群组选择器)

不同选择器选中的元素都要设置相同的样式,多次书写相同的样式属性对代码造成浪费,可以将前面六种选择器可以进行并集书写,相当于一种简化写法。

书写方式:将多个选择器中间用逗号进行分隔,最后一个后面不能加逗号。

选择范围:是所有的单独选择器选中的标签的并集集合。

并集选择器用途:

①如果多个标签具有公共样式,但是不能用一个选择器选中,可以使用并集写法。

②可以使用标签选择器的并集写法,进行默认样式的清除,替换通配符的功能。

(4)css2.1选择器相关推荐

  1. 基础:CSS3选择器详解

    CSS选择器 标签选择器 作用:根据指定的标签名称, 在当前界面中找到所有该名称的标签, 然后设置属性. <style>/* 标签选择器 */div {color: aqua;font-s ...

  2. nth-child选择器

    选择器 描述 ul li:first-child 选中ul父元素中的第一个li子元素 ul li:last-child 选中ul父元素中的最后一个子元素 ul li:nth-child(n) 选中ul ...

  3. CSS3 选择器——笔记+实战案例(基本选择器、组合选择器、属性选择器、伪类选择器)...

    使用CSS3 选择器--笔记 CSS通过选择器控制HTML元素,CSS选择器对网页对象可以实现一对一.一对多或者多对一的匹配. 一.CSS3选择器分类 CSS选择器在CSS2.1选择器的基础上新增了属 ...

  4. php周计划表_PHP学习计划书

    PHP 基础( 6-7 周) 参考帮助文档进行查找.学习.运用 参考书籍: HTML . XHTML 和 CSS 宝典(第五版) XHTML 技术( 3-4 周) XHTML 基础: XHTML 标准 ...

  5. HTML5和css3的总结

    简单的罗列一个HTML5的新东西,以后的几天里详细的过一遍 一个挺有用的网站:www.css88.com [H5的新标签] 用之前的标签完全可以代替的:header footer aside atri ...

  6. Qt样式表之二:QSS语法及常用样式

    一.简述 Qt样式表(以下统称QSS)的术语和语法规则几乎和CSS相同.如果你熟悉CSS,可以快速浏览以下内容.不熟悉的话可以先去W3School - CSS或者本人的CSS博客随笔简单了解一下. 在 ...

  7. html笔记(三)html5+css3(html5、css3、文字相关)

    W3school在线教程 html5+css3基本不兼容ie678. 大标题 小节 一.html5 1. html4 和 html5 的区别 2. 标签语义化 3. 智能表单的使用和规范 二.css3 ...

  8. 你应该知道的一些事情——CSS权重

    本文由99根据Vitaly Friedman的<CSS Specificity: Things You Should Know >所译,整个译文带有我们自己的理解与思想,如果译得不好或不对 ...

  9. CSS超过指定的宽度加省略号

    /*table-layout:fixed 会使表格均等分*/ #TreeView1 table{width:290px;table-layout: fixed;} #TreeView1 td:firs ...

最新文章

  1. [置顶] export命令-linux
  2. python怎么创建变量_python怎么创建变量
  3. 12面魔方公式图解法_一位建筑工程师:多年渴望就是学会魔方还原,只按这七步就可以!...
  4. 利用深度学习自动补全 Python 代码,这个开源项目有点牛逼
  5. 【STL记录】Containers--Lists
  6. linux拷贝数据库文件夹,手工拷贝数据库文件建立新的数据库实例过程
  7. java开源问卷调查系统源码_高效实用!开源调研问卷系统 DWSurvey,基于 JAVA WEB 开发...
  8. 【目录】吴恩达深度学习
  9. 怎么用python移动文件夹
  10. k8s免fq下载镜像
  11. 培养创造性思维的20个技巧!
  12. 智慧工地管理平台系统赋能建筑企业数字化管理
  13. 洛谷 P1551 亲戚
  14. vuetify calendar实现日历考勤
  15. elasticsearch7.0.1集群搭建(最后有ES6.7的配置)
  16. 浪潮服务器nf5270m5做raid_一文读懂服务器centos7.0安装指导指南(详细)
  17. 计算机音乐童话,童话故事背景音乐
  18. Flask Web开发入门(一)之简单的登录验证
  19. 勒索变种有不变的特征吗?有相应的防护手段吗?
  20. 国内市场主流音视频产品主要功能分析

热门文章

  1. # RSA 公钥加密算法
  2. Memcached命令-存储命令-查找命令-清理命令
  3. Oracle Partition By 的使用
  4. java 空心菱形
  5. 如何迅速掌握并提高linux运维技能
  6. NetJavaScriptFlex
  7. SQL Server相关知识
  8. 设置servlet或action作为欢迎页面
  9. 签名(Signature)认证实现方式-用于请求鉴权
  10. 如何优雅的处理Restful