关于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. 修改 input 框输入光标的样式

    input, textarea { font-size: 24px; padding: 10px; color: red; text-shadow: 0px 0px 0px #000; -webkit ...

  2. json包含单双引号问题解决方案

    解决方案:在后台处理 JSONArray.fromObject(list).toString() 转自明明如月小角落: 效果DEMO: JsonQuotesUtil.js /** * 解决json传输 ...

  3. idea引入svn

    刚想在idea看一个svn的项目代码,结果发现导入项目后,idea在右下角弹出了Event Log窗口,里面的红色小字 Can't use Subversion command line client ...

  4. dede频道页实现三级栏目嵌套调用文章

      dede频道页实现三级栏目嵌套调用文章: //支持arclist标签开始--> $typeid = $row['id']; if((class_exists('PartView'))) { ...

  5. 为什么要使用MONO

    今天中午我收到一个Email,是关于以前写的一个MONO文章的疑问,我对此做了一些解释,希望与有相同问题的朋友一起分享一下,邮件内容如下: 我在网上找到了您写的一篇关于Mono的“在windows下使 ...

  6. linux svn服务器(一)

    先安装 参考文章http://www.cnblogs.com/zhaoyang-1989/articles/3455481.html

  7. android 布局入门

    一.LinearLayout RelativeLayout 这俩的区别详见这里 http://www.cnblogs.com/duanweishi/p/4244233.html 二.android:l ...

  8. 一些css杂项笔记

    div[class*="col-"]{ background-color: gold; border: 1px solid #ccc; } //给class开头等于col-的div ...

  9. 杂项:mPaaS

    ylbtech-杂项:mPaaS 1. 概述返回顶部 mPaaS 是源于支付宝 App 的移动开发平台,为移动开发.测试.运营及运维提供云到端的一站式解决方案,能有效降低技术门槛.减少研发成本.提升开 ...

  10. osx 安装redis

    brew install redis 想关文章 http://www.tuicool.com/articles/nM73Enr http://www.iteye.com/topic/1124400