CSS引⼊⽅式有哪些,区别是什么
学习CSS肯定绕不开的就是如何将css引⼊到HTML⽂件中,引⼊⽅式主要有三种:
内联样式、内部样式、外部样式
1、内联样式
内联样式⼜称⾏内样式,使⽤该样式需要直接在标签内添加,再将需要的样式写在双引号内,如
<div >hello world!</div>
⾏内样式⽐较适合初学者学习的时候使⽤,在⽹站开发时尽量不要去⽤,因为使⽤这种样式会把结构和CSS全部融合在⼀个页⾯⾥⾯,造成代码冗余,后期调整样式的时候⾮常不⽅便。
2、内部样式
内部样式是⼀种适合案例或者⽐较⼩的页⾯的引⼊⽅式,它的语法是在在head标签⾥添加style标签,再在标签内容区添加需要的样式,如:
<head>
<style type="text/css">
div{background: red;}
</style>
</head>
内部样式⽐较适合案例或者⽐较⼩的页⾯中,因为它也会增加HTML⽂件的代码量。
3、外部样式
外部样式是使⽤最⼴的引⼊⽅式,适合⽐较⼤的页⾯或者整站开发。引⼊⽅法是将样式写css⽂件中,再将css⽂件链接到HTML⽂件⾥。
⽽外部样式有两种链接⽅法引⼊HTML⽂件中:link和import
1)⽤link链接需要在html⽂件内添加link标签,在该标签内属性href=" "的双引号⾥写上css⽂件的路径即可。
<link rel="stylesheet" type="text/css" href="demo.css"/>
css和html和js怎么结合2)⽤import链接需要⽤内部样式的⽅法添加@import url("");属性,在url("")中写上css⽂件的路径。
<style>
@import url("demo.css");
</style>
同为外部样式的链接⽅式,link和import之间的不同不仅是载⼊链接的语法不同:
本质上link是HTML标签,是HTML的写法,但是import是CSS的提供的⼀种链接⽅式。所以link能够引⼊除css以外的其它⽂件,⽽import只能引⼊css⽂件。
link是没有兼容问题的,但是import在IE5以下不⽀持。
加载顺序上也不⼀样,link是HTML结构和CSS样式同时加载,⽽import是先加载HTML后加载CSS。有时候⽹速⽐较慢,你就会看
到只有⽂字和边框的难看页⾯,然后才看到⽐较好看的页⾯,就是因为这个⽹页使⽤import链接的样式。
在⽤js控制dom修改样式的时候,link可以被修改,但是import不可以。
最后我们再来⽐较下对同⼀个元素进⾏多种样式的同时引⼊操作,浏览器是怎么解析的
(的是内联样式,的是内部样式,黄⾊的是外部样式)
由下图中代码可知,当三种引⼊⽅式都添加了之后,页⾯中的div显⽰的是内联样式,这是因为CSS的层叠性中的权重规则:权重⾼的样式会覆盖权重低的样式。⽽内联样式表的权重是最⾼的1000,⾃然显⽰的是它的样式。
当我们删除内联样式后,刷新页⾯浏览器显⽰的是内部样式,看到这你可能认为是因为内部样式的权重⽐外部样式⼤,但我要告诉你不是这个原因,内部样式和外部样式并没有权重⽐较。
你看,当我们把外部样式的链接标签link放到内部样式后⾯时,再刷新页⾯,浏览器显⽰的⼜是外部样式了。
造成这种情况是因为CSS层叠性的另⼀个特点——覆盖,即当权重相同的时候,后⾯的样式会覆盖前⾯的样式。当外部样式在内部样式后引⼊,⾃然就将内部样式给覆盖了。
如果我们⽤import链接外部样式呢?
由上图可见,当内部样式和外部样式冲突时,不论我们将@import属性放在style标签内的什么地⽅,外部样式都⽆法被解析。
如果要显⽰外部样式,我们可以在后⾯新建⼀个style标签,并把@import属性丢进去,这样它就会被解析。
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论