如何玩轉CSS內部樣式表與外部樣式表?


CSS 創建

當讀到一個樣式表時,瀏覽器會根據它來格式化 HTML 文檔。

如何插入樣式表?

插入樣式表的方法有三種:

  • 外部樣式表(External style sheet)
  • 內部樣式表(Internal style sheet)
  • 內聯樣式(Inline style)

1.外部樣式表

當樣式需要應用於很多頁面時,外部樣式表將是理想的選擇。在使用外部樣式表的情況下,你可以通過改變一個文件來改變整個站點的外觀。每個頁面使用 標簽鏈接到樣式表。 標簽在(文檔的)頭部:

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

瀏覽器會從文件 mystyle.css 中讀到樣式聲明,並根據它來格式文檔。

外部樣式表可以在任何文本編輯器中進行編輯。文件不能包含任何的 html 標簽。樣式表應該以 .css 擴展名進行保存。下面是一個樣式表文件的例子:

    hr {color:sienna;}
    p {margin-left:20px;}
    body {background-image:url("/images/back40.gif");}

2.內部樣式表

當單個文檔需要特殊的樣式時,就應該使用內部樣式表。你可以使用 <style> 標簽在文檔頭部定義內部樣式表,就像這樣:

    <head>
        <style>
            hr {color:sienna;}
            p {margin-left:20px;}
            body {background-image:url("images/back40.gif");}
        </style>
    </head>

3.內聯樣式

由於要將表現和內容混雜在一起,內聯樣式會損失掉樣式表的許多優勢。請慎用這種方法,例如當樣式僅需要在一個元素上應用一次時。

要使用內聯樣式,你需要在相關的標簽內使用樣式(style)屬性。Style 屬性可以包含任何 CSS 屬性。本例展示如何改變段落的顏色和左外邊距:

    <p style="color:sienna;margin-left:20px">這是一個段落。</p>

4.多重樣式

如果某些屬性在不同的樣式表中被同樣的選擇器定義,那么屬性值將從更具體的樣式表中被繼承過來。

例如,外部樣式表擁有針對 h3 選擇器的三個屬性:

   h3
    {
        color:red;
        text-align:left;
        font-size:8px;
    }

 

 

而內部樣式表擁有針對 h3 選擇器的兩個屬性:

  h3
    {
        text-align:right;
        font-size:20px;
    }

 

 

 

假如擁有內部樣式表的這個頁面同時與外部樣式表鏈接,那么 h3 得到的樣式是:

    color:red;
    text-align:right;
    font-size:20px;

 

 

即顏色屬性將被繼承於外部樣式表,而文字排列(text-alignment)和字體尺寸(font-size)會被內部樣式表中的規則取代。

5.多重樣式優先級

樣式表允許以多種方式規定樣式信息。樣式可以規定在單個的 HTML 元素中,在 HTML 頁的頭元素中,或在一個外部的 CSS 文件中。甚至可以在同一個 HTML 文檔內部引用多個外部樣式表。

一般情況下,優先級如下:

內聯樣式)Inline style > (內部樣式)Internal style sheet >(外部樣式)External style sheet > 瀏覽器默認樣式

<head>
    <!-- 外部樣式 style.css -->
    <link rel="stylesheet" type="text/css" href="style.css"/>
    <!-- 設置:h3{color:blue;} -->
    <style type="text/css">
      /* 內部樣式 */
      h3{color:green;}
    </style>
</head>
<body>
    <h3>測試!</h3>
</body>

 

 注意:如果外部樣式放在內部樣式的后面,則外部樣式將覆蓋內部樣式。

 


免責聲明!

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



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