新手学习css优先级

来源:脚本之家  责任编辑:小易  

如果你写的样式调用在前,而外部通用样式在后,那么它就会覆盖你的(css的意思是“层叠样式表”,而“层叠”的意思就是后面的会覆盖前面的)。而内联样式(也就是你说的“行内样式”)的优先级比外部样式(通过link标签调用的)和外联样式(写在style

css不是一种程序语言,而是一种描述语言。因此,可以说,css理解起来是非常容易的,大部分人通过简单的学习就可以懂得如何写css代码来定义网页的样式。但是,大部分人同样也会在写css的过程中产生很多困惑,比如为什么自己写的某段css没有生效,或者呈现出的样式和预计的不同,但又不知道要如何解决。

比较多哟,给你说下几种比较常见的吧: 1、优先级最高的是内部选择器,写在标签内部,例如,这里的color=red是写在标签内部的,所以优先级最高 2、其次是id选择器 例如 #d1{ color:red },这里面#d1就是id选择器,用#表示, 标签里面是id属性 样

造成这些问题的主要因素,是css优先级。css优先级是css中最难理解的概念之一,但对于掌握css来说非常重要。理解css优先级,不仅有利于快速解决样式问题,而且能在布局层面,帮助我们写出更明晰,更合理的css代码。

此时如果css1和css2有相同的属性,css2会覆盖css1,跟位置有关,在后的就会覆盖前面的。如果有三个class,css1 css2 css3 那么css3会覆盖前面两个样式,前提是它们有同样的属性,如果不同的话,这个div的样式就是两个之和。例如 .css1 { width:3

什么是css优先级

三种基本的选择器类型 语法如下: ◆标签名选择器,如:p{},即直接使用HTML标签作为选择器。 ◆类选择器,如.polaris{}。 ◆ID选择器,如#polaris{}。 注意,ID选择器跟类选择器有很大的不同:一个页面内不能出现相同的ID;再就是ID也是后台开发人

css的组成单元是样式规则(CSS Rule),单条样式规则的形式如下:

行内样式>内联样式>外联样式

其中,选择符(Selector)决定了后边所写的属性定义会作用到哪些元素,因此称为选择符。

现在,去内地很正常。前几天会有点醉氧,完了就活蹦乱跳了。但是!敲重点!解放前,西藏人去内地是很容易死的。这在《艽野尘梦》一书中写得很清楚。这本书的作者,是“湘西王”陈渠珍。陈的经历很传奇。年轻时,是清政府的军官。曾带兵进藏,遭遇军队哗变,一度差点丧生于茫茫草原。后来当了湘西凤凰的“军阀”,算是一方的土王了。他的身边,曾有个文字秘书。这个秘书的名字,叫沈从文。《艽野尘梦》,写的就是陈渠珍当年在西藏时的一段极其坎坷惊险的绝地求生记。书中有个女主角,是他娶的藏妾,也是大家闺秀出身,名叫“西原”。(位于林芝的陈渠珍、西原塑像)陈渠珍虽然是军官,但在高原生存经验其实很弱。在藏北无人区羌塘草原,完全是靠着

css有一个核心特性,当多条样式规则中的同一个属性(比如padding)作用到了同一个元素,这些样式之间就会发生覆盖:

毫无疑问“非洲三哥”是非洲野狗,非洲野狗;体重35-70斤之间,咬合力400磅,咬合力是职业斗犬咬合力的2倍多。非洲野狗是犬科动物所以喜欢群居,一群大约40-若干只不等,一群最多不超过100只。相对比鬣狗,野狗智商更高,速度更快身体也更灵活,团队合作能力更强,在狂野的非洲大草原群居才是王道。野狗战术基本是;前面几个负责打酱油佯攻,后面几个负责掏肛。后面掏肛一旦得手,前面打酱油的几个就会马上发动攻击撕咬猎物的鼻子。野狗的这种战术非常缠人,而且野狗身体闪避能力非常强,就算是狮子也不想去招惹野狗。和鬣狗比,野狗群殴比显得更有技巧,而且凶狠残忍程度不低于鬣狗。非洲野狗,澳洲野狗,北美灰狼,亚洲红豺,被

图中由前端调试工具所显示的,被划掉的css样式,不会呈现在这里选中的网页元素上,因为它们被覆盖掉了。css优先级,就是指在这种情况下,得出“应该由哪一条样式规则的内容覆盖掉其他的”这个结论的过程中所遵循的原则。更一般的表述是,优先级高的css样式,将覆盖优先级低的css样式,成为最终网页元素的实际样式

1,会声会影X9(下载汉化破解版或带注册机的)会声会影x9可以说功能齐全,无所不能,不过要想真正弄不明白怎么用,需要下很大的功夫,会声会影制作片头、片尾、视频剪辑、合成、插入字幕、音乐等全部可以帮你实现。另外会声会影X9自带录屏功能,录制的视频也是超清。2,下面介绍接地气的视频制作软件,首先是爱剪辑,它是一款免费的剪辑软件,用户无需剪辑基础就可上手操作,功能强大。画面简洁易懂,添加文字、增加转场特效都很方便,甚至画面边框都有许多素材,很适合新手使用。3,会声会影,是一款功能强大的DV、HDV剪辑软件,操作简单且兼容性好,适合制作结婚、旅行或毕业动感影集,新人方便上手,还可以方便的刻录DVD。4

注意,前端调试工具显示的,”被划掉“的css样式,并不是说一定是完全覆盖。css中的一些组合属性(比如margin,可以拆分为margin-topmargin-rightmargin-bottommargin-left),在这种样式覆盖中遵循的是局部覆盖的原则,即使在前端调试工具中它们看起来“整个都被划掉了”:

野生动物中,那些相对弱小一点或乖顺一点的,例如猫咪、旱獭等小动物就会把自己的排泄物认真地埋起来,为的是表示自己的臣服,以防自己的排泄物气味影响到那些凶猛动物对领地的标记。另外,更重要的是,猫作为狩猎型的动物,不愿意被狩猎的对象发现他的踪迹,所以会尽力的去掩盖自己的气味,减少留下的踪迹。掩埋便便或尿尿就是要消除这些气味,避免被猎物发现,惊吓到他们。那是远古的本能留下来的,所以他们上完厕所会去掩埋,不过也有不记得做这个的家伙。而现在生活在我们周围的家猫也继承了这种防御和乖顺的本能,虽然在人类的家园,它们不会有很大的危险,但是出于本能,它们也照样会感到不安:外界的环境对它们来说是不确定的,说不定危险

css优先级的影响因素

css优先级的影响因素要考虑三部分内容,css选择符权重!important标识符属性继承。很多文章都阐述过css选择符权重这一点,但后面两部分却很少被提及。本文会依照这三部分做详细的说明。

属性继承

css中一部分属性是可继承属性,比如文本颜色color。css优先级的讨论,首先应认清css中的属性继承所带来的影响。由于存在可继承属性,一个网页元素的样式来源可以分为两类: 由css选择符直接定义到元素本身的样式。 css选择符未作用到,但继承自父级元素的样式。

定义到元素本身的样式,包括浏览器默认样式,一定比继承得到的样式优先级高。因此,可以这样认定:继承得到的样式的优先级是最低的,在任何时候,只要元素本身有同属性的样式定义,就可以覆盖掉继承值:

而且,继承样式是最低优先级这一点,是无视继承样式所在的样式规则的内容的。这就是说,继承样式所在的样式规则,即使其选择符的权重比元素本身样式的选择符的权重更高(本文后文会介绍选择符权重~ :) ),甚至继承样式被写了!important,继承样式会被元素本身样式覆盖这一点仍然成立。

举例来说明。下面这段html:

<div id="container"> <p class="note_text">acgtofe - 动漫与前端技术的综合博客</p> </div>

对应的css:

#container{color:darkblue;} .note_text{color:darkorange;}

这个部分在所有浏览器中的效果都是:

再为原来的css增加!important:

#container{color:darkblue !important;} .note_text{color:darkorange;}

然后,会发现所有浏览器中的效果都不变:

当一个元素有多个父级元素都定义了继承样式,这些继承样式之间的优先级又是怎样的?这时候,遵循的优先级原则可以叫做就近原则,也就是说,在存在多个继承样式时,层级关系距离当前元素最近的父级元素的继承样式,具有相对最高的优先级。同样,这时候也是无视样式规则内容的。

就近原则其实不算是新的结论,想一下,如果把每一个父级元素都作为当前元素,然后按照前边的“元素本身样式大于继承样式”的原则推理一遍,就可以明白,离得最近的父级元素的继承样式优先级最高,是很合理的。

css选择符权重

css选择符权重是css优先级的核心概念。但在考虑css选择符权重前,请记住,这条优先级原则涉及的样式都是指定义在元素本身的样式。

每一条样式规则的选择符,除了决定这条样式规则会作用到哪些元素之外,选择符也是浏览器判断css规则优先级的参考信息。css选择符权重不是简单的内容,但却可以用简单而直观的方法做阐述。

css选择符权重是一个数字游戏,比的就是谁的计算值更大。权重计算值大的样式规则将有更高的优先级。你可以想象为龙珠里的战斗力测量,在这场权重战争(Specificity Wars,这也是早期的一篇阐述css优先级的文章中用到的词)中,战斗力最强的将取得胜利。

战斗力的测量方法是统计选择符中的不同组成元素的个数,并以 (a,b,c,d) 这种形式来判断。其中,abcd分别代表了不同类别的选择符组成元素,且战斗力分别在不同的数量级,a最强,d最弱。从弱到强,这4个字母分别代表的类别是: 元素选择符(Element),伪元素选择符(Pseudo Element) d = 1 – (0,0,0,1) 类选择符 (Class),伪类选择符(Pseudo class),属性选择符(Attribute) c = 1 – (0,0,1,0) Id选择符 b = 1 – (0,1,0,0) 内联样式(Inline style) a = 1 – (1,0,0,0)

这里的伪元素和伪类做一下补充说明。伪元素选择符,指的是样式作用到的元素不是html结构中的实际元素,即不是真正的dom元素。目前只有:before,:after,:first-line,:first-letter和::selection这5个伪元素选择符。伪类选择符,则是指除前边的这部分选择符之外,在css中加入冒号:的,用于实现动态效果与智能控制的选择符,比如:hover,:nth-of-type(n)。从css3开始,通过区别使用双冒号::来表示伪元素,单冒号:来表示伪类,但为了和以前的浏览器兼容,:after这种诞生于css2的伪类选择符仍然允许使用单冒号的写法。

现在,可以找一些css选择符计算一下了:

看过这些例子后,请理解为,简单的分类计数,正是css中的战斗力测量方法。(a,b,c,d) 这种形式中,abcd分别是不同的数量级,a>b>c>d,和数字的大小比较方法相同,从高位开始,如果高位数字相同,则取低一位数字比较,以此类推。选择符权重计算值最大的样式规则中的属性,覆盖其他的样式规则中的同名属性。

如果你觉得自己计算麻烦,请到Specificity Calculator,这是一个非常棒的计算器。

(a,b,c,d) 中,a代表的内联样式实际是存在于html代码中,只能取值为0或1,所以和其他的较为不同。后边的bcd虽说是不同的数量级,但详细说来有多大差距呢?请看下面这一段Firefox浏览器源代码:

可以看出,class和id对应的十六进制数值之间隔了2位,所以,在Firefox中,要256(162)个class才相当于1个id。在不同浏览器中,这种层级差距,可能有所不同。在写本文的时间点,Opera和Chrome中用256+的class也不能大于id的权重。不过,这些细节信息并不重要,你在实际使用中不可能用到这个数量的选择符。所以,应认为前面所述的权重计算方法是可靠的。

如果权重计算值相同,则进入后一个环节:样式定义顺序。

样式定义顺序

权重计算值相同的样式规则,定义顺序靠后的优先级高。这里的定义顺序,包含了所有的静态样式(不包括由javascript创建<style>或<link>元素引入的样式)定义的可能情况。如直接写在html的<style>标签内的样式规则,通过<link>引入的css文件,以及@import引入的css文件。

请记住,只有权重计算值相同的时候,你才需要考虑样式定义顺序。

!important标识符

!important是可以写在样式规则中的某一属性定义值后的标识符,用于提升某一属性的样式定义的优先级。不同于决定整条样式规则优先级的css选择符权重,!important只影响自己所在位置的单一属性。!important在优先级原则中,可以理解为前文的(a,b,c,d)结构中的,比a更高位的标识:

然后,你完全再按照前文的css选择符权重的比较方法,就可以得出在这种情况下的css优先级了。具体说的话,可以表述如下: 写有!important标识符的样式,其优先级一定大于没有该标识符的样式。 在都写有!important标识符的样式之间,再按照一般的css选择符权重的优先级原则做判断。

css优先级的浏览器兼容性

css优先级虽然是不简单的内容,但幸运的是,除IE6和IE7存在少量优先级的bug(详见IE Specificity bugs)外,几乎所有浏览器都很一致地遵循css优先级原则。所以,css优先级是很通用的概念,可以在各种情况下应用而不必担心兼容性。

结语

css优先级的概念在本文就介绍到此。本文所阐述的仍有不够全面的地方,如果你碰到一些新的问题,欢迎来这里讨论。在实际应用中,理解css优先级并不是让我们去这样分析每一条样式规则,而只是让我们有一个更清醒的状态,知道如何去布局和控制自己所写的css。所谓“知己知彼,百战不殆”,也是这样的道理。

css全名是层叠样式表(Cascading Style Sheet),css优先级正是这种“层叠”中所遵循的原则,由此也可以看出css优先级的重要性。最后,以一个自制的图来结尾:

扩展阅读,根据您访问的内容系统为您准备了以下内容,希望对您有帮助。

新手学习HTML5+CSS3,CSS调用的优先级不对

将你login.css的第54行改成这样的 .login-h1改为

.cd-main-content .content-wrapper h1追问如果这样修改,login.css和style.css中的.cd-main-content .content-wrapper h1会不会冲突?追答login.css的内容直接覆盖style.css里面的内容

列出使用CSS的几种方法,并写出他们的优先级

HTML引用CSS的方法有四种:

1.内联式:直接将CSS放在HTML标记中使用,如下:

<p style="color:blue;margin-left:20px;">

这是一个段落

</p>

<!--这个段落颜色为蓝色,左边距为20像素-->

使用这种方法可以简单直接地对某个元素定义样式,但是一旦页面元素比较多时,代码会开始繁杂。所以我们进一步使用了另一种方法,内部样式表;

2.内部样式表:把样式表放到页面的<head>标记里面,如下:

<head>

    <style type="text/css" >

        p{color:blue;margin-left:20px;}

    </style>

</head>

……

<body>

    <p>这是一个段落</p>

</body>

<!--这个段落将生成和例一一样的效果-->

使用内部样式表可以把css代码和html代码分离,使页面更加整洁,但是我们定义的css样式多了之后,同样页面会变得内容很多,编辑代码也会变得麻烦,我们进一步使用更好的办法,链入外部样式表;

3.链入外部样式表:将样式表保存为一个css文件,在html页面中用<link>标记连接到这个样式表文件,如下:

index.html

<head>

<link href="myStyle.css" rel="stylesheet" type="text/css">

</head>

<body>

<p>这是一个段落</p>

</body>

index.cssp{color:blue;margin-left:20px;}

/*定义了段落的颜色为蓝色,左边距为20像素*/

这种方法有效的将css和html分离开来,也使代码工作变得更简单,是现在比较常用的方法。同样的一个样式表文件也可以供多个html页面使用,在制作大量相同样式的页面时,可以减少很大的工作量,而且也有利于我们修改编辑。

4.导入外部样式表:导入外部样式表时使用@import,如下:

<head>

    <style>

        @import url(myStyle.css);

    </style>

</head>

这种方法和第三种方法相似,但是在输入方法更有优势,实质上相当于存在内部样式表中。缺点在于他增加了请求数,加大了浏览器的开销;@import是css2.1的产物,低版本的浏览器将会不支持;

另外,当加载html页面时,link引用的文件会同时加载,@import是等HTML页面内容全部下载下来,再下载@import后面的文件,如果文件内容过大的话没页面会出现无样式的页面,闪烁几下才能正常显示,所以相比link,@import比较不利于用户体验

几种方法的优先级

内联式>外部样式表>内部样式表

个人根据学的时候理解的顺序整理下来的,希望采纳鸭~谢谢~

有什么问题还可以问我~

简述3种常用的css样式表及优先级顺序

如下所示:

1>外部样式表 : 将样式规则直接写在*.css文件中,然后再*.html页面中通过<link>标签引入的方式

2>内部样式表 :(位于<head> 标签内部)

3>内联样式 :(在 HTML 元素内部)

但是如果在css样式之后加 !important 属性,那么此属性优先执行本回答被网友采纳

CSS 属性设置优先级问题。

1.多个选择器可能会选择同一个元素,有3个规则,从上到下重要性降低:

!important的用户样式

!important的作者样式

作者样式

用户样式

浏览器定义的样式

2.

CSS规范为不同类型的选择器定义了特殊性权重,特殊性权重越高,样式会被优先应用。

权重设定如下:

html选择器,权重为1;

类选择器,权重为10;

id选择器,权重为100;

这里还有一种情况:在html标签中直接使用style属性,这里的style属性的权重为1000;

即如下情况:

#x34y {color:red}

<. p id=x34y style="color:green"> 优先选择style=""设定的样式。

例子:

h1{color:blue} 权重为1

p em{color:yellow} 权重为2

.warning{color:red} 权重为10

p.note em.dark{color:grag} 权重为22

#main{color:black} 权重为100 这里还有一种情况:

权重一样时如何处理?

3.CSS样式的层叠原则——谁离我近,谁说了算。

当权重一样时,会采用“层叠原则” 后定义的会被应用。

如:p{color:yellow}

p{color:red}

作用到这里 <. p >我的什么颜色呢?< /p>

结果会是red的。

4.CSS样式的特殊标记——谁有特权,谁说了算。

如果有人看不顺眼,非得要自己说了算,那可以搞点特权,如下即可

p {color:blue !important;}

加上!important;可将自己权重设为最高。

css优先级

所谓CSS优先级,即是指CSS样式在浏览器中被解析的先后顺序。既然样式有优先级,那么就会有一个规则来约定这个优先级,而这个“规则”就是重点。

  样式表允许以多种方式规定样式信息。样式可以规定在单个的 HTML 元素中,在 HTML 页的头元素中,或在一个外部的 CSS 文件中。甚至可以在同一个 HTML 文档内部引用多个外部样式表。当同一个 HTML 元素被不止一个样式定义时,会使用哪个样式呢?

一般而言,所有的样式会根据下面的规则层叠于一个新的虚拟样式表中,其中数字 4 拥有最高的优先权。

•浏览器缺省设置

•外部样式表

•内部样式表(位于 <head> 标签内部)

•内联样式(在 HTML 元素内部)

  因此,内联样式(在 HTML 元素内部)拥有最高的优先权,这意味着它将优先于以下的样式声明:<head> 标签中的样式声明,外部样式表中的样式声明,或者浏览器中的样式声明(缺省值)。这只是一个大方面的优先级,在前面文章中我们讲过CSS有很多选择器,那么对于同种样式的CSS,各个选择器的优先级又是如何呢?

  我们将某一个CSS看成一个三位数,通过比较数字的大小来获取优先级的高低,那么就会相当简单。在这里可以通过下面的规则来定义各个选择器对应的数字。

•百位数是该选择器上的id的数量的总和;

•十位数是用在该选择器上的其它属性选择器和伪类的总和。这里包括class (.example) 和属性选择器(比如 li[id=red]);

•个位数是计算元素(就像table、p、div、*等等)和伪元素(就像:first-line等);

•如果两个选择器对应的数字相等,也就是具有同样的优先级,在样式表中后面的那个起作用。

•标有"!important"的规则具有最高优先级,例如H1{color:black !importan; font-family:sans-serif},前景色被标为important,这个前景色具有很高的优先级。但是这种声明容易引起混乱,因此通常使用得较少。

选择器 数值

h1 {color:blue;} 1

p em {color:purple;} 1 + 1 = 2

.apple {color:red;} 10

p.bright {color:yellow;} 1 + 10 = 11

p.bright em.dark {color:brown;} 1 + 10 + 1 + 10 = 22

#id316 {color:yellow} 100

一般我们还可以通过浏览器的插件来查看,到底哪个CSS起作用,比如Firebug(Firefox)、Developer Tools(IE8)等。上面我们介绍到当优先级相同时,哪个CSS起作用取决于所处的位置,通常后面的CSS优先级要高。但是对于IE浏览器,具有相同数值的动态CSS取决于添加的顺序前后,而不是添加的位置前后;后添加的优先级要高。追问我就是不知道那些1122怎么用追答原则一 - 继承不如指定。

原则二 - #ID > .class > 标签选择符。

原则三 - 越具体越强大。

原则四 - 标签#id >#id ; 标签.class > .class。

原则五 - 原则一 > 原则二 > 原则三 > 原则四。

  • 本文相关:
  • css规则层叠时的优先级算法
  • 关于css:优先级
  • 用好href的target属性
  • 为什么要建立web标准与web标准的好处
  • css网页布局入门教程8:三列浮动中间列宽度自适应
  • css网页布局入门教程14:纵向下拉及多级弹出式菜单
  • css网页布局入门教程3:一列固定宽度居中
  • 第1天:选择什么样的doctype
  • 第5天:head区的其他设置
  • bc1998录制的css视频教程推荐新手看下
  • http状态码一览表
  • lesson02_04 表单标签(2)
  • 新手学习HTML5+CSS3,CSS调用的优先级不对
  • 列出使用CSS的几种方法,并写出他们的优先级
  • 简述3种常用的css样式表及优先级顺序
  • CSS 属性设置优先级问题。
  • css优先级
  • css样式 优先级?
  • css有哪几种选择符以及css优先级规则
  • 关于css样式优先级的问题。
  • css选择器的优先级是怎么样设定的
  • CSS如何计算优先级
  • 免责声明 - 关于我们 - 联系我们 - 广告联系 - 友情链接 - 帮助中心 - 频道导航
    Copyright © 2017 www.zgxue.com All Rights Reserved