精华内容
下载资源
问答
  • CSS的选择器分类可以分为三大类:id选择器,类选择器,标签选择器。 CSS选择器优先级如下...

    本文章转载于:https://www.cnblogs.com/AIonTheRoad/p/11283100.html

    CSS选择器分类:

    CSS的选择器分类可以分为三大类:id选择器,类选择器,标签选择器。

    用法如下:

    选择器 e.g. 说明
    id选择器 #id #header 选择id="header"的所有元素
    类选择器 .class .message 选择class="message"的所有元素
    标签选择器 el div 选择所有的div元素

    其中他们又可以以不同的方式进行组合,如下:

    选择器 e.g. 说明
    后代选择器 el el div p 选择div元素内部的所有p元素
    子代选择器 el>el div>p 选择div元素的第一子代的所有p元素
    相邻兄弟选择器 el+el .msg+p 选择与class为"msg"的元素同级且紧跟其后的第一个p元素
    通用兄弟选择器 el~el .msg~p 选择class为"msg"的元素后面的所有p元素
    群组选择器 el,el p, span, .blue,#box 选择所有的p元素、span元素、class为"blue"的元素以及id为"box"的元素
    伪类选择器 :link,:visited, :hover, :active, :focus a:hover 选择鼠标指针位于a标签之上的链接
    伪元素选择器 :before, :after p:before 在每个p元素内容之前插入内容
    属性选择器 [attribute] [target] 选择带有target属性的所有元素
    通用选择器 * * 选择所有的元素

    优先级:!important > 内联样式 > id选择器 > 类、伪类、属性选择器 > 标签、伪元素选择器

    权 重: !important:10000

    内联: 1000

    id选择器:100

    类、伪类、属性选择器:10

    标签、伪元素选择器:1

    通用选择器(*)、子选择器(>)、相邻兄弟选择器(+)、通用兄弟选择器(~)权重值为0

    展开全文
  • CSS选择器及其优先级排序

    千次阅读 2018-10-12 14:20:37
    一、 CSS选择器分类 CSS选择器如下: CSS的选择器其实大类的话可以分为三类,即id选择器、class选择器、标签选择器。 用法如下: id选择器: #id名 { 属性名:属性值; } class选择器 :.class名 { 属性名:属性值; }...

    一、 CSS选择器分类


    CSS选择器如下:

    CSS的选择器其实大类的话可以分为三类,即id选择器、class选择器、标签选择器

    用法如下:

    • id选择器: #id名 { 属性名:属性值; }
    • class选择器 :.class名 { 属性名:属性值; }
    • 标签选择器: 标签名 { 属性名:属性值; }

    其中,他们之间又可以以不同的方式进行组合,如下:

    • 后代选择器: 父代名 后代名 { 属性名:属性值; }
    • 子代选择器:父代名>子代名 { 属性名:属性值; }
    • 群组选择器: #name1, .name2, #name div { 属性名:属性值; }
    • 伪类选择器: name:伪类
    • 通用(通配符)选择器:* { 属性名: 属性值; } ……
      常用的也就这些。

    完整CSS选择器参考手册

    详细的选择器类型

    下面列表中,选择器类型的优先级是递增的:

    1. 类型选择器(type selectors)(例如, h1)和 伪元素(pseudo-elements)(例如, ::before)
    2. 类选择器(class selectors) (例如,.example),属性选择器(attributes selectors)(例如, [type=“radio”]),伪类(pseudo-classes)(例如, :hover)
    3. ID选择器(例如, #example)

    通配选择符(universal selector)(*), 关系选择符(combinators) (+, >, ~, ’ ') 和 否定伪类(negation pseudo-class)(:not()) 对优先级没有影响。(但是,在 :not() 内部声明的选择器是会影响优先级)。

    给元素添加的内联样式 (例如, style=“font-weight:bold”) 总会覆盖外部样式表的任何样式 ,因此可看作是具有最高的优先级。.

    例外的 !important 规则

    当在一个样式声明中使用一个!important 规则时,此声明将覆盖任何其他声明。虽然技术上!important与优先级无关,但它与它直接相关。
    使用 !important 是一个坏习惯,应该尽量避免,因为这破坏了样式表中的固有的级联规则 使得调试找bug变得更加困难了。当两条相互冲突的带有 !important 规则的声明被应用到相同的元素上时,拥有更大优先级的声明将会被采用。

    一些经验法则:

    • 一定要优化考虑使用样式规则的优先级来解决问题而不是 !important
    • 只有在需要覆盖全站或外部 css(例如引用的 ExtJs 或者 YUI )的特定页面中使用 !important
    • 永远不要在全站范围的 css 上使用 !important
    • 永远不要在你的插件中使用 !important

    取而代之,你可以:

    1. 更好地利用CSS级联属性
    2. 使用更具体的规则。在您选择的元素之前,增加一个或多个其他元素,使选择器变得更加具体,并获得更高的优先级

    二、CSS选择器优先级

    优先级就是分配给指定的CSS声明的一个权重,它由 匹配的选择器中的 每一种选择器类型的 数值 决定。
    而当优先级与多个CSS声明中任意一个声明的优先级相等的时候,CSS中最后的那个声明将会被应用到元素上。
    当同一个元素有多个声明的时候,优先级才会有意义。因为每一个直接作用于元素的CSS规则总是会接管/覆盖(take over)该元素从祖先元素继承而来的规则。

    • 最高优先级是 (直接在标签中的设置样式,假设级别为1000)
    • 次优先级是(ID选择器 ,假设级别为100) #myDiv{color:Red;}
    • 其次优先级是(类选择器,假设级别为10).divClass{color:Red;}
    • 最后优先级是 (标签选择器,假设级别是 1) div{color:Red;}
    • 那么后代选择器的优先级就可以计算了啊

    选择器优先级通俗的理解

    优先级:由高到低(从上到下)

    • !important

    • 内联(1,0,0,0)

    • id: (0,1,0,0)

    • 类:(0,0,1,0)

    • 伪类/属性

    • 元素:(0,0,0,1)

    • 通配符

    • 继承


    使用的规则也很简单,就是 选择器的权值加到一起,大的优先;如果权值相同,后定义的优先 。虽然很简单,但如果书写的时候没有注意,很容易就会导致CSS的重复定义,代码冗余。

    比如

    .divClass span { color:Red;} 优先级别就是:10+1=11


    从上面我们可以得出两个关键的因素:

    • 权值的大小跟选择器的类型和数量有关
    • 样式的优先级跟样式的定义顺序有关

    关于CSS的执行效率:

    1. 样式系统从最右边的选择符开始向左进行匹配规则。只要当前选择符的左边还有其他选择符,样式系统就会继续向左移动,直到找到和规则匹配的元素,或者因为不匹配而退出。
    2. 如果你非常在意页面的性能那千万别使用CSS3选择器。实际上,在所有浏览器中,用 class 和 id 来渲染,比那些使用同胞,后代选择器,子选择器(sibling, descendant and child selectors)对页面性能的改善更值得关注。

    完整CSS选择器优先级

    展开全文
  • CSS选择器

    2020-04-14 21:14:36
    CSS选择器 CSS3选择器规范地址: https://www.w3.org/TR/2011/REC-css3-selectors-20110929/ CSS3选择最新选择器规范: https://www.w3.org/TR/selectors !—问题—! 1.css的全称是什么? 2.样式表的组成 3.浏览器...

    CSS选择器

    CSS3选择器规范地址: https://www.w3.org/TR/2011/REC-css3-selectors-20110929/
    CSS3选择最新选择器规范: https://www.w3.org/TR/selectors

    !—问题—!
    1.css的全称是什么?
    2.样式表的组成
    3.浏览器读取编译css的顺序?

    1.基本选择器

    	/*通配符选择器*/		* { margin: 0; padding: 0; border: none; }
    	/*元素选择器*/		body { background: #eee; }
    	/*类选择器*/		.list { list-style: square; }
    	/*ID选择器*/		#list { width: 500px; margin: 0 auto; }
    	/*后代选择器*/		.list li { margin-top: 10px; background: #abcdef; }
    

    2.基本选择器扩展

    	/*子元素选择器*/		#wrap > .inner {color: pink;}
    				也可称为直接后代选择器,此类选择器只能匹配到直接后代,不能匹配到深层次的后代元素
    	/*相邻兄弟选择器*/	#wrap #first + .inner {color: #f00;}
    				它只会匹配紧跟着的兄弟元素
    	/*通用兄弟选择器*/	#wrap #first ~ div { border: 1px solid;}
    				它会匹配所有的兄弟元素(不需要紧跟)
    	/*选择器分组*/		h1,h2,h3{color: pink;}  
    				此处的逗号我们称之为结合符
    

    3.属性选择器

    	/*存在和值属性选择器*/	
    		[attr]:该选择器选择包含 attr 属性的所有元素,不论 attr 的值为何。
    		[attr=val]:该选择器仅选择 attr 属性被赋值为 val 的所有元素。
    		[attr~=val]:表示带有以 attr 命名的属性的元素,并且该属性是一个以空格作为分隔的值列表,其中至少一个值为val。
    	
    	/*子串值属性选择器*/
    		 [attr|=val] : 选择attr属性的值是val(包括val)或以val-开头的元素。
    		 [attr^=val] : 选择attr属性的值以val开头(包括val)的元素。
    		 [attr$=val] : 选择attr属性的值以val结尾(包括val)的元素。
    		 [attr*=val] : 选择attr属性的值中包含字符串val的元素。
    

    4.伪类与伪元素选择器

    	/*链接伪类*/		注意:link,:visited,:target是作用于链接元素的!
    			:link		表示作为超链接,并指向一个未访问的地址的所有锚
    			:visited	表示作为超链接,并指向一个已访问的地址的所有锚
    			:target 	代表一个特殊的元素,它的id是URI的片段标识符
    	/*动态伪类*/		
    	注意:hover,:active基本可以作用于所有的元素!
    			:hover		表示悬浮到元素上
    			:active		表示匹配被用户激活的元素(点击按住时)
    			
    			由于a标签的:link和:visited可以覆盖了所有a标签的状态,所以当:link,:visited,:hover,:active同时出现在a标签
    			身上时 :link和:visited不能放在最后!!!
    			
    			隐私与:visited选择器
    				只有下列的属性才能被应用到已访问链接:
    					color
    					background-color
    					border-color
    	/*表单相关伪类*/
    			:enabled	匹配可编辑的表单
    			:disable	匹配被禁用的表单
    			:checked	匹配被选中的表单
    			:focus		匹配获焦的表单
    			
    	/*结构性伪类*/
    			index的值从1开始计数!!!!
    			index可以为变量n(只能是n)
    			index可以为even odd
    				#wrap ele:nth-child(index)		表示匹配#wrap中第index的子元素 这个子元素必须是ele
    				#wrap ele:nth-of-type(index)	表示匹配#wrap中第index的ele子元素
    				除此之外:nth-child和:nth-of-type有一个很重要的区别!!
    						nth-of-type以元素为中心!!!
    						
    			:nth-child(index)系列			
    				:first-child
    				:last-child
    				:nth-last-child(index)
    				:only-child	(相对于:first-child:last-child 或者 :nth-child(1):nth-last-child(1))
    			:nth-of-type(index)系列
    				:first-of-type
    				:last-of-type
    				:nth-last-type(index)
    				:only-of-type	(相对于:first-of-type:last-of-type 或者 :nth-of-type(1):nth-last-of-type(1))
    				
    			:not		
    			:empty(内容必须是空的,有空格都不行,有attr没关系)
    	/*伪元素*/
    			::after
    			::before
    			::firstLetter
    			::firstLine
    			::selection
    

    5.css声明的优先级

    选择器的特殊性

      选择器的特殊性由选择器本身的组件确定,特殊性值表述为4个部分,如    0,0,0,0
    		一个选择器的具体特殊性如下确定:
    		       1.对于选择器中给定的ID属性值,加 0,1,0,0
    		       2.对于选择器中给定的各个类属性,属性选择,或伪类,加 0,0,1,0
    		       3.对于选择器中的给定的各个元素和伪元素,加0,0,0,1
    		       4.通配符选择器的特殊性为0,0,0,0
    		       5.结合符对选择器特殊性没有一点贡献
    		       6.内联声明的特殊性都是1,0,0,0
    		       7.继承没有特殊性
    
    			特殊性 1,0,0,0 大于所有以0开头的特殊性(不进位)
    			选择器的特殊性最终都会授予给其对应的声明
    			如果多个规则与同一个元素匹配,而且有些声明互相冲突时,特殊性越大的越占优势
    
    			注意:id选择器和属性选择器
    			      div[id="test"](0,0,1,1) 和 #test(0,1,0,0)   
    

    重要声明

    		有时某个声明比较重要,超过了所有其他声明,css2.1就称之为重要声明
    		并允许在这些声明的结束分号之前插入  !important  来标志
    		必须要准确的放置  !important 否则声明无效。 
    		!important 总是要放在声明的最后,即分号的前面
    		 
    		 标志为 !important的声明并没有特殊的特殊性值,不过要与非重要声明分开考虑。
    		 实际上所有的重要声明会被浏览器分为一组,重要声明的冲突会在其内部解决
    		 非重要声明也会被分为一组,非重要声明的冲突也会在其内部解决
    		 如果一个重要声明与非重要声明冲突,胜出的总是重要声明
    

    继承

    		继承没有特殊性,甚至连0特殊性都没有
    		0特殊性要比无特殊性来的强
    

    来源

    		css样式的来源大致有三种
    		  创作人员
    		  读者
    		  用户代理   
    

    权重:

    		   读者的重要声明
    		   创作人员的重要声明
    		   创作人员的正常声明
    		   读者的正常声明
    		   用户代理的声明
    

    层叠

    		1.找出所有相关的规则,这些规则都包含一个选择器
    	    2.计算声明的优先级
    	               先按来源排序
    	               在按选择器的特殊性排序
    	               最终按顺序
    
    展开全文
  • 本篇文章将来给大家介绍css选择器优先级的排序,话不多说,我们来直接看正文内容。 打造全网web前端全栈资料库(总目录)看完学的更快,掌握的更加牢固,你值得拥有(持续更新) 在看css选择器优先级顺序前,我们...

    css的选择器有很多种,那么,自然而然的就会有优先级这一概念出现,所以,css选择器优先级顺序是怎样的呢?本篇文章将来给大家介绍css选择器优先级的排序,话不多说,我们来直接看正文内容。

    打造全网web前端全栈资料库(总目录)看完学的更快,掌握的更加牢固,你值得拥有(持续更新)

    在看css选择器优先级顺序前,我们先来简单说说css基本选择器有哪些?

    1、标记选择器(如:body,div,p,ul,li)

    2、id选择器(如:id="name",id="name_txt")

    3、类选择器(如:id="name",id="name_txt")

    4、后代选择器(如:#head .nav ul li 从父集到子孙集的选择器)

    5、子元素选择器(如:div>p ,带大于号>)

    6、伪类选择器(如:就是链接样式,a元素的伪类,4种不同的状态:link、visited、active、hover。)

    • 看完了基本的css选择器类型后,我们接着来看一下css优先级的概念。
    • 当两个规则都作用到了同一个html元素上时,如果定义的属性有冲突,那么应该用谁的值的,用到谁的值谁的优先级就高。

    我们来看一下css选择器优先级的算法:

    每个规则对应一个初始"四位数":0、0、0、0
    若是 行内选择符,则加1、0、0、0
    若是 ID选择符,则加0、1、0、0
    若是 类选择符/伪类选择符,则分别加0、0、1、0
    若是 元素选择符,则分别加0、0、0、1
    算法:将每条规则中,选择符对应的数相加后得到的”四位数“,从左到右进行比较,大的优先级越高。  

    看完了上述内容,那我们就来看看css选择器优先级的具体排序。

    css选择器优先级最高到最低顺序为:

    1.id选择器(#myid)

    2.类选择器(.myclassname)

    3.标签选择器(div,h1,p)

    4.子选择器(ul < li)

    5.后代选择器(li a)

    6.伪类选择(a:hover,li:nth-child)

    最后,需要注意的是:  

    • !important的优先级是最高的,但出现冲突时则需比较”四位数“;
      优先级相同时,则采用就近原则,选择最后出现的样式;
      继承得来的属性,其优先级最低。

    以上就是本篇文章的全部内容,关于css选择器当然不止上述的六个选择器,更多css选择器的内容可以参考css使用手册

    以上就是css选择器优先级顺序是什么?css基本选择器优先级的介绍的详细内容,更多请关注我!!!!

    展开全文
  • 1.CSS规定拥有更高确定度的选择器优先级更高 2.如果样式中包含冲突的规则,且它们具有相同的确定度。那么,后出现的规则优先级高。 优先级:由高到低(从上到下) !important 内联(1,0,0,0) id: (0,1,0,0) 类:(0,0,1,...
  • CSS选择器 HTML:定义网页元素 CSS:美化网页元素,控制HTML标签展示样式 CSS与HTML相结合,结合方式如下: (1)内联样式:CSS代码复用性太低,书写凌乱,不推荐,缺点就是一次只能控制一个标签端的展示样式 (2)...
  • 1. E F 匹配 E 元素下所有的子元素 F(后代选择器) eg: CSS .box a{ color: red; } 匹配 .box 下所有的子元素 a 2. E > F 匹配 E 元素下第一级子元素 F(子选择器) eg: CSS .box>a{ ...
  • 本篇文章将来给大家介绍css选择器优先级的排序,话不多说,我们来直接看正文内容。 在看css选择器优先级顺序前,我们先来简单说说css基本选择器有哪些? 1、标记选择器(如:body,div,p,ul,li) 2、id选择器(如:id...
  • css选择器知识汇总

    2019-06-12 10:33:48
    css选择器知识汇总 对于大多数程序员来说,都很熟悉css选择器,也深知其重要性。打个比方说:我们给一个标签设定了一个class类,设定属性和样式,但是最终页面却没有显示我们给class中设定的样式,属性没有起作用。...
  • CSS选择器
  • CSS 选择器性能提升

    2020-02-24 20:51:30
     CSS选择器对性能的影响源于浏览器匹配选择器和文档元素时所消耗的时间,所以优化选择器的原则是应尽量避免使用消耗更多匹配时间的选择器。而在这之前我们需要了解CSS选择器匹配的机制, 如子选择器规则: #...
  • CSS三大特性—— 继承...css选择符分类 首先来看一下css选择符(css选择器)有哪些? 1.标签选择器(如:body,div,p,ul,li) 2.类选择器(如:class="head",class="head_logo") 3.ID选择器(如:...
  • 1、类型选择器CSS中的一种选择器是元素类型的名称。使用这种选择器(称为类型选择器),可以向这种元素类型的每个实例上应用声明。例如,以下简单规则的选择器是H1,因此规则作用于文档中所有的H1元素。2、简单属性...
  • web前端@css选择器

    千次阅读 2019-09-03 14:13:52
    web前端@css选择器超级详细 文章很长 需耐心阅读 内容总览 内容总览 学会使用CSS选择器 熟记CSS样式和外观属性 熟练掌握CSS各种选择器 熟练掌握CSS各种选择器 熟练掌握CSS三种显示模式 熟练掌握CSS背景属性 熟练...
  • CSS选择器及优先级 总结

    万次阅读 多人点赞 2018-03-14 22:02:18
    id选择器选择器 元素选择器 通配符选择器 浏览器自定义或继承 总结排序:!important &amp;amp;gt; 行内样式 &amp;amp;gt; ID选择器 &amp;amp;gt; 类选择器 &amp;amp;gt; 元素 &amp;amp;gt;...
  • 前端性能优化:CSS 选择器性能

    千次阅读 2016-08-03 09:43:51
    CSS选择器效率:CSS选择器具有高效的继承性,引用Steve Souders的话, CSS选择器效率从高到低的排序如下:ID选择器 比如#header类选择器 比如.promo元素选择器 比如 div兄弟选择器 比如 h2 + p子选择器 比如 li > ul...
  • CSS选择器优先级排列

    2017-11-09 00:47:00
    CSS选择器的效率从高到低做了一个排序: 1.id选择器(#myid) 2.类选择器(.myclassname) 3.标签选择器(div,h1,p) 4.相邻选择器(h1+p) 5.子选择器(ul < li) 6.后代选择器(li a) 7.通配符选择器(*) 8....
  • css选择器的优先级

    千次阅读 2017-03-23 14:15:47
    关于下列CSS选择器:ID选择器、类选择器、伪类选择器、标签名称选择器,排序正确的是: ID选择器>Class选择器=伪类>标签名称选择器 伪类和类选择器的优先级是一样的。 一般来说,选择器的优先级(从上往下...
  • CSS选择器具有高效的继承性,引用Steve Souders的话, CSS选择器效率从高到低的排序如下: ID选择器 比如#header类选择器 比如.promo元素选择器 比如 div兄弟选择器 比如 h2 + p子选择器 比如 li > ul后代选择器 ...
  • CSS - 选择器优先级介绍

    万次阅读 2018-05-27 15:54:10
    特殊性从CSS选择器文章中我们知道,与多种不同的方法选择元素。所以当我们使用多种规则的时候,我们必须要明确其中的优先级。但是在CSS选择器的规则中,称之为特殊性,特殊性越高,自然优先级越高。此时我们会先得到...
  • css选择器以及性能开销

    千次阅读 2016-05-30 16:39:07
    如果你非常在意页面的性能那千万别使用CSS3选择器。实际上,在所有浏览器中,用 class 和 id 来渲染,比那些使用同胞,后代选择器,子选择器(sibling, descendant and child selectors)对页面性
  • CSS选择器详解(伪类)

    万次阅读 多人点赞 2015-11-28 19:09:41
    CSS选择器详解 之 伪类伪类对大小写不敏感结构伪类选择器结构伪类是CSS3新增的类型选择器,利用DOM树实现元素过滤,通过文档结构的相互关系来匹配元素,可以减少class和id属性的定义,使文档变得更加简洁。...
  •  CSS选择器对性能的影响源于浏览器匹配选择器和文档元素时所消耗的时间,所以优化选择器的原则是应尽量避免使用消耗更多匹配时间的选择器。而在这之前我们需要了解CSS选择器匹配的机制, 如子选择器规则: #...
  • id选择器(#myid)2.类选择器(.myclassname)3.标签选择器(div,h1,p)4.相邻选择器(h1+p)5.子选择器(ul
  • CSS三大特性—— 继承、 优先级和层叠。 继承:即子类元素继承父类的...首先来看一下css选择符(css选择器)有哪些?  1.标签选择器(如:body,div,p,ul,li)  2.类选择器(如:class="head",class="hea
  • 而在标签内写入style=""的方式,应该是CSS的一种引入方式,而不是选择器,因为根本就没有用到选择器。而一般人们将上面这几种方式结合在一起,所以就有了5种或6种选择器了。 三种基本的选择器类型 语法如下: ...
  • JavaWeb - HTML,字体/列表/图形/超链接/表格/表单/其它(标签),CSS,CSS与HTML结合方式,CSS选择器,CSS扩展选择器
  • CSS选择器是有权重的,当不同选择器的样式设置有冲突时,会采用权重高的选择器设置样式。权重(即优先级)的规则如下,权重越高,优先级越高: 同一个元素可以使用多个规则来指定它的同一样式(比如字体颜色),每...
  • important > 行内样式 > id选择器 > 类选择器 > 标签选择器 > 通配符 > 继承 > 浏览器默认 id选择器(#myid) 类选择器(.myclassname) 标签选择器(div,h1,p) 相邻选择器(h1+p) 子选择器(ul 后代选择器...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 36,887
精华内容 14,754
关键字:

css选择器排序