写在前面乱七八糟的前言:今天wuliMR黄问了一个问题,Sass的分音与link标签都是导入外部样式的,有什么不同,这真是个好问题,因为本白着实没想过,也不知道,不过没关系,成功的背后总有一个默默无闻的百度君,一直在支持着我,┓( ´∀` )┏虽然我不叫成功,扯得有点远~还是早早进入正题吧。

目录

1、link标签

2、@import语法规则

3、link标签与@import语法规则的区别

4、为什么使用link不用@import

5、Sass的分音

内容

1、link标签

XHTML标签,用于定义文档与外部资源的关系

2、@import语法规则

2.1CSS语法规则,用于导入外部CSS样式

2.2写法

推荐使用:@import url(index.css);

@import 'style.css' //Windows IE4/ NS4, Mac OS X IE5, Macintosh IE4/IE5/NS4不识别
@import "style.css" //Windows IE4/ NS4, Macintosh IE4/NS4不识别
@import url(style.css) //Windows NS4, Macintosh NS4不识别
@import url('style.css') //Windows NS4, Mac OS X IE5, Macintosh IE4/IE5/NS4不识别
@import url("style.css") //Windows NS4, Macintosh NS4不识别

2.3注意事项

import规则一定要先于除了@charset的其他任何CSS规则

<style>
#bgc{background-color: green}
@import "index.css";
</style>
这样是不会生效滴,要改成
<style>
@import "index.css";
#bgc{background-color: green}
</style>

3、link标签与@import语法规则的区别

3.1引入方式

link链接式:

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

@import导入式:

<style type="text/css">   

    @import url("css/stylesheet.css");

</style>

3.2从属关系

link:XHTML标签,除加载CSS,还可定义RSS,rel链接属性,引用图片等资源文件

@import:CSS的语法规则,仅导入样式表

3.3兼容

link:无兼容性问题

@import:ie5以下不支持,不过现在ie5基本灭绝了吧~~哈哈哈哈

3.4加载顺序

link:引用时,页面载入同时加载

@import:引用时,需网页完全载入后加载

3.5DOM可控性

由于DOM方法基于文档,故

link可支持使用js控制DOM改变样式,而@import不支持

3.6导入其他样式表

样式表文件内可使用多个@import导入其他样式表文件,而link不行

4、为什么用link不用@import

4.1 每个@import都会产生一个新的http请求,消耗服务器资源

4.2 @import混合js文件时,在IE中引发资源文件的下载顺序被打乱(即使排列在@import后面的js文件先于@import下载),而且会打乱甚至破坏@import自身的并行下载

4.3 link混合@import会破坏并行下载,这会导致原本并行下载的样式变成一个一个的同步下载

4.4 仅用link标签,可确保样式在所有浏览器里面都能被并行且按照顺序被下载

4.5 如果import加载的样式比较大,容易出现加载延迟,甚至有闪屏的情况

5、Sass的分音(Partials)

emmm,我是乱入的旁白,最近总结了一下Sass的用法,看到分音那块便直接跳过,自以为是@import便一眼略过,哪知( ̄ε(# ̄)☆╰╮( ̄▽ ̄///)打脸总是来得这么猝不及防~

5.1Sass的分音扩展了@import的功能,可将其他scss文件利用@import导入进来,而编译成为一个合体的css文件

5.2优点:使得项目模块化并更有条理

将样式分割成不同小部分Partials,每个Partials,就是一个scss文件,不过需要用_下划线开头,让Sass识别该文件是Partials,不会编译为独立的css,最后编译为一个合体css文件。

如:将文件命名为 _colors.scss

Sass并不会编译出一个color.css

但在主文件index.scss可用@import "colors";导入

注意:导入时,没有下划线,需要加分号

我是艾玛真香的小结:讲道理,视频的小哥哥声音真的很磁性,┓( ´∀` )┏,个人建议使用Sass的分音整合成一个Css文件通过link标签去导入样式才是目前而言的,最佳上策~~小白见解也就这么拙劣了~┏(^0^)┛溜了溜了

参考文献:

你真的知道为什么不推荐使用@import

关于CSS中@import的疑问中的评论

Sass的免费教学视频nihao.net

20190422-外部导入CSS样式之link、CSS@import、Sass分音的更多相关文章

  1. web前端(7)—— 了解CSS样式,引入css样式的方式

    CSS 在前面大概的介绍了css,从本片博文开始,会详细的介绍它,在最开始介绍web前端时,打开百度首页,当时我提出了一个问题,为什么百度首页的输入框可以放在正中间,就是由于有css的控制,我们可以打 ...

  2. css样式重叠、css样式继承、css 属性计算,,a元素下的文字颜色不能继承

    1.属性的重叠 在渲染前浏览器将判断使用哪个样式 我们书写的样式会覆盖浏览器的自带样式 我们写的样式进行权重比较,规则如下 !import Infiniti无穷大 进制伪256行内样式 1000.id ...

  3. CSS文件引入link和@import 区别

    1.(本质区别)link 属于 HTML 标签,而 @import 完全是 css 提供的一种导入 css 文件的规则. 2.文件加载时机有差别: 当一个页面被加载的时候,link 引用的 css 会 ...

  4. css中:link和@import的区别

    两者都是外部引用css的方式.但是有一定的区别: 1. 从属关系:link是一个xhtml标签,除了加载css外,还可以定义 RSS.rel 连接属性等: @import属于css范畴,只能加载css ...

  5. css 样式引入的方法 link 与import的区别

    <link> 元素所参考的样式用户可以自由的选择加以改变,而导入的样式表单就自动的与剩下的样式表融合在一起了 CSS与HTML文档结合的4中方法:1 使用<link>元素链接到 ...

  6. 外部式css样式,写在单独的一个文件中

    外部式css样式(也可称为外联式)就是把css代码写一个单独的外部文件中,这个css样式文件以“.css”为扩展名,在<head>内(不是在<style>标签内)使用<l ...

  7. (5)css样式导入

    样式的组成 1.选择器:将样式与页面中的某一个或某些标签建立联系,就要使用选择器,在head标签下写一个style标签,将需控制参数的标签名写在这个style标签下,设置属性即可通过css来控制htm ...

  8. html导入css样式的方法

    在html网页中引入css样式表主要有一下四种方法 1.行内引入 <p style="width:100px;height:40px;color:red;"></ ...

  9. CSS引入的方式有哪些? link和@import的区别是?转载

    CSS引入的方式有哪些? link和@import的区别是? HTML 中引入 CSS 的方式 有 4 种方式可以在 HTML 中引入 CSS.其中有 2 种方式是在 HTML 文件中直接添加 CSS ...

随机推荐

  1. .NET中的状态机库Stateless

    标题:.NET中的状态机库Stateless 作者:Lamond Lu 地址:https://www.cnblogs.com/lwqlun/p/10674018.html 介绍 什么是状态机和状态模式 ...

  2. CAP带你轻松玩转Asp.Net Core消息队列

    CAP是什么? CAP是由我们园子里的杨晓东大神开发出来的一套分布式事务的决绝方案,是.Net Core Community中的第一个千星项目(目前已经1656 Star),具有轻量级.易使用.高性能 ...

  3. Win64下编译OSG详细过程(Win10+VS2015+OSG3.6.3)

    目录 1. 数据资源准备 2. 编译第三方库 3. 编译GDAL 4. 编译OSG 1) CMAKE_INSTALL_PREFIX: 2) BUILD_OSG_EXAMPLES/BUILD_MFC_ ...

  4. 还在用AIDL吗?试试EasyMessenger吧

    EasyMessenger 直达Github项目地址 一款用于Android平台的基于Binder的进程间通信库,采用annotationProcessor生成IPC通信需要的代码.EasyMesse ...

  5. LeetCode算法题-Rotated Digits(Java实现)

    这是悦乐书的第316次更新,第337篇原创 01 看题和准备 今天介绍的是LeetCode算法题中Easy级别的第185题(顺位题号是788).如果一个数字经过180度旋转后,变成了一个与原数字不同的 ...

  6. 开启全民窃听风云——C#智能录音录像录屏程序源码放送!

    ·引子 我这人从小有个坏毛病,就是喜欢偷窥别人隐私.当然,在道德上,我时刻要求自己做一名正人君子,只不过是心理上有这癖好罢了.所以我从小就对窃听.窃视.黑客技术.破解技术等疯狂着迷!实际上这也是我走上 ...

  7. Linux 桌面玩家指南:13. 使用 Git 及其和 Eclipse 的集成

    特别说明:要在我的随笔后写评论的小伙伴们请注意了,我的博客开启了 MathJax 数学公式支持,MathJax 使用$标记数学公式的开始和结束.如果某条评论中出现了两个$,MathJax 会将两个$之 ...

  8. 【原创开源】网络版二代双通道示波器开源发布,支持电脑,手机和Pad等各种OS平台访问

    前言感谢大家的支持,提前奉上今年的国庆福利. 一代示波器发布于3年前,去年年底的时候发布了二代示波器,软件性能已经比较强劲,但依然有值得升级改进的地方,经过今年这半年多努力,在二代示波器的基础上再推出 ...

  9. #Java学习之路——基础阶段(第十一篇)

    我的学习阶段是跟着CZBK黑马的双源课程,学习目标以及博客是为了审查自己的学习情况,毕竟看一遍,敲一遍,和自己归纳总结一遍有着很大的区别,在此期间我会参杂Java疯狂讲义(第四版)里面的内容. 前言: ...

  10. c语言-自己写的库

    一.俗话说算法是程序的灵魂,这下面本人写了一部分常用算法,欢迎大家使用,并提出批评和指正,当然也可以改进或者添加. 1.这是自己实现的算法库头文件 #ifndef _INC_ALGORITHM #de ...