浅析CSS选择器和优先级

CSS选择器.png

本篇文章主要讲述CSS选择器是什么,CSS选择器的分类,还有CSS选择器的优先级,如果有什么不足的地方欢迎大家来指点。

<h3>1.什么是CSS选择器?</h3>
答:每一条css样式定义由两部分组成,形式如下:选择器{样式}在{}之前的部分就是“选择器”。 “选择器”指明了{}中的“样式”的作用对象,也就是“样式”作用于网页中的哪些元素
</br>
<h3>2.CSS选择器常见的有几种?</h3>
<li>选择器的分类:</li>
选择器大致开分为:基础选择器、组合选择器、属性选择器、伪类选择器和伪元素等</br>
1.基础选择器

a.id选择器:通过设置元素的id属性为该元素制定ID。ID由开发者指定。每个ID在文档中必须是唯一的。在写样式表时,ID选择器是以#开头的。

例子:
HTML:<div id="content">你好啊!</div>
CSS: #content{border:1px solid #fff;}

b.class选择器:是以独立于文档元素的方式来指定样式,使用类选择器之前需要在html元素上定义类名,也就是要保证类名在html标记中存在。

例子:
HTML:<div class="content">你好啊</div>
CSS:.content{border:1px solid #fff;}

c.元素选择器:通过note节点名称匹配元素。

例子:
HTML:<span>您好</span>
CSS:span{font-size:14px;}

2.组合选择器

选择器 含义 实例
E,F 多元素选择器,同时匹配所有E元素或F元素 div,p{background-color:blue;}
E F 后代元素选择器,匹配所有属于E元素的后代F元素 div a{background-color:blue;}
E>F 子元素选择器,匹配所有E元素的子元素F div>h1{background-image:url(XXX.png);}
E+F 毗邻元素选择器,匹配所有紧随E元素之后的同级元素F p+div{background-position:x% y%};

例子:


CSS选择器例子.png

3.属性选择器

选择器 含义 实例
E[att] 匹配所有具有att属性的E元素 p[style]{background-repeat:repeat-y;}
E[att=val] 匹配所有att属性等于“val”的E元素 div[class="c1"]
E[att~=val] 匹配所有att属性具有多个空格分隔的值、其中一个值等于“val”的E元素 div[class~=c2]
E[att|=val] 匹配所有att属性具有多个连字号分隔(hyphen-separated)的值、其中一个值以“val”开头的E元素 p[lang|=en]

例子:

属性选择器例子.png

4.伪类选择器

选择器 含义 实例
E:first-child 匹配父元素E下的第一个子元素 div:first-child{text-align:center;}
E:link 匹配所有未被点击的链接 '
E:visited 匹配所有已被点击的链接 '
E:active 匹配鼠标已经按下、还没有释放的E元素 '
E:hover 匹配鼠标悬停其上的E元素 '
E:focus 匹配获得当前焦点的E元素 '
E:lang(c) 匹配lang属性等于c的E元素 '

例子:


伪类选择器.png

5.伪元素

选择器 含义 实例
E:first-line 匹配E元素的第一行 p:first-line{color:red;}
E:first-letter 匹配E元素的第一个字母 .c1:first-letter{color:blue;
E:before 在E元素之前插入生成的内容 .ctn before{content:"";display:block;;height:40px;width:40px;}
E:after 在E元素之后插入生成的内容 .ctn after{content:"";display:block;;height:40px;width:40px;}

例子:


伪元素.png

</br>

<h3>3.CSS的优先级?</h3>

小peter我初出茅庐,里面许多知识通过阅览其他同学的理解,和网上其它博客的文章,在整合而成,如果缺陷,请大家指点指点。

1.那么选择器的优先级是怎么规定的呢?
一般而言,选择器越特殊,它的优先级越高。也就是选择器指向的越准确,它的优先级就越高。通常我们用1表示<b>标签名选择器</b>的优先级,用10表示<b>类选择器</b>的优先级,用100标示<b>ID选择器</b>的优先级。比如上例当中.polaris span {color:red;}的选择器优先级是 10 + 1 也就是11;而 .polaris 的优先级是10;浏览器自然会显示红色的字。理解了这个道理之后下面的优先级计算自是易如反掌:
例如:
div.test1 .span var 优先级 1+10 +10 +1
span#xxx .songs li 优先级1+100 + 10 + 1
#xxx li 优先级 100 +1
在比较样式的优先级时,只需统计选择符中的id、class和标签名的个数,然后把相应的权值相加即可,最后根据结果排出优先级
另外:
<li>权值较大的优先级越高
<li>权值相同的,后定义的优先级较高
<li>样式值含有!important,优先级最高

<li>后代选择器的定位原则
在这里介绍一下对于后代选择器,浏览器是如何查找元素的呢?
浏览器CSS匹配不是从左到右进行查找,而是从右到左进行查找。比如DIV#divBox p span.red{color:red;},浏览器的查找顺序如下:先查找html中所有class='red'的span元素,找到后,再查找其父辈元素中是否有p元素,再判断p的父元素中是否有id为divBox的div元素,如果都存在则匹配上。**浏览器从右到左进行查找的好处是为了尽早过滤掉一些无关的样式规则和元素。
<b>(此段转载饥人谷的犯迷糊的小羊)</b>

查看资料:
<a href="http://www.ruanyifeng.com/blog/2009/03/css_selectors.html">阮一峰CSS选择器</a>
<a href="http://www.jb51.net/css/95517.html">CSS选择器优先级分析</a>
<a href="http://www.jb51.net/css/67029.html">CSS选择器深入理解</a>

感谢观众:

gaki.png
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 159,835评论 4 364
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 67,598评论 1 295
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 109,569评论 0 244
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 44,159评论 0 213
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 52,533评论 3 287
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 40,710评论 1 222
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 31,923评论 2 313
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 30,674评论 0 203
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 34,421评论 1 246
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 30,622评论 2 245
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 32,115评论 1 260
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 28,428评论 2 254
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 33,114评论 3 238
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 26,097评论 0 8
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 26,875评论 0 197
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 35,753评论 2 276
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 35,649评论 2 271

推荐阅读更多精彩内容