css中伪类/伪元素详解
一、伪类和伪元素
伪类和伪元素都是用来修饰不在文档树中的部分,区别在于,
伪类用于当已有元素处于的某个状态时,为其添加对应的样式,这个状态是根据用户行为而动态变化的(如:hover/:active)。
而伪元素则用于创建一些不在文档树中的元素,并为其添加样式(如:before/:after)。
二、常用伪类
|
伪类 |
用法 |
兼容 |
|
:link |
未访问的链接 |
主流浏览器都支持 |
|
:visited |
已访问的链接 |
主流浏览器都支持 |
|
:hover |
鼠标划过链接 |
主流浏览器都支持 |
|
:active |
已选中的链接 |
主流浏览器都支持 |
|
:focus |
选择元素输入后具有焦点 |
主流浏览器都支持,IE8中必须申明<!DOCTYPE> |
|
:enabled |
元素可用状态下 |
IE8及更早版本不支持 |
|
:disabled |
元素禁用状态下 |
IE8及更早版本不支持 |
|
:checked |
元素选中状态下 |
IE8及更早版本不支持 |
|
:first-child |
选择元素的第一个子元素 |
主流浏览器都支持,IE8或更早版本中必须申明<!DOCTYPE> |
|
:last-child |
选择元素的最后一个子元素 |
IE8及更早版本不支持 |
|
:nth-child() |
选择元素的一个或多个特定的子元素 |
IE8及更早版本不支持 |
|
:nth-last-child() |
从这个元素的最后一个子元素开始选择元素的一个或多个特定的子元素 |
IE8及更早版本不支持 |
|
:nth-of-type() |
选择指定的元素 |
IE8及更早版本不支持 |
|
:nth-last-of-type() |
从这个元素的最后一个子元素开始选择指定元素 |
IE8及更早版本不支持 |
|
:first-of-type |
选择一个上级元素下的第一个同类子元素 |
IE8及更早版本不支持 |
|
:last-of-type |
选择一个上级元素下的最后一个同类子元素 |
IE8及更早版本不支持 |
|
:only-child |
选择父级元素下的唯一一个子元素 |
IE8及更早版本不支持 |
|
:only-of-type |
选择父元素下的唯一一个相同类型的子元素 |
IE8及更早版本不支持 |
|
:empty |
选择元素里面没有任何内容的元素 |
IE8及更早版本不支持 |
|
:not() |
选择除了某个元素以外的其他元素 |
IE8及更早版本不支持 |
|
:lang |
为不同的语言定义特殊的规则 |
主流浏览器都支持,IE8中必须申明<!DOCTYPE> |
|
:target |
设置元素被设置为锚链接的目标元素时候的样式 |
IE8及更早版本不支持 |
|
:default |
设置表单的默认样式 |
IE8及更早版本不支持 |
|
:valid |
设置有效的表单元素 |
IE8及更早版本不支持 |
|
:invalid |
应用于空的必填的,或者验证失败的表单 |
IE8及更早版本不支持 |
|
:required |
应用于具有required属性的表单元素 |
IE8及更早版本不支持 |
|
:optional |
应用于没有required属性的表单元素 |
IE8及更早版本不支持 |
|
:in-range |
应用于具有范围的限制的元素,比如number表单 |
IE8及更早版本不支持 |
|
:out-of-range |
与:in-range相反,指定超出范围时的样式 |
IE8及更早版本不支持 |
|
:read-only |
应用于内容只读的元素 |
IE8及更早版本不支持 |
|
:read-write |
应用于可供用户修改的元素 |
IE8及更早版本不支持 |
|
:root |
指向根元素,即html元素 |
IE8及更早版本不支持 |
三、常用伪元素
|
伪元素 |
说明 |
兼容 |
|
::first-line |
选择元素的第一行 |
主流浏览器都支持 |
|
::first-letter |
选择文本块的第一个字母 |
主流浏览器都支持 |
|
::before |
给元素的前面插入内容 |
IE8及更早版本不支持 |
|
::after |
给元素的后面插入内容 |
IE8及更早版本不支持 |
|
::selection |
用来改变浏览网页选中文的默认效果 |
IE8及更早版本不支持 |
|
::placeholder |
::-webkit-input-placeholde ::-moz-placeholder :-ms-input-placeholder 设置一个表单元素的占位文本 |
IE8及更早版本不支持 |
css中伪类/伪元素详解的更多相关文章
- CSS选择器:伪类(图文详解)
本文最初发表于博客园,并在GitHub上持续更新前端的系列文章.欢迎在GitHub上关注我,一起入门和进阶前端. 以下是正文. 伪类(伪类选择器) 伪类:同一个标签,根据其不同的种状态,有不同的样式. ...
- JavaScript中定义类的方式详解
本文实例讲述了JavaScript中定义类的方式.分享给大家供大家参考,具体如下: Javascript本身并不支持面向对象,它没有访问控制符,它没有定义类的关键字class,它没有支持继承的exte ...
- CSS 中 display:inline-block 属性使用详解
本文详细描述了display:inline-block的基础知识,产生的问题和解决方法以及其常见的应用场景,加深了对inline-block应用的进一步理解. 基础知识 display:inline- ...
- PyQt(Python+Qt)入门:Designer组件属性编辑界面中QWidget类相关属性详解
本文适用人员:本文比较长,适合不理解Qt Designer部件属性的人员阅读或资料查找. 声明: 1.如果有人认为本文是简单的复制粘贴+翻译而成,敬请读本文最后的后记: 2.本文为老猿Python学习 ...
- java中枚举类的使用详解
/* * 通过JDK5提供的枚举来做枚举类 */ public enum Direction2 { FRONT("前"), BEHIND("后"), LEFT( ...
- OC中数组类NSArray的详解,常用属性和方法(一)
数组是一个有序的集合,OC中的数组只能存储对象类型, 但是对于对象的类型没有限制. 通过下标访问数组元素,下标从0开始. NSA
- Qt中QGraphics类坐标映射关系详解
1.Item(图元)坐标:属于局部坐标,通常以图元中心为原点(中心对称),非中心对称类,比如dialog类,一般以左上角为原点,正方向x朝右,y朝下. 2.setPos的坐标是父类坐标系的坐标,一般对 ...
- Java中File类的方法详解
File类也是Java中一个比较重要的类,通过他我们可以实现对文件的一系列操作,其内置了很多方法,下面我将按方法的功能分块,逐一讲解: 快速导航 构造方法 常用方法 创建目录 判断 `is...` t ...
- OC中数组类NSArray的详解,数组的遍历(二)
数组类的便利 1.for循环(大家都会的...) 2.NSEmunerator 3.for in 首先重点说下 第二种NSEmunerator枚举器,系统声明是 @interface NSEnumer ...
- tomcat中的server.xml元素详解
附:Tomcat加载顺序 加载类和资源的顺序为: 1./Web-INF/classes 2./Web-INF/lib/*.jar 3.Bootstrap 4.System 5.$CATALINA_HO ...
随机推荐
- 来自word2013发布的测试文档
SWIG 是一个非常优秀的开源工具,支持您将 C/C++ 代码与任何主流脚本语言相集成. 此外,它向更广泛的受众公开了基本代码,改善了可测试性,让您的 Ruby 代码库某部分能快速写出高性能的 C/C ...
- python http通信实现
http协议通信需要httpServer和httpClient. 在python中 -- httpServer的实现类是server.py文件,要跟实现tcp,udp Server的文件sockets ...
- 滴滴Booster移动APP质量优化框架 学习之旅 二
推荐阅读: 滴滴Booster移动App质量优化框架-学习之旅 一 Android 模块Api化演练 不一样视角的Glide剖析(一) 续写滴滴Booster移动APP质量优化框架学习之旅,上篇文章分 ...
- CSU - 1580 NCPC2014 Outing(树形依赖+分组背包)
Outing Input Output Sample Input 4 4 1 2 3 4 Sample Output 4 分组背包: for 所有的组k for v=V..0 for 所有的i属于组k ...
- CSP 201703-4 地铁修建 最小生成树+并查集
地铁修建 试题编号: 201703-4 试题名称: 地铁修建 时间限制: 1.0s 内存限制: 256.0MB 问题描述: 问题描述 A市有n个交通枢纽,其中1号和n号非常重要,为了加强运输能力, ...
- JS实现页面刷新方法
下面介绍全页面刷新方法:有时候可能会用到 window.location.reload()刷新当前页面. parent.location.reload()刷新父亲对象(用于框架) opener.loc ...
- 洛谷 - P1063 - 能量项链 - 区间dp
https://www.luogu.org/problemnew/show/P1063 这个并不是每次只能从两边扩展的,可以从中间断开. #include<bits/stdc++.h> u ...
- List Control控件中及时捕获checkbox被选中的消息的解决方案
转自:http://blog.csdn.net/vycode/article/details/7345073 我的功能需求是:用户可以在List Control里添加item,当无选项被选中(即Che ...
- 计算机视觉(CV)前沿国际国内期刊与会议
计算机视觉(CV)前沿国际国内期刊与会议1.国际会议 2.国际期刊 3.国内期刊 4.神经网络 5.CV 6.数字图象 7.教育资源,大学 8.常见问题 1. 国际会议现在,国际上计算机视觉方面的三大 ...
- 2014-10-22 NOIP模拟赛
1 1 .传教士 (bishop) 问题描述:panzhili 王国的疆土恰好是一个矩形,为了管理方便,国王 jjs 将整个疆土划分成 N*M 块大小相同的区域.由于 jjs 希望他的子民也能信教爱教 ...