css引入的方式有哪些和区别
内联款式、内部款式、外部款式
1、内联款式
内联款式又称行内款式,运用该款式需求直接在标签内添加style=””,再将需求的款式写在双引号内,如
<divstyle=”background:red;”>helloworld!div>
行内款式比较适合初学者学习的时分运用,在网站开发时尽量不要去用,由于运用这种款式会把结构和CSS全部融合在一个页面里边,形成代码冗余,后期调整款式的时分十分不方便。
2、内部款式
内部款式是一种适合事例或许比较小的页面的引进方法,它的语法是在在head标签里添加style标签,再在标签内容区添加需求的款式,如:
<head><styletype=”text/css”>div{background:red;}
style>head>
内部款式比较适合事例或许比较小的页面中,由于它也会添加HTML文件的代码量。
3、外部款式
外部款式是运用最广的引进方法,适合比较大的页面或许整站开发。引进办法是将款式写css文件中,再将css文件链接到HTML文件里。
而外部款式有两种链接办法引进HTML文件中:link和import
1)用link链接需求在html文件内添加link标签,在该标签内特色href=””的双引号里写上css文件的路径即可。
<linkrel=”stylesheet”type=”text/css”href=”demo.css”/>
2)用import链接需求用内部款式的办法添加@importurl(“”);特色,在url(“”)中写上css文件的路径。
<style>@importurl(“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特色丢进去,这样它就会被解析。
怎样在外衔接css文件?
有两种连接外部CSS文件的办法
运用link标签链接外部css文件
运用@import规矩导入外部css文件
1、运用link标签链接外部css文件(链接式)
当样式需要被应用到很多页面的时候,外部样式表将是理想的挑选。运用外部样式表,你就可以通过更改一个文件来改变整个站点的外观。
链接一个外部样式表:
标签界说文档与外部资源的关系。
标签最常见的用途是链接样式表。
留意:link元素是空元素,它仅包含属性。link元素只能存在于head部分,不过它可出现任何次数。
2、运用@import规矩导入外部css文件(导入式)
link和import的区别
link是XHTML标签,除了加载CSS外,还可以界说RSS等其他业务;而@import归于CSS范畴,只能加载CSS;
link引证CSS时,在页面载入时同时加载;而@import需要页面网页彻底载入以后加载。
link是XHTML标签,无兼容问题;而@import是在CSS2.1提出的,低版本的浏览器不支撑。
ink支撑运用Javascript控制DOM去改变样式;而@import不支撑。
@import可以在CSS文件中再次引进其他样式表;而link不支撑。