在CSS中,模式(pattern)匹配规则决定那种样式规则应用于文档树(document tree)的哪个元素。这些模式叫着选择符(selector)。 一条CSS规则(rule)是选择器{属性:值;属性:值;}(selector {property:value;property1:value2;}),即选择符决定了{}中的声明(declaration)匹配哪个元素。

在CSS2.1中的选择符语法见下图,由语法形成了各种选择符。

Pattern

Meaning

Described in section

*

Matches any element.

Universal selector

E

Matches any E element (i.e., an element of type E).

E F

Matches any F element that is a descendant of an E element.

E > F

Matches any F element that is a child of an element E.

E:first-child

Matches element E when E is the first child of its parent.

E:link

E:visited

Matches element E if E is the source anchor of a hyperlink of which the target is not yet visited (:link) or already visited (:visited).

E:active

E:hover

E:focus

Matches E during certain user actions.

E:lang(c)

Matches element of type E if it is in (human) language c (the document language specifies how language is determined).

E + F

Matches any F element immediately preceded by a sibling element E.

E[foo]

Matches any E element with the “foo” attribute set (whatever the value).

E[foo=”warning”]

Matches any E element whose “foo” attribute value is exactly equal to “warning”.

E[foo~=”warning”]

Matches any E element whose “foo” attribute value is a list of space-separated values, one of which is exactly equal to “warning”.

E[lang|=”en”]

Matches any E element whose “lang” attribute has a hyphen-separated list of values beginning (from the left) with “en”.

DIV.warning

Language specific. (In HTML, the same as DIV[class~=”warning”].)

E#myid

Matches any E element with ID equal to “myid”.

类:在HTML中当表现class属性的时候,人们可以用点(.)号来作为~=号的一个替代选择,所以div.value等同于 div[class~=value]。此时.value只能严格的应用于HTML中的class属性,所以此类选择符叫类选择符。

在CSS2.1中样式通常依附与一个元素在文档树中的位置,这个简单的模型对于许多情况来说是足够的,但是一些常见的版式状态不能应用于文档树 的结构。例如,在HTML中,没有元素能够引用一个段落的第一行,所以也没有简单的CSS选择符应用它。

所以,CSS引进了伪类(pseudo-class)和伪元素(pseudo-element)来允许基于文档树意外信息的格式化。

伪类:伪类对元素进行分类是基于特征(characteristics)而不是它们的名字、属性或者内容;原则上特征是不可以从文档树上推断得 到的。在感觉上伪类可以是动态的,当用户和文档进行交互的时候一个元素可以获取或者失去一个伪类。例外的是”:first-child”能通过文档树推断 出来,”:lang”在一些情况下也在从文档树中推断出来。

伪类有::first-child ,:link:,vistited,:hover:,active:focus,:lang

伪元素:伪元素是创造关于文档语言能够指定的文档树之外的抽象。例如文档语言不能提供访问元素内容第一字或者第一行的机制。伪元素允许设计师引 用它们,否则这是难以办到的。伪元素还提供样式设计师给在源文档中不存在的内容分配样式(例如::before和:after能够访问产生的内容)。

伪元素有::first-line,:first-letter,:before,:after (在苏沈小雨编的CSS2.0中文手册中把:first-line,:first-letter列为伪类应该是理解上的错误)

伪类和伪元素都不出现在源文件和文档树中。

总结上面可以知道:

类选择器可以看着属性选择器在HTML应用中的一种快捷方式,从逻辑和功能上理解有传统类的含义,其被HTML元素预定义的属性class引 用,所以叫着类选择器。

伪类可以独立于文档的元素来分配样式,且可以分配给任何元素,逻辑上和功能上类类似,但是其是预定义的、不存在于文档树中且表达方式也不同,所 以叫伪类。

伪元素所控制的内容和一个元素控制的内容一样,但是伪元素不存在于文档树中,不是真正的元素,所以叫伪元素。

Refer:http://www.w3.org/TR/CSS21/selector.html

php中的css类怎么查找,CSS 样式表中的类和伪类相关推荐

  1. 配置 postCSS 自动添加 css 的兼容前缀||打包样式表中的图片和字体文件||打包处理 js 文件中的高级语法

    配置 postCSS 自动添加 css 的兼容前缀 ① 运行 npm i postcss-loader autoprefixer -D 命令 ② 在项目根目录中创建 postcss 的配置文件 pos ...

  2. css样式表中的样式覆盖顺序(转)

    有时候在写CSS的过程中,某些限制总是不起作用,这就涉及了CSS样式覆盖的问题,如下 Css代码   #navigator { height: 100%; width: 200; position:  ...

  3. CSS样式内联选择器选择器优先级伪类顺序

    日期:2020-10-02 作者:19届WY 标签:CSS选择器相关内容 一.html简介&CSS简介 == html简介 : 结构:决定网页的结构及内容,即"显示哪些内容" ...

  4. div html表格样式设置字体大小,css样式表中如何修改字体大小为18px?

    css样式表中如何修改字体大小为18px?下面本篇文章给大家介绍一下.有一定的参考价值,有需要的朋友可以参考一下,希望对大家有所帮助. css样式表中如何修改字体大小为18px? 在css样式表中可以 ...

  5. Css样式表中:margin、paddi…

    原文地址:Css样式表中:margin.padding和border 作者:相淋 样式表的精髓:margin和padding和border 一.padding 我们可以把加过样式表的HTML标记看成是 ...

  6. oracle查询一列汇总,【学习笔记】Oracle数据筛选 查找oracle所有表中的特定列中的某些数据...

    天萃荷净 开发DBA反映,根据需求需要查找Oracle数据库中所有表中特定的列中指定的关键词的数据,和数据内容和数量 找出数据库中所有表表中REMARK列中含有WN.wind.wlr中表名和数量 de ...

  7. Oracle 查找并删除表中的重复记录

    案例:一个应用表中的一个字段是主键,向表中插入数据时,先把数据放在临时表中(没有主键)然后再插入应用表. 这时候如果临时表中有重复数据,无论是主键字段businessid有重复,还是一整行有重复都会报 ...

  8. webpack加载器打包样式表中的图片和字体

    前言 index.html代码 <!DOCTYPE html> <html lang="en"> <head><meta charset= ...

  9. 如何在Web用户控件中引用样式表中的样式

    如何在Web用户控件中引用样式表中的样式 <%@ Control Language="C#" AutoEventWireup="true" CodeFil ...

  10. 【唠叨两句】如何将一张树型结构的Excel表格中的数据导入到多张数据库表中...

    小弟昨天遇到一个相对比较棘手的问题,就像标题说的那样.如何将一张树型结构的Excel表格中的数据导入到多张数据库表中,在现实中实际是七张数据库表,这七张表之间有着有着相对比较复杂的主外键关系,对于我这 ...

最新文章

  1. ELK教程1:ElasticSearch集群的部署
  2. SAP MM Movement Type 503的使用
  3. 软银千亿美元愿景基金PPT,孙正义解读股权投资IRR=44%
  4. Google Guice使用入门
  5. tclsh 遍历列表_Tcl / Tk 大全
  6. vmware安装mac终于成功
  7. 将jar添加到发布目录_第32批免购置税新能源车型目录发布;通用BEV3平台将入华...
  8. 判断回文(Java和JavaScript)
  9. Ubuntu 16.04下用Wine运行的软件出现方块的解决思路(应该是兼容现在所有平台的Wine碰到这个的问题)
  10. docker 修改启动命令_Docker映射详解,没问题了!
  11. 怎样查找共享文件_计算机操作系统学习笔记(五):文件管理
  12. HTML点击头像修改页面,头像修改页.html
  13. java可以编辑 cad吗_MiniCAD 简单的java画图,能画圆、直线、矩形,还能移动,修改颜色等 Develop 238万源代码下载- www.pudn.com...
  14. 苹果真伪查询_拆解报告:山寨版苹果AirPods Pro
  15. 【小程序】安卓端InnerAudioContext无法销毁
  16. python汉语词频统计_Python之四大名著汉字词频统计
  17. java word水印
  18. FileZilla文件下载的目录
  19. 浅谈快速开发平台:突破系统开发边界,赋能企业数字化!
  20. Javascript代码用YC_jsRun()函数执行Javascript文件

热门文章

  1. Python爬虫--- 1.2 BS4库的安装与使用
  2. Azure下通过Powreshell批量添加、删除VM终结点
  3. 面向对象的写法,见到就添,持续更新。。。
  4. 解决Error: Protected multilib versions:
  5. 使用Regsvr32命令修复系统故障
  6. python123第七周小测验_python+request+untitest的接口自动化测试
  7. ie浏览器打开aspx文件乱码_ie浏览器下载文件时文件名乱码
  8. python 选择文件对话框插件_[ PyQt入门教程 ] PyQt5基本控件使用:消息弹出、用户输入、文件/目录选择对话框...
  9. mysql 数据库连接不够_(二):MySQL数据库连接不够用(TooManyConnections)问题的一次分析和解决案例...
  10. STN可以增强CNN网络