首页 > web前端 > css教程 > 正文

在html中引入CSS文件时,link和@import有什么区别?

yulia
发布: 2018-09-17 14:02:17
原创
3698人浏览过

之前介绍了如何在html中引入css文件,将css导入html的方式有四种,分别是行内式,嵌入式,外部样式。外部样式又分为import导入式,link链接式。同样是外部样式,那link和@import的区别在哪里?想知道的小伙伴继续往下看吧。

一、引入方式的区别

link链接式:

<link rel="stylesheet" type="text/css" href="css/green.css"/>
登录后复制

import导入式:

<style type="text/css">   
    @import url("css/green.css");
</style>
登录后复制

二、浏览器的区别

立即学习前端免费学习笔记(深入)”;

link不会出现兼容性问题,@import 则需要在IE5以上才实现。
在页面加载过程中,如果是link导入的 CSS 样式文件,CSS样式会和内容同时加载出来。若是@import引入的 CSS文件,样式会在页面加载完成后才被加载。 

三、从属关系的区别

@import是 CSS 提供的语法规则,只有导入样式表的作用。而link是HTML提供的标签,不仅可以加载 CSS 文件,还可以定义 RSS、rel 连接属性等。 

四、DOM控制样式时的差别

需要javascript控制DOM改变样式的时候,只能使用link标签,因为@import不是DOM可以控制的。

五、CSS优先级的区别

Find JSON Path Online
Find JSON Path Online

Easily find JSON paths within JSON objects using our intuitive Json Path Finder

Find JSON Path Online 193
查看详情 Find JSON Path Online

同等权重CSS样式的优先级由高到低的排序是:行内样式、内联样式、外联样式、导入样式 。如果外联样式和导入样式都有一个div{color:XX},最终的div样式是外联样式中所定义div样式 。

举例:分别给div行内样式、内联样式、外联样式、导入样式,看看他最终呈现什么效果。



 
  
  
  
  <link rel="stylesheet" type="text/css" href="css/green.css"/>
 
 
  
have a nice day
登录后复制

效果图:

区别1.jpg

由图可见,div最终呈现的是紫色,而紫色是行内样式设置的,它的优先级最高。接下来继续看,如果是内联样式和导入样式,它又会是什么效果呢?

<!DOCTYPE html>
<html>
 <head>
  <meta charset="UTF-8">
  <title></title>
  <style type="text/css"> 
  div{background: yellow;}  
   @import url("css/red.css");   
  </style>
 </head>
 <body>
  <div style="width: 150px;height: 150px;">have a nice day </div>
 </body>
</html>
登录后复制

效果图:

样式1.jpg

显而易见,div最终呈现黄色,黄色是内联样式,它的优先级高于导入样式。

总结:以上讲述了CSS中的link和import的区别,总的来说,最好不要使用improt导入式,如果import加载的样式比较大,容易出现加载延迟,甚至有闪屏的情况。就目前来看,小型的网站还是推荐使用link导入,当然如果将来我们需要把CSS进行模块化管理,那会用到@import,这个还需要看情况的。

以上就是在html中引入CSS文件时,link和@import有什么区别?的详细内容,更多请关注php中文网其它相关文章!

相关标签:
HTML速学教程(入门课程)
HTML速学教程(入门课程)

HTML怎么学习?HTML怎么入门?HTML在哪学?HTML怎么学才快?不用担心,这里为大家提供了HTML速学教程(入门课程),有需要的小伙伴保存下载就能学习啦!

下载
来源:php中文网
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn
最新问题
开源免费商场系统广告
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板
关于我们 免责申明 举报中心 意见反馈 讲师合作 广告合作 最新更新
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送

Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号