css的元素选择除了id(#),class(.),属性([])外,还有伪类和伪元素。跟id选择器、类选择器、属性选择器等这些从html文档层次中获取元素不同的是,伪类和伪元素是预定义的、独立于文档元素的,它们获取元素的途径也不是基于id、class、属性这些基础的元素特征,而是在处于特殊状态的元素(伪类),或者是元素中的特别的内容(伪元素)。伪类和伪元素的表现形式也使用“:”(英文冒号)与其它选择器相区分。
1、基本选择器
* 通用元素选择器,匹配任何元素
p 标签元素选择器,匹配所有使用p标签的元素
.info class选择器,匹配所有class包含info的元素
#msg id选择器,匹配所有id为msg的元素
2、多元素的组合选择器
div ,p 多元素选择器,同时匹配所有div元素或p元素,div和p之间用逗号分隔
.info span 后代元素选择器,匹配所有属于info元素后代的span元素,info和span之间用空格分隔
ul>li 子元素选择器,匹配所有ul元素的子元素li
p+p 毗邻元素选择器,匹配所有紧随p元素之后的同级元素p
3属性选择器
E[att] 匹配所有具有att属性的E元素,不考虑它的值
E[att=val] 匹配所有att属性等于“val”的E元素
E[att~=val] 匹配所有att属性具有多个空格分隔的值、其中一个值等于“val”的E元素
E[att|=val] 匹配所有att属性具有多个连字号分隔(hyphen-separated)的值、其中一个值
实例:
p[title] { color:#f00; }
div[class=error] { color:#f00; }
td[headers~=col1] { color:#f00; }
p[lang|=en] { color:#f00; }
blockquote[class=quote][cite] { color:#f00; }
4伪类
css2中的伪劣:
ol:first-child 匹配父元素的第一个子元素
p:link 匹配所有未被点击的链接
p:visited 匹配所有已被点击的链接
li:active 匹配鼠标已经其上按下、还没有释放的li元素
li:hover 匹配鼠标悬停其上的li元素
li:focus 匹配获得当前焦点的li元素
li:lang(c) 匹配lang属性等于c的li元素
实例:
p:first-child { font-style:italic; }
css2中的伪元素:
E:first-line 匹配E元素的第一行
E:first-letter 匹配E元素的第一个字母
E:before 在E元素之前插入生成的内容
E:after 在E元素之后插入生成的内容
实例:
p:first-line { font-weight:bold; color;#600; }
CSS 3中与用户界面有关的伪类
E:enabled 匹配表单中激活的元素
E:disabled 匹配表单中禁用的元素
E:checked 匹配表单中被选中的radio(单选框)或checkbox(复选框)元素
E::selection 匹配用户当前选中的元素
实例:
input[type="text"]:disabled { background:#ddd; }
::selection 选中文本来改变样式,它只在ie9以上的文本才能实现,在firefox中需要添加前缀“-moz”
CSS 3中的结构性伪类
E:root 匹配文档的根元素,对于HTML文档,就是HTML元素
E:nth-child(n) 匹配其父元素的第n个子元素,第一个编号为1
E:nth-last-child(n) 匹配其父元素的倒数第n个子元素,第一个编号为1
E:nth-of-type(n) 与:nth-child()作用类似,但是仅匹配使用同种标签的元素
E:nth-last-of-type(n) 与:nth-last-child() 作用类似,但是仅匹配使用同种标签的元素
E:last-child 匹配父元素的最后一个子元素,等同于:nth-last-child(1)
E:first-of-type 匹配父元素下使用同种标签的第一个子元素,等同于:nth-of-type(1)
E:last-of-type 匹配父元素下使用同种标签的最后一个子元素,等同于:nth-last-of-type(1)
E:only-child 匹配父元素下仅有的一个子元素,等同于:first-child:last-child或 :nth-child(1):nth-last-child(1)
E:only-of-type 匹配父元素下使用同种标签的唯一一个子元素,等同于:first-of-type:last-of-type
或 :nth-of-type(1):nth-last-of-type(1)
E:empty 匹配一个不包含任何子元素的元素,注意:它是用来选择没有任何内容的元素(一个空格也不行)
注意:里面的n不能用其它字母代替只能是n,不然会没有任何效果。
实例:
p:nth-child(3) { color:#f00; }
p:nth-child(odd) { color:#f00; }
p:nth-child(even) { color:#f00; }
p:nth-child(3n+0) { color:#f00; }
p:nth-child(3n) { color:#f00; } 如果是-3n那就反向从最后一个开始
tr:nth-child(2n+11) { background:#ff0; } 这里的11是指从第11个开始计算
tr:nth-last-child(2) { background:#ff0; }
p:last-child { background:#ff0; }
p:only-child { background:#ff0; }
p:empty { background:#ff0; }
CSS 3的反选伪类
E:not(s) 匹配不符合当前选择器的任何元素
实例:
:not(p) { border:1px solid #ccc; }
在使用伪类的时候一定要注意兼容问题,ie8以下不兼容
相关推荐
CSS选择器 xmind - 选择器分类(ID选择器,类选择器,标签选择器,通配选择器,属性选择器,伪类选择器)。 - 选择器关系(分组,后代,子元素,相邻兄弟,后续兄弟)。 - CSS特性(优先级,继承,层叠)。
本节课主要讲述了CSS选择器的分类、组合使用方法以及优先级规则。 首先,让我们了解一下CSS选择器的基本分类: 1. **元素选择器(类型选择器)**:通过元素名称来选择元素,例如`div`选择所有`<div>`元素。 2. **...
在React开发中,CSS选择器是用于特定于组件的样式化的一种强大工具。React组件的样式管理是一个关键的方面,因为它影响着应用的可维护性和性能。本篇将深入探讨React组件与CSS选择器的结合使用,以及如何优化组件的...
### Python爬虫之CSS选择器详解 #### 一、引言 在进行Web爬虫开发时,高效地从HTML文档中提取所需数据是一项基本而重要的技能。Python作为一门功能强大的编程语言,在网络爬虫领域有着广泛的应用。CSS选择器作为一...
- 伪元素可以与其他CSS选择器一起使用,以实现更复杂的布局和设计效果。 - 为了保持良好的可读性,建议在 `content` 中使用引号包裹文本内容。 通过学习和熟练掌握 `:before` 和 `:after` 伪元素选择器,开发者可以...
在CSS选择器的体系中,存在多种不同类型的选择器,每种都有其特定的用途和使用场景。 首先,元素选择符是最基本的类型,包括通配符选择器、标签选择器、id选择器和class选择器。通配符选择器用“*”表示,可以选中...
传统的CSS选择器如ID选择器(#id)、类选择器(.class)和标签选择器(element)在HTML5中依然适用。但HTML5引入了一些新的选择器,如: 1. 属性选择器:允许我们根据元素的属性来选择元素。例如,`[target="_blank...
伪类选择器 提升你的CSS技能:深入理解伪类选择器和伪元素选择器
CSS选择器用于匹配文档中的元素。基本选择器包括标签选择器(如`p`)、类选择器(`.class`)、ID选择器(`#id`)和属性选择器(如`[attr=value]`)。更高级的选择器,如伪类(`:hover`, `:active`, `:focus`)和伪...
伪元素在CSS中用于创建不在HTML文档流中的虚拟元素,它们并不存在于HTML源代码中,但可以通过CSS选择器进行操作。常见的伪元素有`::before`和`::after`,分别用于在元素内容之前或之后插入内容。例如,可以使用`...
`:after`是CSS中的一个伪元素选择器,用于在元素内容之后插入内容。本话题将深入探讨如何利用`:after`伪元素来实现分割线和气泡效果。 首先,让我们理解`:after`的基本语法。`:after`伪元素紧跟在选择器后面,然后...
hover伪类选择器是指选择鼠标悬停在元素上的状态。其语法为:选择器:hover { css }。 5. Emmet语法: Emmet语法是指通过简写语法快速生成代码。其语法类似于刚刚学习的选择器的写法。 CSS基础背景相关属性: ...
主要讲的是css3中新增加的选择器,伪元素选择器。
总结来说,伪类选择器和伪元素是CSS中强大的工具,可以帮助开发者精确控制网页元素的样式,提高用户体验。熟练掌握它们,可以使你的网页设计更加精细和动态。通过不断实践和探索,你将能够创建出富有交互性和视觉...
伪类选择器:CSS中已经定义好的选择器,不能随便取名 常用的伪类选择器是使用在a元素上的几种,`如a:link|a:visited|a:hover|a:active` 提示:在 CSS 定义中,a:hover 必须被置于 a:link 和 a:visited 之后,才是...
下面是前端开发中经常使用的 30 个 CSS3 选择器,包括通用元素选择器、ID 选择器、类选择器、标签选择器、伪类选择器、毗邻元素选择器、子元素选择器、属性选择器等。 1. 通用元素选择器 * 通用元素选择器*是选择...
伪类选择器的使用和语法 摘要:本文将详细介绍伪类选择器的使用和语法,包括伪类选择器的作用、语法、案例演示和注意事项等。 一、伪类选择器的作用 伪类选择器是一种特殊的选择器,...* CSS-Tricks - 伪类选择器
总结来说,【CSS信封例子-Css-Letter】是一个综合性的示例,涵盖了CSS的高级技巧,如选择器、盒模型、背景和渐变、伪元素、变形、过渡以及响应式设计。同时,它也展示了HTML的基础结构搭建和JavaScript增强交互性的...
CSS3选择器是CSS3规范中用于选择HTML文档中元素的方式,它增强了原有CSS选择器的功能,并引入了新的选择器,以便更精确地控制页面元素。以下是一些常见的CSS3选择器及其说明: 1. 类选择器和ID选择器: - 类选择器...
### CSS选择器与jQuery选择器详解 #### 一、引言 在现代Web开发中,选择器扮演着至关重要的角色。无论是对HTML元素应用样式还是对其进行动态操作,选择器都是必不可少的工具。本文将深入探讨两种常用的选择器——...