关于CSS选择器的问题,在实际项目中,以及一般的前端面试中会经常遇到。下面对此做一小结,梳理和巩固相关方面知识。(如有不妥之处,还望大家及时批评指正,以免误导他人)

一、选择器种类

1、id选择器(#myid);2、类选择器(.myclass);3、标签选择器(div,ul,span);4、相邻兄弟选择器(h1+p);5、子选择器(div>span);6、后代选择器(div span,div.myclass);7、通配符选择器(*);8、属性选择器(input[type="text"]);9、伪类选择器(a:link,input:focus)。

以上9种选择器的使用方法这里不做过多介绍。

二、选择器效率

关于选择器的效率,我们应该记住以下几点:

1、CSS选择器的效率:1>2>3>4>5>6>7>8>9,也就是说id选择器的效率最高,伪类的选择器效率最低。

2、CSS选择器的匹配规则:从右向左,而不是从左向右,因为这样效率要高。

3、在浏览器中,使用id选择器和类选择器比使用相邻兄弟选择器、子选择器和后代选择器对页面性能的提升更值得关注。

三、选择器的优先级

要认识选择器的优先级我们得先认识选择器的特殊性,如下表所示:

选择器 特殊性值
id选择器

0,1,0,0

类选择器,属性选择器,伪类选择器

0,0,1,0

标签选择器,伪元素(:first-letter,:firstline,:before,:after,:selection)

0,0,0,1

相邻兄弟选择器、子选择器和后代选择器

拆分为两个选择器再计算

通配符

0,0,0,0

注意:继承没有特殊性,也就是说0特殊性比继承要强;!important重要性比非重要性要强;内联特殊性值为:1,0,0,0(CSS2包含三个值为1,0,0);特殊性值0,0,1,0比0,0,0,13要高。

优先级顺序也就是:important>内联>id选择器>(类选择器,属性选择器,伪类选择器)>(标签选择器,伪元素)>通配符>继承。

优先级的四大原则:

1、继承不如指定

2、#id>.class>标签选择符

3、包含越具体越强大

4、标签#id>#id;标签.class>.class

四大原则权重:1>2>3>4。

CSS选择器学习小结的更多相关文章

  1. html之css选择器学习

    相关内容: 什么是css选择器 标签选择器 类选择器 id选择器 并集选择器(分组选择器) 交集选择器 后代选择器 子标签选择器 属性选择器 相邻兄弟选择器 伪类选择器 伪元素选择器(伪对象选择器) ...

  2. css选择器学习(一)

    1.通用选择器“*”和元素选择器 <!DOCTYPE html> <html lang="en"> <head> <meta charse ...

  3. CSS 选择器学习总结

    1.id 选择器 #idname{color:red;} 2.class选择器 .classname{} 3.标签选择器 div{} 4.通配符选择器 *{} 5. 属性选择器 [id]{ } 5.选 ...

  4. 记录:CSS选择器学习

    常用选择器:标签选择器.类选择器.ID选择器 子选择器(Child selectors) 还有一个比较有用的选择器子选择器,即大于符号(>),用于选择指定标签元素的第一代子元素. .con> ...

  5. css选择器学习(二)属性选择器

    属性选择器 /*******************************************css2中的属性选择器*************************************** ...

  6. CSS选择器 使用小结

    ==> .x-boundlist-floating[style$="px;"] .x-boundlist-item 元素中含有Style属性,并且属性值以"px;& ...

  7. css 选择器 (学习笔记)

    参考 http://zachary-guo.iteye.com/blog/605116 1. div+p  选择紧接在 <div> 元素之后的所有 <p> 元素.解释 : fi ...

  8. XPath、CSS 选择器 -学习地址

    http://www.w3school.com.cn/cssref/css_selectors.asp http://www.w3school.com.cn/xpath/xpath_syntax.as ...

  9. 第七十节,css选择器

    css选择器 学习要点: 1.选择器总汇 2.基本选择器 3.复合选择器 4.伪元素选择器 本章主要探讨 HTML5中  CSS选择器,通过选择器定位到想要设置样式的元素.目前CSS选择器的版本已经升 ...

随机推荐

  1. vue-cli 引入阿里巴巴字体图标:注意点

    vue-cli 引入阿里巴巴字体图标:注意点 下载的 iconfont.css 文件中: .iconfont { font-family:"iconfont" !important ...

  2. SQL 将非标准日期格式转换成标准格式,进行条件判断

    a.JLDate为非标准日期格式: 例: 2011-8-28 0:00:000011-8-28 0:00:000111-8-4 0:00:00 select CONVERT(varchar(50),C ...

  3. POSIX 消息队列 之 概述 链接方式

    NAMEmq_overview —— POSIX消息队列概述 DESCRIPTIONPOSIX消息队列允许进程以消息的形式交换数据.此API与System V消息队列(msgget(2),msgsnd ...

  4. WPF Demo8

    namespace Demo10 { public class Student { private string name; public string Name { get { return nam ...

  5. "二阶“条件概率

    公式: P(E|F)=P(E|GF)P(G|F)+P(E|GcF)P(Gc|F) 解释: 已知F发生,E发生的条件概率为P(E|F). 现在多考虑一个条件G,G可能发生也可能不发生. 若F已发生条件下 ...

  6. 胖子哥的大数据之路(四)- VisualHBase功能需求框架

    一.引言 大数据在结构化数据存储方面的应用需求越来越明确,但是大数据环境下辅助开发工具的不完善,给数据库管理人员和开发人员带来的不变难以言表,基于此创建了开源项目VisualHBase,同时创建了Vi ...

  7. JVM插码之五:Java agent+ASM实战--监控所有方法执行时间

    本文建立在对instrumentation和agent有初步的了解的前提下阅读,关于这2个类的讲解在其它文章中. 这是一个maven项目,pom中需要的配置,lib中有asm的jar包 pom.xml ...

  8. 如何在CentOS中添加Swap

    1.检查 Swap 空间 在设置 Swap 文件之前,有必要先检查一下系统里有没有既存的 Swap 文件.运行以下命令: 1 swapon -s 如果返回的信息概要是空的,则表示 Swap 文件不存在 ...

  9. ROS-PCQ基于IP的限速(总带宽上下行5M)

    /ip firewall mangle add chain=forward src-address=192.168.0.0/16 \ action=mark-connection new-connec ...

  10. Linux常见英文报错中文翻译(菜鸟必知)

    Linux常见英文报错中文翻译(菜鸟必知) 1.command not found 命令没有找到 2.No such file or directory 没有这个文件或目录 3.Permission ...