之前学的的迷糊了,也不知道什么会什么不会了,跑去面试了。别人列出一堆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选择器的更多相关文章

  1. CSS选择器以及优先级与匹配原理

    最常用的五类CSS选择器 准确而简洁的运用CSS选择器会达到非常好的效果.我们不必通篇给每一个元素定义类(class)或ID,通过合适的组织,可以用最简单的方法实现同样的效果.在实际工作中,最常用的选 ...

  2. 详解CSS选择器、优先级与匹配原理

    原文链接:http://polaris1119.javaeye.com/blog/764428 作为一个Web开发者,掌握必要的前台技术也是很重要的,特别是在遇到一些实际问题的时候.这里给大家列举一个 ...

  3. 转载:详解CSS选择器、优先级与匹配原

    转载网址:http://polaris1119.javaeye.com/blog/764428 文章就CSS选择器的优先级问题做了一些总结,严格来讲,选择器的种类可以分为三种:标签名选择器.类选择器和 ...

  4. CSS选择器、优先级和匹配原理

    作为一个Web开发者,掌握必要的前台技术也是很重要的,特别是在遇到一些实际问题的时候.这里给大家列举一个例子: 给一个p标签增加一个类(class),可是执行后该class中的有些属性并没有起作用.通 ...

  5. 详解CSS选择器、优先级与匹配原理【转】

    作为一个Web开发者,掌握必要的前台技术也是很重要的,特别是在遇到一些实际问题的时候.这里给大家列举一个例子: 给一个p标签增加一个类(class),可是执行后该class中的有些属性并没有起作用.通 ...

  6. css选择器优选级及匹配原理(转)

    作为一个Web开发者,掌握必要的前台技术也是很重要的,特别是在遇到一些实际问题的时候.这里给大家列举一个例子: 给一个p标签增加一个类(class),可是执行后该class中的有些属性并没有起作用.通 ...

  7. (转)css选择器及其优先级

    文章主要介绍什么是CSS选择器,CSS选择器的分类以及CSS选择器的优先级三部分内容,希望能够帮助到正在学习CSS的童鞋,有什么不足的地方欢迎大家批评指正. 一.什么是CSS选择器? CSS选择器又被 ...

  8. 导航栏布局时遇到的问题以及解决办法 css选择器优先级

    得到的导航栏效果 添加#menu ul li{width:30px;} 效果如图 将会使列表项和分隔区域的宽度同时改变因为id选择器的优先级高于类选择器,此时应该为列表项添加内联样式如图 才能得到如下 ...

  9. 编写高效的CSS选择器

    高效的CSS已经不是一个新话题,也不是一个我非得重拾的话题,但是,它却是自我在SKY工作以后,真正感兴趣并始终关注的一个话题. 很多人或者忘记了,或者仅仅是没有意识到,CSS可以是高效的也可能导致低能 ...

随机推荐

  1. Windows 10 PC 安装 Docker CE

    系统要求 Docker CE 支持 64 位版本的 Windows 10 Pro,且必须开启 Hyper-V. 如果系统是win 10 家庭版安装 docker  很恶心, 我也是废了2天才安装, 由 ...

  2. 深入了解 Cloud Studio 开发在云端

    Cloud Studio 为开发者提供了一个永不间断的云端工作站,不管有没有开发经验都可以毫无门槛的体验云端开发的乐趣,支持绝大部分编程语言.Cloud Studio 提供了完整的 Linux 环境, ...

  3. 【mysql 统计分组之后统计录数条数】

    SELECT count(*) FROM 表名 WHERE 条件 // 这样查出来的是总记录条   SELECT count(*) FROM 表名 WHERE 条件 GROUP BY id //这样统 ...

  4. ASP.NET MVC 小牛之旅1:何谓MVC

    在学习ASP.NET MVC之前首先了解什么 是MVC ? MVC不是一种语言,严格来说也不算一个技术,而是开发时所使用的一种架构(框架),它就像是一种开发观念,或是一个设计样式. MVC让软件开发的 ...

  5. mybatis笔记 - 初始配置及dao的封装

    1.用户实体类 package com.javasm.entity; /** * *TODO 用户表实体类 * @author CaoLei 2018年6月26日上午10:50:12 * Manage ...

  6. ubuntu 安装 mysql 5.7 简记

    安装: apt-get install mysql-server 会安装最新版本的 mysql ,安装时会提示输入 root 的密码 进入 mysql: mysql -u root -p 进入后会出现 ...

  7. matlab矩阵与数组

    数组运算:数与数组加减:k+/-A %k加或减A的每个元素数组乘数组: A.*B %对应元素相乘数组乘方: A.^k %A的每个元素k次方:k.^A,分别以k为底A的各元素为指数求幂值数除以数组: k ...

  8. 利用CSS制作脸书

    很多网站都支持图片上的头像框识别,鼠标在头像框处,会提示一些人物信息. 这次就利用CSS实现这样一个功能: div处主要包括两部分,一部分是图片:另一部分是链接以及脸框 <div class=& ...

  9. 解读人:刘佳维,Spectral Clustering Improves Label-Free Quantification of Low-Abundant Proteins(谱图聚类改善了低丰度蛋白的无标记定量)

    发表时间:(2019年4月) IF:3.95 单位: 维也纳医科大学: 欧洲生物信息研究所(EMBL-EBI): 分子病理学研究所: 奥地利科学院分子生物技术研究所: Gregor Mendel分子植 ...

  10. MarkDown基础语法大全

    一.MarkDown是什么? Markdown是一种轻量级的「标记语言」,创始人为约翰·格鲁伯,用简洁的语法代替排版,目前被越来越多的知识工作者.写作爱好者.程序员或研究员广泛使用.其常用的标记符号不 ...