html中link和import方式导入CSS文件的区别
在CSS的实际应用中,往往是将CSS以独立文件(如:style.css)的形式导入到HTML文档中。
导入CSS文件主要有两种方式:
链接式(link)
<link rel="stylesheet" href="style.css" type="text/css"/>
导入式(@impot)
<style type="text/css"> @import url("style.css"); </style>
以上是这两种方式的语法区别。同时,浏览器处理这两种方式也有所区别:
使用link方式,浏览器会先装载完CSS文件再装载HTML的主体部分,所以显示出来的页面从开始就是带样式效果的。
而采用@import方式,浏览器则会先装载完整个HTML文件后再装载CSS文件。
为什么会这样呢,究其根本:
link属于XHTML标签(功能不局限于导入CSS),而@import则是CSS提供的一种规则(CSS2.1以后,要考虑兼容)。
从用户体验上来说,前者会更友好一些,特别是当网页文件比较大而网速比较慢的时候,后者页面就会出现明显的闪烁(开始会没有样式效果,当CSS加载完成后,忽然呈现出样式效果)。
另外,当使用Javascript控制DOM去改变样式的时候,只能使用link方式,因为@import眼里只有CSS,不是DOM可以控制的。