CSS(三):引入樣式和優先級


CSS的引入樣式總共有三種:行內樣式(內聯樣式表)、內部樣式表、外部樣式表。下面分別來介紹這三種樣式。

一、行內樣式

行內樣式也叫內聯樣式,使用style屬性引入CSS樣式。看下面的示例:

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <meta http-equiv="X-UA-Compatible" content="ie=edge">
    <title>行內樣式</title>
</head>
<body>
    <p style="color:red;font-size: 30px;">p段落通過行內樣式引入CSS樣式</p>
</body>
</html>

 效果:

注意:

1、行內樣式只對應用了此樣式的標簽有效,如果有多個相同的標簽要使用相同的樣式,那么每一個標簽都要引入該樣式,會造成很多重復的代碼,所以,在實際的應用當中,不建議使用行內樣式。

二、內部樣式表

內部樣式表在<head>標簽里面使用<style>標簽書寫CSS代碼。

語法:

<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <meta http-equiv="X-UA-Compatible" content="ie=edge">
    <title>內部樣式表</title>
    <!--內部樣式表-->
    <style type="text/css">
       /*書寫CSS樣式*/
    </style>
</head>

看下面的示例:

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <meta http-equiv="X-UA-Compatible" content="ie=edge">
    <title>內部樣式表</title>
    <!--內部樣式表-->
    <style type="text/css">
       div{
           background-color: green;
       }
    </style>
</head>
<body>
    <div>我是DIV,通過內部樣式表引入樣式</div>
</body>
</html>

 

效果:

因為DIV是塊級元素,所以DIV占據整行。

三、外部樣式表

顧名思義,外部樣式表表示CSS樣式不寫在HTML代碼中,而是單獨寫在擴展名為.css的樣式表中。

HTML文件引用擴展名為.css的樣式表,有兩種方式:

  1.  鏈接式
  2.  導入式

1、鏈接式

語法:

<link rel="styleSheet" type="text/css" href="CSS文件的路徑(包括文件路徑和css文件名)" />

 說明:

type:規定被鏈接文檔的類型,這是表示被鏈接的文檔是css樣式表。

rel:定義當前文檔與被鏈接的文檔之間的關系。

href:表示外部css樣式表的路徑,包括文件路徑和css文件名。

示例:

先定義css樣式表

li{
    color: green;
}

 HTML代碼中引入該外部樣式表:

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <meta http-equiv="X-UA-Compatible" content="ie=edge">
    <title>外部樣式表</title>
    <!--引入外部樣式表-->    
    <link rel="stylesheet" type="text/css" href="style.css" />
</head>
<body>
    <ol>
        <li>111</li>
        <li>222</li>
    </ol>
</body>
</html>

 效果:

2、導入式

語法:

<!--導入式-->
<style type="text/css">
   @import url("css文件路徑");
</style>

 看下面的示例:

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <meta http-equiv="X-UA-Compatible" content="ie=edge">
    <title>外部樣式表</title>
    <!--引入外部樣式表-->    
    <!-- <link rel="stylesheet" type="text/css" href="style.css" /> -->
    <!--導入式-->
    <style type="text/css">
      @import url("style.css");
    </style>
</head>
<body>
    <ol>
        <li>111</li>
        <li>222</li>
    </ol>
</body>
</html>

 效果:

鏈接式和導入式的區別:

導入式:

  1. 屬於XHTML。
  2. 優先加載CSS文件到頁面。

鏈接式

  1. 屬於CSS 2.1.
  2. 先加載HTML結構在加載CSS文件。

注意:

  1. 無論是鏈接式還是導入式,都是寫在<head>標簽里面。
  2. 建議使用鏈接式引入CSS文件。

四、CSS樣式的優先級

優先級

  • 行內樣式>內部樣式表>外部樣式表

先看行內樣式和內部樣式表優先級的對比

示例:

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <meta http-equiv="X-UA-Compatible" content="ie=edge">
    <title>行內樣式和內部樣式表優先級比較</title>
    <!--內部樣式表-->
    <style type="text/css">
        p{
            color: blue;
        }
    </style>
</head>
<body>
    <!--行內樣式-->
    <p style="color:red;">我是p標簽</p>
</body>
</html>

 效果:

從截圖中可以看出行內樣式的優先級高於內部樣式表。

在看看行內和外部樣式表的優先級

在外部CSS樣式表里面定義p標簽的字體顏色為藍色

p{
    color: blue;
}

 HTML代碼:

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <meta http-equiv="X-UA-Compatible" content="ie=edge">
    <title>行內樣式和外部樣式表優先級</title>
    <!--引入外部樣式表-->
    <link rel="styleSheet" type="text/css" href="ExtenStyle.css"
</head>
<body>
    <!--行內樣式:定義顏色為綠色-->
    <p style="color:green;">我的p標簽</p>
</body>
</html>

 效果:

從截圖中可以看出:行內樣式的優先級高於外部樣式表。

最后在看內部樣式表和外部樣式表的比較

外部樣式表還是使用上面的css文件

HTML代碼:

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <meta http-equiv="X-UA-Compatible" content="ie=edge">
    <title>內部樣式表和外部樣式表優先級</title>
    <!--外部樣式表-->
    <link rel="styleSheet" type="text/css" href="ExtenStyle.css"
    <!--內部樣式表:定義顏色為黃色-->
    <style type="text/css">
       p{
           color: yellow;
       }
    </style>
</head>
<body>
    <p>我是p標簽</p>
</body>
</html>

 效果:

從截圖中可以看出:內部樣式表的優先級高於外部樣式表。

調整<head>標簽中兩種樣式的先后順序,那效果又是如何呢?調整后的HTML代碼:

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <meta http-equiv="X-UA-Compatible" content="ie=edge">
    <title>內部樣式表和外部樣式表優先級</title>  
    <!--內部樣式表:定義顏色為黃色-->
    <style type="text/css">
       p{
           color: yellow;
       }
    </style>
     <!--外部樣式表-->
     <link rel="styleSheet" type="text/css" href="ExtenStyle.css"
</head>
<body>
    <p>我是p標簽</p>
</body>
</html>

 效果:

從截圖中看出:外部樣式表的優先級高於內部樣式表。

總結:

  1. 因為HTML中代碼的順序是從上往下執行的,所以說內部樣式表和外部樣式表沒有優先級誰高誰低之分,是按照就近原則執行的,哪種樣式最后加載,就以哪種樣式為准。
  2. 同理,引入外部樣式表的兩種方式(鏈接式和導入式)的優先級也是按照就近原則。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM