一个容易被忽视的css选择器
之前学的的迷糊了,也不知道什么会什么不会了,跑去面试了。别人列出一堆css选择器,本以为选择器没啥的,结果到那个多类选择器翻车了,.a.b选择同时含a,b类名的,很尴尬所以回来仔细整理了一下。目前根据W3C手册所知,选择器一共44个,特此分类记录复习一下(分类依据可能不合理,只是为了方便自己记忆)
一.基本选择器(4个)
| 选择器 | 选择目标 | css |
|---|---|---|
| * | 通配符,选择所有元素 | 2 |
| .class | 类选择器,选择类名为class的元素 | 1 |
| #ID | id选择器,选择id为ID的元素 | 1 |
| element | 元素选择器,选择element元素 | 1 |
二.结合选择器(6个)
| 选择器 | 选择目标 | css |
|---|---|---|
| .a.b | 多类选择器,选择同时拥有类名为a,b的元素 | |
| a b | 后代选择器 ,选择a元素后代的所有b元素 | 1 |
| a,b | 同级选择器 ,选择a元素和b元素 | 1 |
| a>b | 子代选择器,选择a元素的直接子代b | 2 |
| a+b | 直接相邻兄弟选择器,选择紧跟着a元素的b元素 | 2 |
| a~b | 通用兄弟选择器,选择前面有a的所有b元素 | 3 |
注意事项: 1. 相邻兄弟选择器,之间可以有文本元素,不影响,其它不可。2.在 IE7 之前的版本中,不同平台的 Internet Explorer 都不能正确地处理多类选择器。
三.伪元素(4个)
| 选择器 | 选择目标 | css |
|---|---|---|
| :first-letter | 选择首字 | 1 |
| :first-line | 选择首行 | 1 |
| :before | 在元素之前插入 | 2 |
| :after | 在元素之后插入 | 2 |
注意事项: 1. 所有伪元素都必须放在该伪元素选择器的最后面 2. 伪元素是一种假想的元素,插入到页面中代替某个元素但是并不出现在文档源代码中,由用户代理动态构建。
四.属性选择器(7个)
| 选择器 | 选择目标 | css |
|---|---|---|
| [attr] | 简单属性选择器,选择含有attr属性的元素 | 2 |
| [attr=value] | 具体值属性选择器,选择attr属性值等于value的元素 | 2 |
| [attr~=value] | 选择attr属性中含有value词条的元素 | 2 |
| [attr|=value] | 选择attr属性以value-开头,或者等于value的元素 | 2 |
| [attr*=value] | 子串匹配,选择attr属性子串包含value的所有元素 | 3 |
| [attr^=value] | 选择attr属性以value开头的元素 | 3 |
| [attr$=value] | 选择attr属性以value结尾的元素 | 3 |
五.伪类(23个)
表单相关(3)
| 选择器 | 选择目标 | css |
|---|---|---|
| :checked | 选中的input元素 | 3 |
| :disabled | 选中禁用的input元素 | 3 |
| :enabled | 选中启用的input元素 | 3 |
超链接相关,love-focus-hate.(5)
| 选择器 | 选择目标 | css |
|---|---|---|
| :link | 未被访问的连接 | 3 |
| :visited | 已经被访问的连接 | 3 |
| :focus | 获取焦点的元素 | 3 |
| :hover | 鼠标悬浮的元素 | 3 |
| :actived | 活动的元素 | 3 |
同一父元素下的目标选择(9)
| 选择器 | 选择目标 | css |
|---|---|---|
| p:only-child | 选择其父元素下的唯一子元素p下的所有元素 | 3 |
| p:only-of-type | 选择属于其父元素唯一的 p元素的每个 p元素 | 3 |
| p:first-of-type | 选择属于其父元素的首个p 元素的每个 p 元素。 | 3 |
| p:last-of-type | 选择属于其父元素的最后 p元素的每个 p元素 | 3 |
| p:nth-child(n) | 选择属于其父元素的第n个子元素的每个 p 元素 (n从1开始) | 3 |
| p:nth-last-child(n) | 从最后一个子元素开始计数 | 3 |
| p:nth-of-type(n) | 选择属于其父元素第n个p元素的每个p元素 | 3 |
| p:nth-last-of-type(n) | 从最后一个元素开始计数 | 3 |
| p:last-child | 选择属于其父元素最后一个子元素每个p元素 | 3 |
其它(6)
| 选择器 | 选择目标 | css |
|---|---|---|
| :root | 选择文档根元素 | 3 |
| :lang(language) | 选择带有以 "language" 开头的 lang 属性值的元素 | 2 |
| :empty | 选择没有子元素的元素(包括文本节点) | 3 |
| :target | 选择当前活动的元素,锚点指向的元素 | 3 |
| :not(selector) | 选择非某个元素的所有元素 | 3 |
| ::selection | 选择被用户选取的元素部分 | 3 |
六.CSS权重
- 最高级别!important
- 行内式 1000
- ID选择器 100
- 类选择器、伪类、属性选择器 10
- 元素选择器、伪元素 1
- 其它为0
一个容易被忽视的css选择器的更多相关文章
- CSS选择器以及优先级与匹配原理
最常用的五类CSS选择器 准确而简洁的运用CSS选择器会达到非常好的效果.我们不必通篇给每一个元素定义类(class)或ID,通过合适的组织,可以用最简单的方法实现同样的效果.在实际工作中,最常用的选 ...
- 详解CSS选择器、优先级与匹配原理
原文链接:http://polaris1119.javaeye.com/blog/764428 作为一个Web开发者,掌握必要的前台技术也是很重要的,特别是在遇到一些实际问题的时候.这里给大家列举一个 ...
- 转载:详解CSS选择器、优先级与匹配原
转载网址:http://polaris1119.javaeye.com/blog/764428 文章就CSS选择器的优先级问题做了一些总结,严格来讲,选择器的种类可以分为三种:标签名选择器.类选择器和 ...
- CSS选择器、优先级和匹配原理
作为一个Web开发者,掌握必要的前台技术也是很重要的,特别是在遇到一些实际问题的时候.这里给大家列举一个例子: 给一个p标签增加一个类(class),可是执行后该class中的有些属性并没有起作用.通 ...
- 详解CSS选择器、优先级与匹配原理【转】
作为一个Web开发者,掌握必要的前台技术也是很重要的,特别是在遇到一些实际问题的时候.这里给大家列举一个例子: 给一个p标签增加一个类(class),可是执行后该class中的有些属性并没有起作用.通 ...
- css选择器优选级及匹配原理(转)
作为一个Web开发者,掌握必要的前台技术也是很重要的,特别是在遇到一些实际问题的时候.这里给大家列举一个例子: 给一个p标签增加一个类(class),可是执行后该class中的有些属性并没有起作用.通 ...
- (转)css选择器及其优先级
文章主要介绍什么是CSS选择器,CSS选择器的分类以及CSS选择器的优先级三部分内容,希望能够帮助到正在学习CSS的童鞋,有什么不足的地方欢迎大家批评指正. 一.什么是CSS选择器? CSS选择器又被 ...
- 导航栏布局时遇到的问题以及解决办法 css选择器优先级
得到的导航栏效果 添加#menu ul li{width:30px;} 效果如图 将会使列表项和分隔区域的宽度同时改变因为id选择器的优先级高于类选择器,此时应该为列表项添加内联样式如图 才能得到如下 ...
- 编写高效的CSS选择器
高效的CSS已经不是一个新话题,也不是一个我非得重拾的话题,但是,它却是自我在SKY工作以后,真正感兴趣并始终关注的一个话题. 很多人或者忘记了,或者仅仅是没有意识到,CSS可以是高效的也可能导致低能 ...
随机推荐
- mac上如何查看gif
今天生成了一个gif,结果用mac自带的图片预览功能打开,图片被切成一张一张的,不是动图效果了.原以为还得下第三方看图软件,后来百度下发现mac本身也可以打开. 方法一: 鼠标右击图片,选择“快速查看 ...
- 杭电acm 1032题
The Problem问题 Consider the following algorithm:考虑下面的算法: 1 2 3 4 5 6 input n print n if n = 1 then st ...
- Java学习笔记(一)语法
基本语法 大小写敏感 类名:对于所有的类来说,类名的首字母应该大写 方法名:所有的方法名都应该以小写字母开头.如果方法名含有若干单词,则后面的每个单词首字母大写. 源文件名:源文件名必须和类名相同.当 ...
- .Net Core WebApi返回日期格式的问题
环境:.net core 2.1 webapi 问题简介: 返回DateTime,前端接收到的字符有时候为2018-01-01T12:01:01,有时候为2018-01-01T01:01:01.722 ...
- SpringBoot第五篇:整合Mybatis
作者:追梦1819 原文:https://www.cnblogs.com/yanfei1819/p/10869315.html 版权声明:本文为博主原创文章,转载请附上博文链接! 引言 ORM框架 ...
- ProtoBuf练习(六)
JSON类型 工程目录结构 $ ls proto/ proto文件 $ cat proto/style.proto syntax = "proto3"; import " ...
- [CentOS7] 增加yum源
下载最新rpm文件:http://fedoraproject.org/wiki/EPEL 通过源文件rpm来增加: rpm -ivh epel-release-latest-7.noarch.rpm
- Spring基本原理模拟(IoC部分)
package ioc; import java.io.File; import java.lang.reflect.Method; import java.util.Collections; imp ...
- 洛谷P1762 偶数
P1762 偶数 题目描述 给定一个正整数n,请输出杨辉三角形前n行的偶数个数对1000003取模后的结果. 输入输出格式 输入格式: 一个数 输出格式: 结果 输入输出样例 输入样例#1: 复制 6 ...
- 视图、存储函数、存储过程、触发器:MySQL系列之五
一.视图 视图:VIEW,虚表,保存有实表的查询结果,实际数据不保存在磁盘 物化视图:实际数据在磁盘中有保存,加快访问,MySQL不支持物化视图 基表:视图依赖的表 视图中的数据事实上存储于" ...