css层叠规则,优先级算法】的更多相关文章

前言 层叠样式表CSS最基本的一个特性就是层叠.冲突的声明通过层叠进行排序,由此确定最终的文档表示.而这个过程的核心就是选择器及其相关声明的特殊性.重要性.来源及继承机制.本文将详细介绍CSS层叠 特殊性(优先级) 1.内联样式 -> 1,0,0,0 2.ID属性值 -> 0,1,0,0 3.类属性值.属性选择或伪类 -> 0,0,1,0 4.元素或伪元素 -> 0,0,0,1 5.结合符和通配选择器 -> 0,0,0,0 特殊性的值是从左向右排序的,特殊性值1,0,0,0大…
CSS层叠规则: 1.找出所有相关的规则,这些规则都包含与一个给定元素匹配的选择器. 2.按权重(!important)和来源对应用到给定元素的所有声明进行排序. 3.按特殊性对应用到给定元素的所有声明进行排序,有较高特殊性的元素权重要大于有较低特殊性的元素,0特殊性比无特殊性要强(继承). 4.按出现顺序对应用到给定元素的所有声明进行排序,后面出现的声明权重要大于前面出现的声明,即后定义的样式会覆盖前面定义的样式.(适用于特殊性一样的时候) 解读: 一.权重和来源 来源: 1.创作人员(开发者…
1. 引言 浏览器CSS匹配顺序: 浏览器CSS匹配不是从左到右进行查找,而是从右到左进行查找. 比如#divBox p span.red{color:red;}, 浏览器的查找顺序如下: 先查找html中所有class='red'的span元素,找到后,再查找其父辈元素中是否有p元素,再判断p的父元素中是否有id为divBox的div元素,如果都存在则匹配上. 浏览器从右到左进行查找的好处是为了尽早过滤掉一些无关的样式规则和元素. 上图中,css中的两个选择器都是针对<span>的,而且两个…
虽然学前端最刚开始就是html+css,一直因为这些看起来太简单就没有什么总结,不过看似很简单的东西,研究起来也深不可测,问起来js可能回答的头头是道,css这么简单的东西,其中一个优先级的问题就能难道大片人,知道有哪些css选择器,大部分人都能回答出常用常见的几个id选择器,类选择器,标签选择器,伪类选择器等,但应该大部分人都答不全.所以本篇打算总结一下css的选择器和其优先级. 优先级是如何计算的? 1. 优先级就是分配给指定的css声明一个权重. 2. 当优先级相等的时候,最后的那个声明将…
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd"> <html xmlns="http://www.w3.org/1999/xhtml" lang="en"> <head> <meta http-equiv="Content-Type"…
一.基本的优先级规则 比较同一级别的个数,数量多的优先级高,如果相同即比较下一级别的个数,至于各级别的优先级如下: important > 内联 > ID > 类 > 标签 | 伪类 | 属性选择 > 伪对象 > 通配符 > 继承 二.CSS权重规则 在<页面重构中的模块化设计>中提到,影响CSS样式权重,有两个重要因素: A:样式的优先级跟样式定义的顺序有关 B:权值的大小跟选择器的类型和数量有关 一般来说,在同一个CSS文件中,如果有两个同名的样式…
首先,给大家看一篇关于CSS优先级的示例:http://www.ido321.com/76.html 一.基本的优先级规则 比较同一级别的个数,数量多的优先级高,如果相同即比较下一级别的个数,至于各级别的优先级如下: important > 内联 > ID > 类 > 标签 | 伪类 | 属性选择 > 伪对象 >  通配符 > 继承 二.CSS权重规则        在<页面重构中的模块化设计>中提到,影响CSS样式权重,有两个重要因素: A:样式的优…
通配选择符* { sRules }  类型选择符E { sRules }  td { font-size:14px; width:120px; }   属性选择符 E [ attr ] { sRules } E [ attr = value ] { sRules } E [ attr ~= value ] { sRules } E [ attr |= value ] { sRules }  h[title] { color: blue; }/* 所有具有title属性的h对象*/ span[cl…
CSS的specificity特性或非凡性,它是一个衡量css优先级的一个标准, 既然的标准就有判定规定和计算方式,specificity用一个四位数来表示, 更像四级从左到右,左的最大级,一级大于一级,数位之间没有进制, 多个选择符用到同一个元素上时那么specificity上值高的最终获得优先级. css specificity 规则 1.行内样式优先级specificity值为1,0,0,0 高于外部定义 如<div style="height:50px; width:50px;&q…
CSS选择器:基本可以分为通配选择器,标签选择器,类选择器,ID选择器,简单属性选择,具体属性选择,根据部分属性值选择,特定属性选择,从结构上来分还有后代选择器,子元素选择器,相邻兄弟选择器以及伪类.详细一些请见下表:类型选择符 E{}属性选择符E[attr]{}E[attr=value]{}选择具有attr属性且属性值等于value的EE[attr~=value]{}选择具有attr属性且属性值为用-连字符分隔的字词列表,由value开始的E.例如 <!DOCTYPE html PUBLIC…
一.首先从CSS级别来进行优先级划分: CSS控制页面样式的四种方法: 1.行内样式 通过style特性 <p style=”color:#F00; background:#CCC; font-size:12px;”></p> 2.内嵌方式 将CSS代码写在head和/head之间,并用style进行声明 <style type=”text/css”><!–#div1{width:64px; height:64px; float:left;}#div1 img{w…
当你随机打开一个页面,查看源代码,你会发现,同一个元素,不止有一个CSS选择器及对应的样式.而一个元素只能应用一个样式,那么一堆样式中究竟是应用哪一个呢?这就涉及到CSS的层叠规则了.下面就来总结下CSS的层叠规则. 概念:CSS中的层叠就是让多个来源的样式叠加在一起,然后结合样式的特殊性(后面详细介绍).继承性,确定最终应用的样式. 样式的来源分五种: 1.浏览器默认的样式: 2.用户自定义样式.一些页面中会提供一些让用户自定义字体大小颜色等的快捷键: 3.外部样式,即<link>引用的CS…
CSS 选择符有哪些?哪些属性可以继承?优先级算法如何计算? CSS3新增伪类有那些?CSS新增了哪些特性?下面我整理了一些,仅供参考. CSS 选择符: 1)      id选择器(# myid) 2)      类选择器(.myclassname) 3)      标签选择器(div, h1, p) 4)      相邻选择器(h1 + p) 5)      子选择器(ul > li) 6)      后代选择器(li a) 7)      通配符选择器( * ) 8)      属性选择器…
css知多少(3)——样式来源与层叠规则   上一节<css知多少(2)——学习css的思路>有几个人留言表示思路很好.继续期待,而且收到了9个赞,我还是比较欣慰的.没看过的朋友建议先去看看上一节. 这一节就开始实践上一节的思路! 1. “层叠”的概念 CSS——层叠样式表,其中的“层叠”是什么意思呢?层叠就是浏览器对多个样式来源进行叠加,最终确定结果的过程.举一个简单的例子: 上图中有两个样式来源,第一个是引用的css1.css,第二个是自己在style中编写的样式.“层叠”是个叠加的过程,…
CSS 选择符有哪些? 1.id选择器(#id) 2.类选择器(.class) 3.标签选择器(div,h1,p) 4.相邻选择器(h1 + p) 5.子选择器(ul > li) 6.后代选择器(li a) 7.通配符选择器( * ) 8.属性选择器(a[title]) 9.伪类选择器(a:hover,li:nth-child) 可继承的样式 1.字体系列属性 font,font-family,font-weight,font-size,font-style,font-variant,font-…
目录 webkit中样式相关类及类间关系 样式规则匹配 权重(优先级)计算 权重相同时的覆盖原则 webkit中样式相关类及类间关系 资料来源: <webkit技术内幕> 结构相关类: 1.StyleRuleBase类: 单个的样式规则(选择器+规则体) 2.StyleSheetContents类: 样式规则集,其成员-m_childRules是一个StyleRuleBase实例的列表,是1:n的数量关系 3.CSSStyleSheet类: 成员-m_contents是一个StyleSheet…
CSS的三大特性(继承.层叠和优先级) 1.css属性的继承 CSS中有些属性是可继承的,何为属性的继承? 一个元素如果没有设置某些属性的值,就会跟随(继承)父元素的属性值.当然,一个元素如果有设置自己的属性值,就会使用自己的. 比如color.font-size等属性是可以继承的,怎样查看某些属性是继承父元素的,还是自己设置的呢?(可通过浏览器调试工具查看) 示例代码如下:给父级div设置字体样式: .box { color: red; font-size: 16px; } <div clas…
前面的话 层叠样式表CSS最基本的一个特性就是层叠.冲突的声明通过层叠进行排序,由此确定最终的文档表示.而这个过程的核心就是选择器及其相关声明的特殊性.重要性.来源及继承机制.本文将详细介绍CSS层叠 特殊性 选择器的特殊性由选择器本身的组件确定.特殊性值表述为4个部分(如:0,0,0,0).下面来介绍不同的选择器的特殊性值 1.内联样式 -> 1,0,0,0 2.ID属性值 -> 0,1,0,0 3.类属性值.属性选择或伪类 -> 0,0,1,0 4.元素或伪元素 -> 0,0,…
Web标准化运动的口号——分离.分离.分离. 在2003年的 SXSW 会议中, Steve Champeon 和 Nick Finck 做了一个名为“面向未来的全方位 Web 设计”的演讲,揭示了这种 Web 开发新方法的蓝图. Steve 还给它取了个名称:渐进增强(Progressive Enhancement). 从内容花生开始,将其标记为富含语义的 (X)HTML,接着给内容裹上一层富含奶油的 CSS. 最后,添加 JavaScript 作为糖果硬壳,这就做成了一颗可口无比的美味(并使…
css权重及优先级问题 几个值的对比 初始值 指定值 计算值 应用值 CSS属性的 指定值 (specified value)会通过下面3种途径取得: 在当前文档的样式表中给这个属性赋的值,会被优先使用. 如果在当前文档的样式表中没有给这个属性赋值,那么它会尝试从父元素那继承一个值. 如果上面的两种途径都不可行,则把CSS规范中针对这个元素的这个属性的初始值作为指定值 应用值(used value)是完成所有计算后最终使用的值.计算出CSS属性的最终值有三个步骤. 首先,指定值specified…
专业玩家请移步:http://www.w3.org/TR/CSS2/cascade.html 使用CSS控制页面样式时,常常出现设定的样式被"覆盖",不能生效的情况. 浏览器是根据如何的优先次序推断CSS样式的优先级的呢? 总结例如以下: 样式的来源 样式有多处来源,有网页开发作者设定的.有浏览器默认的.还有网页用户设定的.各种样式声明逐层叠加,或继承.或覆盖.或叠加计算,影响元素的展现效果. 样式的来源依次有: 1.浏览器默认样式: 2.用户样式. 3.作者链接样式. 4.作者页内嵌…
层叠性 所谓层叠性是指多种CSS样式的叠加,也就是说后面设置的样式会层叠(覆盖)之前的样式,层叠性的前提是CSS的选择器的优先级相同,例如,当使用内嵌式CSS样式表定义<p>标记字号大小为12像素,链入式定义<p>标记颜色为红色,那么段落文本将显示为12像素红色,即这两种样式产生了叠加. <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8&q…
span{ color:red;} *{ font-family:"楷体";line-height:2em; font-size:18px;} 盒模型 CSS定义所有的元素都可能拥有像盒子一样的外形和平面空间,即都包含边界.边框.补白.内容区域 网页中的大部分对象,实际呈现形式都是一个个盒子形状对象,页面都是由一个个盒子形状的区域拼合而成的. 盒模型关系到网页设计中排版.布局.定位等操作,任何元素都必须遵循盒模型规则. 包含:margin border padding content(…
css 层叠: 多个相同的css声明(属性),应用到同一个元素上.当一个标签声明冲突时,浏览器会自动出发层叠机制 1:比较优先级 2:比较特殊性 3:比较源次序 依次经过上面的1,2,3的比较后,最终会有一个声明会胜出 --------------------------------------------------------------------------------------------- css层叠比较第2步的特殊性 2:比较特殊性:规则适用范围越大,特殊性越小,反之:发生冲突时…
CSS3基础——笔记 CSS是Cascading Style Sheet的缩写,翻译为"层叠样式表" 或 "级联样式表".CSS定义如何显示HTML的标签央视,用于设计网页的外观效果.通过使用CSS实现页面的内容与表现形式分离,极大提高了工作效率. 一.CSS基础用法 CSS代码可以在任何文本编辑器中打开和编辑.因此,不管读者有没有变成基础,初次接触CSS时会感到很简单. 1.1 CSS样式 样式是CSS最小的语法单元,每个样式包含两部分内容:选择器和声明(规则),…
CSS样式选择器分为4个等级,a.b.c.d,可以以这四种等级为依据确定CSS选择器的优先级. 1.如果样式是行内样式(通过Style=””定义),那么a=12.b为ID选择器的总数3.c为Class类选择器的数量.4.d为类型选择器的数量5.属性选择器,伪类选择器和class类选择器优先级一样,伪元素选择器和类型选择器一样6.!important 权重最高,比 inline style 还要高. 例如:   选择器 特殊性 (a,b,c,d) Style= ”” 1,0,0,0 #wrappe…
最常用的五类CSS选择器 准确而简洁的运用CSS选择器会达到非常好的效果.我们不必通篇给每一个元素定义类(class)或ID,通过合适的组织,可以用最简单的方法实现同样的效果.在实际工作中,最常用的选择器有以下五类: 一.标签选择器: 顾名思议,标签选择器是直接将HTML标签作为CSS选择器,可以是p.h1.dl.strong等HTML标签.如: p{font:12px;} em{color:blue;} dl{float:left;margin-top:10px;} 二.id选择器: 我们通常…
CSS选择器.优先级与匹配原理 导航 为了分析Bootstrap源码,所以的先把CSS选择器相关的东东给巩固好 废话就不多说了 CSS 2.1 selectors, Part 1 计算指定选择器的优先级:重新认识CSS的权重 标签的权值为 0,0,0,1 类的权值为 0,0,1,0 属性选择的权值为 0,0,1,1 ID的权值为 0,1,0,0 important的权值为最高 1,0,0,0 使用的规则也很简单,就是 选择器的权值加到一起,大的优先:如果权值相同,后定义的优先 .虽然很简单,但如…
概述 层叠就是对样式的层叠.是某种样式在样式表中逐层叠加的过程.让浏览器对某个标签特定属性值的多个来源,最终确定使用那个值.层叠是整个CSS的核心机制. HTML文档样式的来源 1.浏览器默认样式,每个浏览器本身就有一套默认的样式 2.用户样式,这对于视障用户很重要 3.作者样式.也就是Web开发者设计的样式 浏览器层叠各个样式的顺序: 浏览器会按照上面的顺序,依次检查每个样式的来源,并更新相关标签的设定,当整个检查更新结束后,再将每个标签以最终设定的样式显示出来 层叠规则 规则一:找到应用给每…
1.相同权值情况下,CSS样式的优先级总结来说,就是--就近原则(离被设置元素越近优先级别越高): 内联样式表(标签内部)> 嵌入样式表(当前文件中)> 外部样式表(外部文件中). 2.权值不同时,浏览器是根据权值来判断使用哪种css样式的,哪种样式权值高就使用哪种样式. 下面是权值的规则: 标签的权值为1,类选择符的权值为10,ID选择符的权值最高为100.例如下面的代码: p{color:red;} /*标签,权值为1*/ p span{color:green;} /*两个标签,权值为1+…