• linkedu视频
  • 平面设计
  • 电脑入门
  • 操作系统
  • 办公应用
  • 电脑硬件
  • 动画设计
  • 3D设计
  • 网页设计
  • CAD设计
  • 影音处理
  • 数据库
  • 程序设计
  • 认证考试
  • 信息管理
  • 信息安全
菜单
linkedu.com专业计算机教程网站
  • 网页制作
  • 数据库
  • 程序设计
  • 操作系统
  • CMS教程
  • 游戏攻略
  • 脚本语言
  • 平面设计
  • 软件教程
  • 网络安全
  • 电脑知识
  • 服务器
  • 视频教程
  • html/xhtml
  • html5
  • CSS
  • XML/XSLT
  • Dreamweaver教程
  • Frontpage教程
  • 心得技巧
  • bootstrap
  • vue
  • AngularJS
  • HBuilder教程
  • css3
  • 浏览器兼容
  • div/css
  • 网页编辑器
  • axure
您的位置:首页 > 网页设计 >CSS > web前端优化时为什么不建议使用css @import

web前端优化时为什么不建议使用css @import

作者:佚名 字体:[增加 减小] 来源:互联网 时间:2017-08-06

本文主要包含css,@import等相关知识,佚名 希望在学习及工作中可以帮助到您
曾经研究web前端优化时在网上多处看到这样一条建议,大意是:

不要使用 css @import, 因为用这种方式加载css相当于把css放在了html底部。

关于这一点,我一直很疑惑: 为什么用@import就等于把css放在了页面底部? 原理是什么?? 但一直不得而知,因为网络文章一大抄,转载的很多,去细究原因的却很少。

直到今天,在google developers看一篇文章时,无意间找到了这个原因,原文如下:

Avoid CSS @import
Overview

Using CSS @import in an external stylesheet can add additional delays during the loading of a web page.
Details

CSS @importallows stylesheets to import other stylesheets. When CSS @import isused from an external stylesheet, the browser is unable to downloadthe stylesheets in parallel, which adds additional round-trip timesto the overall page load. For instance, iffirst.css contains the following content:

@import url("second.css")

The browser must download, parse, andexecute first.css before it is able to discover that itneeds to downloadsecond.css.
Recommendations

Use the <link> tag instead of CSS @import
Instead of @import, use a <link> tag for each stylesheet. This allows the browser to download stylesheets in parallel, which results in faster page load times:

<link rel="stylesheet" href="first.css">
<link rel="stylesheet" href="second.css">

我们确实要避免使用css @import, 但原因却不是什么相当于放在了页面底部,而是这样做会导致css无法并行下载,因为使用@import引用的文件只有在引用它的那个css文件被下载、解析之后,浏览器才会知道还有另外一个css需要下载,这时才去下载,然后下载后开始解析、构建render tree等一系列操作。 星球浏览器在页面所有css下载并解析完成后才会开始渲染页面(Before a browser can begin to render a web page, it mustdownload and parse any stylesheets that are required to lay out thepage. Even if a stylesheet is in an external file that is cached,rendering is blocked until the browser loads the stylesheet from disk.),因此css @import引起的css解析延迟会加长页面留白期。 所以,要尽量避免使用css @import而尽量采用link标签的方式引入。

您可能想查找下面的文章:

  • css小技巧
  • 各大网站CSS初始化代码
  • css权重问题
  • CSS实现鼠标上移图标旋转效果
  • 使用CSS3制作一个简单的进度条(demo)
  • 用纯CSS实现饼状Loading等待图效果
  • 利用CSS3伪元素实现逐渐发光的方格边框
  • CSS3实现内凹圆角的实例代码
  • 利用HTML5+CSS3实现3D转换效果实例详解
  • css3+伪元素实现鼠标移入时下划线向两边展开的效果

相关文章

  • 2017-08-06CSS 速记口诀 可以解决一些常见问题
  • 2017-08-06IE8 滤镜效果filter:alpha(opacity=20);IE下失效出现黑色
  • 2017-08-06css渐变色彩 省略标记 嵌入字体 文本阴影全面了解
  • 2017-08-06FireFox下selected =selected失效不起作用的解决方法
  • 2017-08-06使IE6支持:hover效果使用li:hover或div:hover
  • 2017-08-06利用label标签和CSS美化文件上传表单(不兼容IE6)
  • 2017-08-06background和background-Color的区别介绍
  • 2017-08-06header导航菜单固定 当页面往下拉时固定导航
  • 2017-08-06网页制作需要了解的IE8、IE7、IE6、Firefox3、Firefox2的CSS hacks
  • 2017-08-06CSS之Position全面认识

文章分类

  • html/xhtml
  • html5
  • CSS
  • XML/XSLT
  • Dreamweaver教程
  • Frontpage教程
  • 心得技巧
  • bootstrap
  • vue
  • AngularJS
  • HBuilder教程
  • css3
  • 浏览器兼容
  • div/css
  • 网页编辑器
  • axure

最近更新的内容

    • 使用CSS去掉网页中超链接的下划线示例
    • IE6,IE7,IE8 css bug搜集及浏览器兼容性问题解决方法汇总
    • 实现div垂直居中的display:table-cell方法示例介绍
    • CSS定义鼠标经过时鼠标图形的十五种样式整理
    • CSS中文字怎么斜体?CSS中让文字变成斜体的方法
    • IE6中DIV使用了relative不定义宽度导致right定位误差
    • PNG8格式图片是不支持半透明等问题深入分析
    • Windows Gvim 全局配置 乱码问题
    • CSS 选择器浅谈
    • CSS 网页图文混排的10个技巧

关于我们 - 联系我们 - 免责声明 - 网站地图

©2020-2025 All Rights Reserved. linkedu.com 版权所有