码迷,mamicode.com
首页 > Web开发 > 详细

CSS3选择器

时间:2018-07-08 23:11:52      阅读:1042      评论:0      收藏:0      [点我收藏+]

标签:pen   选中   决定   表达式   回顾   权重   一个   状态   child   

基本选择器

  • 回顾选择器
    • 通配符选择器
    • 元素选择器
    • 类选择器
    • ID选择器
    • 后代选择器
  • 新增基本选择器
    • 子元素选择器
    • 相邻兄弟选择器
    • 通用兄弟选择器
    • 群组选择器

子元素选择器

概念:子元素选择器只能选择某元素的子元素

语法:父元素 > 子元素 (Father>Children)

兼容性:IE8+、Firefox、Chrome、Safari、Opera

相邻兄弟元素选择器

概念:相邻兄弟选择器可以选择紧接在另一个元素后的元素,而且她们具有同一个相同的父元素

语法格式:元素 + 兄弟相邻元素 (Element + Sibling)

兼容性:IE8+、Firefox、Chrome、Safari、Opera

通用兄弟选择器

概念:选择某元素后面的所有兄弟元素,而且他们具有一个相同的父元素

语法格式:元素 ~ 后面所有兄弟相邻元素 (Element ~ Siblings)

兼容性:IE8+、Firefox、Chrome、Safari、Opera

群组选择器

概念:群组选择器是将具有相同样式的元素分组在一起,每个选择器之间使用逗号“,”隔开

语法格式:元素1,元素2.....,元素n

兼容性:IE6+、Firefox、Chrome、Safari、Opera

Element[attribute]

概念:选择所有带有attribute属性的元素

兼容性:IE8+、Firefox、Chrome、Safari、Opera

Element[attribute="value"]

概念:选择所有使用 attribute="value"的元素

兼容性:IE8+、Firefox、Chrome、Safari、Opera

Element[attribute~="value"]

概念:选择attribute属性包含单词“value”的元素

兼容性:IE8+、Firefox、Chrome、Safari、Opera

Element[attribute^="value"]

概念:选择attribute属性值以“value”开头的所有元素

兼容性:IE8+、Firefox、Chrome、Safari、Opera

Element[attribute$="value"]

概念:选择attribute属性值以“value”结尾的所有元素

兼容性:IE8+、Firefox、Chrome、Safari、Opera

Element[attribute*="value"]

概念:选择attribute属性值包含“value”的所有元素

兼容性:IE8+、Firefox、Chrome、Safari、Opera

Element[attribute|="value"]

概念:选择attribute属性值为“value”或以“value-”开头的元素

兼容性:IE8+、Firefox、Chrome、Safari、Opera

伪类选择器

  • 动态伪类
  • UI元素状态伪类
  • CSS3结构类
  • 否定选择器
  • 伪元素

动态伪类

这些伪类不存在于HTML中,只有当用户和网站交互的时候才能体现出来

  • 锚点伪类
    • :link
    • :visited
  • 用户行为伪类
    • :hover
    • :active
    • focus

UI元素状态伪类

概念:把":enabled",":disabled",":checked"伪类称为UI元素状态伪类

兼容性:IE9+、Firefox、Chrome、Safari、Opera

:nth选择器

我们把css3的:nth选择器也成为CSS3结构类

选择方法:

  • :first-child
  • :last-child
  • :nth-child()
  • :nth-last-child()
  • :nth-of-type()
  • :nth-last-of-type()
  • :first-of-type
  • :last-of-type
  • :only-child
  • :only-child
  • :only-of-type
  • :empty

Element:first-child

概念:选择属于其父元素的首个子元素每个Element元素

兼容性:IE8+、Firefox、Chrome、Safari、Opera

Element:last-child

概念:选择属于其父元素的最后一个子元素Element元素

兼容性:IE8+、Firefox、Chrome、Safari、Opera

Element:nth-child(N)

概念::nth-child(N)选择器匹配属于其父元素的第N个子元素,不论元素的类型

兼容性:IE9+、Firefox4+、Chrome、Safari、Opera

关于参数(N)

  • Element:nth-child(number) ———— 选择某元素下的第number个element元素

  • Element:nth-child(n) ———— n是一个简单表达式,取值从”0“开始计算。这里只能是"n",不能是其他字母代替

  • Element:nth-child(odd)、Element:nth-child(even) ———— odd和even是可用于匹配下标是奇数偶数的element元素的关键字(第一个下标是1)

Element:nth-last-child(N)

概念:匹配属于其元素的第N个子元素的每个元素,不论元素的类型,从最后一个子元素开始计数

兼容性:IE9+、Firefox4+、Chrome、Safari、Opera

Element:nth-last-of-type(N)

概念:匹配属于父元素的特定类型的第N个子元素的每个元素,从最后一个子元素开始计数

兼容性:IE9+、Firefox4+、Chrome、Safari、Opera

Element:last-of-type(N)

概念::last-of-type 选择器匹配属于其父元素的特定类型的最后一个子元素的每个元素

兼容性:IE9+、Firefox4+、Chrome、Safari、Opera

Element:only-child(N)

概念::only-child 选择器匹配属于其父元素的唯一子元素的每个元素

兼容性:IE9+、Firefox4+、Chrome、Safari、Opera

Element:only-of-type(N)

概念::only-of-type 选择器匹配属于其父元素的特定类型的唯一子元素的每个元素

兼容性:IE9+、Firefox4+、Chrome、Safari、Opera

Element:empty

概念::empty 选择器匹配没有子元素(包括文本节点)的每个元素

兼容性:IE9+、Firefox4+、Chrome、Safari、Opera

否定选择器

概念::not(Element/Selector)选择器匹配非指定元素/选择器的每个元素

语法格式:父元素:not(子元素|子选择器)(Father:not(Children|selector))

兼容性:IE9+、Firefox4+、Chrome、Safari、Opera

伪元素

伪元素 ———— Element::first-line

概念:根据”first-line“伪元素中的样式对element元素的第一行文本进行格式化

说明:”first-line“伪元素只能用于块级元素

伪元素 ———— Element::first-letter

概念:用于向文本的首字母设置特殊样式

说明:”first-letter“伪元素只能用于块级元素

伪元素 ———— Element::before

概念:在元素的内容前面插入新内容

说明:常用content配合使用

特点:

  • 永远是第一个子元素
  • 行级元素
  • 内容通过content写入
  • 标签中找不到对应的标签

伪元素 ———— Element::after

概念:在元素的内容后面插入新内容

说明:常用content配合使用,多用于清除浮动

伪元素 ———— Element::selection

概念:用于设置在浏览器中选中文本后的背景与前景色

兼容性说明:::selection在IE家族中,只用IE9+版本支持,在firefox上要添加前缀-moz

CSS权重

  • 什么是权重

当很多规则被应用到某一个元素上时,权重是一个决定那种规则生效,或者是优先级的过程

  • 权重等级与权值

行内样式(1000)>ID选择器(100)> 类、属性选择器和伪类选择器(10)> 元素和伪元素(1)> *(0)

  • 权重计算口诀

从0开始,一个行内样式+1000,一个ID+100,一个属性选择器、class或者伪类选择器+10,一个元素名或者伪元素+1

CSS3选择器

标签:pen   选中   决定   表达式   回顾   权重   一个   状态   child   

原文地址:https://www.cnblogs.com/jianzhihao/p/9281421.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!