整合營銷服務商

          電腦端+手機端+微信端=數據同步管理

          免費咨詢熱線:

          詳解CSS中link和@import區別

          頭條創作挑戰賽#

          無論是link或者是@import兩者都是外部引用 CSS 的方式。那么這兩種方式是怎么引入外部CSS文件的呢?

          link

          1. HTML文件的head標簽中使用link標簽引用CSS文件,其中,rel屬性指定引用的是一個樣式表文件,href屬性指定文件的路徑和文件名。

          @import

          1. HTML文件中使用@import規則引用CSS文件

          區別

          1. link XHTML 標簽,除了加載 CSS 外,還可以定義 RSS 等其他事務;而@import 屬于 CSS 范疇,只能加載 CSS
          2. link 引用 CSS 時,在頁面載入時同時加載;@import 需要頁面網頁完全載入以后加載。
          3. linkXHTML 標簽,無兼容問題;@import 是在 CSS2.1 提出的,低版本的瀏覽器不支持。可能會存在兼容問題。
          4. link 支持使用 Javascript 控制 DOM 去改變樣式;而@import 不支持。


          #如何學習編程##前端##頭條創作挑戰賽##暑期創作大賽##編程語言#

          點贊關注加收藏,每天都會更新一個JavaScript知識!!!!!!!!!

          擊右上方紅色按鈕關注“web秀”,讓你真正秀起來

          先回答區別,再擴展一下。

          link和@import有什么區別

          區別1:link是XHTML標簽,除了加載CSS外,還可以定義RSS等其他事務;@import屬于CSS范疇,只能加載CSS。

          區別2:link引用CSS時,在頁面載入時同時加載;@import需要頁面網頁完全載入以后加載。所以會出現一開始沒有css樣式,閃爍一下出現樣式后的頁面(網速慢的情況下)

          區別3:link是XHTML標簽,無兼容問題;@import是在CSS2.1提出的,低版本的瀏覽器不支持。

          區別4:link支持使用Javascript控制DOM去改變樣式;而@import不支持。在html設計制作中,css有四種引入方式。

          方式一: 內聯樣式

          內聯樣式,也叫行內樣式,指的是直接在 HTML 標簽中的 style 屬性中添加 CSS。

          示例:

          <div style="display: none;background:red"></div>
          

          這通常是個很糟糕的書寫方式,它只能改變當前標簽的樣式,如果想要多個 <div> 擁有相同的樣式,你不得不重復地為每個 <div> 添加相同的樣式,如果想要修改一種樣式,又不得不修改所有的 style 中的代碼。很顯然,內聯方式引入 CSS 代碼會導致 HTML 代碼變得冗長,且使得網頁難以維護。

          方式二: 嵌入樣式

          嵌入方式指的是在 HTML 頭部中的 <style> 標簽下書寫 CSS 代碼。

          示例:

          <head>
           <style>
           .content {
           background: red;
           }
           </style>
          </head>
          

          嵌入方式的 CSS 只對當前的網頁有效。因為 CSS 代碼是在 HTML 文件中,所以會使得代碼比較集中,當我們寫模板網頁時這通常比較有利。因為查看模板代碼的人可以一目了然地查看 HTML 結構和 CSS樣式。因為嵌入的 CSS 只對當前頁面有效,所以當多個頁面需要引入相同的 CSS 代碼時,這樣寫會導致代碼冗余,也不利于維護。

          方式三:鏈接樣式

          鏈接方式指的是使用 HTML 頭部的 標簽引入外部的 CSS 文件。

          示例:

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

          這是最常見的也是最推薦的引入 CSS 的方式。使用這種方式,所有的 CSS 代碼只存在于單獨的 CSS文件中,所以具有良好的可維護性。并且所有的 CSS 代碼只存在于 CSS 文件中,CSS 文件會在第一次加載時引入,以后切換頁面時只需加載 HTML 文件即可。

          方式四:導入樣式

          導入方式指的是使用 CSS 規則引入外部 CSS 文件。

          示例:

          <style>
           @import url(style.css);
          </style>
          

          或者寫在css樣式中

          @charset "utf-8";
          @import url(style.css);
          *{ margin:0; padding:0;}
          .notice-link a{ color:#999;}
          

          比較鏈接方式和導入方式

          鏈接方式(下面用 link 代替)和導入方式(下面用 @import 代替)都是引入外部的 CSS 文件的方式,下面我們來比較這兩種方式,并且說明為什么不推薦使用 @import。

          1、link 屬于 HTML,通過 <link> 標簽中的 href 屬性來引入外部文件,而 @import 屬于 CSS,所以導入語句應寫在 CSS 中,要注意的是導入語句應寫在樣式表的開頭,否則無法正確導入外部文件;

          2、@import 是 CSS2.1 才出現的概念,所以如果瀏覽器版本較低,無法正確導入外部樣式文件;

          3、當 HTML 文件被加載時,link 引用的文件會同時被加載,而 @import 引用的文件則會等頁面全部下載完畢再被加載;

          小結:我們應盡量使用 <link> 標簽導入外部 CSS 文件,避免或者少用使用其他三種方式。

          喜歡小編或者覺得小編文章對你有幫助的,可以點擊一波關注哦!同時,要源碼的小伙伴可以點擊下方“了解更多”。

          原文鏈接:https://segmentfault.com/a/1190000003866058

          Web 開發的浩瀚海洋中,CSS 猶如點睛之筆,為網頁增光添彩。而引入 CSS 樣式的方式,也決定了網頁渲染的效率和代碼的可維護性。 link 和 @import 作為兩種常見的 CSS 引入方式,今天就來一場正面對決,看看誰才是你的最佳選擇!

          Round 1:身份揭秘,從出身說起

          • link :HTML 的正牌標簽,身兼多職,不僅能引入 CSS,還能定義 RSS、rel 鏈接屬性等。可謂是 HTML 家族中的“多面手”。
          • @import :CSS 語法規則的忠實守護者,專注于導入樣式表,是 CSS 世界的“專業選手”。

          Round 2:速度之爭,加載順序大比拼

          • link :與 HTML 標簽并肩作戰,頁面加載時同步加載,贏在起跑線。
          • @import : 姍姍來遲,頁面加載完畢后才開始加載,容易造成頁面閃爍,用戶體驗稍遜一籌。

          Round 3:兼容性考驗,誰更勝一籌?

          • link : HTML 元老級標簽,不存在兼容性問題,穩如泰山。
          • @import :CSS2.1 語法,存在一定的兼容性問題,在老舊瀏覽器中可能會出現樣式加載失敗的情況。

          Round 4:控制權爭奪,DOM 操作誰更強?

          • link : 受 JavaScript 和 DOM 的絕對控制,可以通過修改 link 標簽屬性動態改變樣式,靈活多變。
          • @import :游離于 DOM 之外,無法通過 JavaScript 直接控制,顯得有些“高冷”。

          Round 5:權重較量,誰的影響力更大?

          • link :在樣式層疊中擁有更高的權重,其定義的樣式會覆蓋 @import 引入的樣式。

          終極 PK:示例代碼大 showdown

          <!DOCTYPE html>
          <html>
          <head>
            <title>link vs @import</title>
            <link rel="stylesheet" href="style.css"> 
          </head>
          <body>
            <h1>Hello world</h1>
          </body>
          </html>
          
          /* style.css */
          @import url("other-style.css");
          

          源碼解析

          在瀏覽器解析 HTML 文件時,會依次解析 link 標簽和 style 標簽,并下載相應的 CSS 文件。@import 規則會在 CSS 文件解析時被執行,瀏覽器會再次發送請求下載 other-style.css 文件。

          總結:link更勝一籌

          綜上所述,link 標簽憑借其加載速度快、兼容性好、可控性強等優勢,在 CSS 引入方式的較量中更勝一籌,是大多數場景下的最佳選擇。

          當然,@import 也并非一無是處,在某些特殊情況下,它也能發揮作用。例如,當我們需要根據不同的條件加載不同的樣式表時,可以使用 @import 結合 JavaScript 實現動態加載。

          #頭條創作挑戰賽#


          主站蜘蛛池模板: 亚洲一区二区女搞男| 丝袜人妻一区二区三区| 日韩一区二区三区不卡视频| 久久99国产精品一区二区| 亚洲午夜电影一区二区三区| 污污内射在线观看一区二区少妇| 亚洲熟妇成人精品一区| 手机看片福利一区二区三区| 国产免费一区二区三区VR| 91视频一区二区三区| 在线中文字幕一区| 日韩免费无码一区二区三区| 亚洲毛片αv无线播放一区| 亚洲免费视频一区二区三区| 福利一区二区三区视频午夜观看| 国模大胆一区二区三区| 欧美一区内射最近更新| 最新中文字幕一区| 国产伦精品一区二区三区在线观看| 国精产品一区一区三区有限在线 | 国产精品一区二区电影| 中文字幕精品一区二区2021年| 人妻内射一区二区在线视频| 消息称老熟妇乱视频一区二区| 久久精品无码一区二区三区日韩 | 国产一区二区三区在线| 在线观看精品一区| 加勒比无码一区二区三区| 亚洲熟妇成人精品一区| 日韩伦理一区二区| 国产AV国片精品一区二区| 精品一区二区三区免费观看 | 精品视频一区二区三区| 亚洲国产高清在线一区二区三区| 精品久久久久中文字幕一区| 中文日韩字幕一区在线观看| 无码人妻久久久一区二区三区| 99精品国产一区二区三区2021| 精品少妇人妻AV一区二区 | 国产麻豆媒一区一区二区三区| 久久精品成人一区二区三区|