使用CSS樣式的三種方法


一、內聯樣式

  內聯樣式通過style屬性來設置,屬性值可以任意的CSS樣式。

 1 <!DOCTYPE html>
 2 <html lang="en">
 3 <head>
 4     <meta charset="UTF-8">
 5     <title>內聯樣式</title>
 6 </head>
 7 <body>
 8     <p style="background: red"> I  love  China!</p>
 9 </body>
10 </html>

  顯示效果:

  

二、內部樣式

  內部樣式定義在文檔的head部分,通過style標簽來設置。需要使用元素選擇器(p)來關聯樣式和要設置樣式的標簽(p標簽)。

 1 <!DOCTYPE html>
 2 <html lang="en">
 3 <head>
 4     <meta charset="UTF-8">
 5     <title>內聯樣式</title>
 6     <style type="text/css">
 7  p{ 
 8  background: green;
 9         }
10     </style>
11 </head>
12 <body>
13     <p> I  love  China!</p>
14 </body>
15 </html>

  效果:

  

三、外部樣式

  在文檔外的*.css定義css樣式,然后在文檔的head部分通過link元素引入。  

 1 <!DOCTYPE html>
 2 <html lang="en">
 3 <head>
 4     <meta charset="UTF-8">
 5     <title>內聯樣式</title>
 6     <link rel="stylesheet" href="style.css">
 7 </head>
 8 <body>
 9     <p> I  love  China!</p>
10 </body>
11 </html>

  style.css文件內容:

1 p{ 2  background: yellow; 3         }

  顯示效果:

  

 

  a.在一個外部樣式表中導入其他樣式表的樣式

  combine.css文件中導入上面的style.css

1 @import "style.css"; 2 body{ 3  background: red; 4 }

  HTML文件中引入combine.css文件

 1 <!DOCTYPE html>
 2 <html lang="en">
 3 <head>
 4     <meta charset="UTF-8">
 5     <title>document</title>
 6     <link rel="stylesheet" href="combine.css">
 7 </head>
 8 <body>
 9     <p> I  <span>love</span>  China!</p>
10 </body>
11 </html>  

  效果:

  

  b、聲明樣式表的字符編碼 

1 @charset "utf-8" 2 p{ 3  background: yellow !important; 4         } 

四、元素樣式的層疊和繼承

  1、樣式層疊

  樣式表允許以多種方式規定樣式信息。樣式可以規定在單個的 HTML 元素中,在 HTML 頁的頭元素中,或在一個外部的 CSS 文件中。甚至可以在同一個 HTML 文檔內部引用多個外部樣式表。一般而言,所有的樣式會根據下面的規則層疊於一個新的虛擬樣式表中,其中數字 4 擁有最高的優先權。  

  1. 瀏覽器缺省設置(瀏覽器的默認樣式)
  2. 外部樣式表
  3. 內部樣式表(位於 <head> 標簽內部)
  4. 內聯樣式(在 HTML 元素內部)
  5. 同一樣式表中,CSS選擇器越准確的,優先級越高。

  不同優先級的樣式表定義元素的不同css屬性都會作用在元素上,相同的css屬性只有優先級最高的會對元素起作用。相同優先級樣式表中css選擇器准確的樣式起作用,同一樣式表中css選擇器一樣的后邊會覆蓋前邊的樣式

  用重要樣式(!important)可以調整層疊次序 

 1 <!DOCTYPE html>
 2 <html lang="en">
 3 <head>
 4     <meta charset="UTF-8">
 5     <title>內聯樣式</title>
 6     <link rel="stylesheet" href="style.css">
 7 </head>
 8 <body>
 9     <p style="background: red"> I  love  China!</p>
10 </body>
11 </html>

  style.css文件  

1 p{ 2  background: yellow !important; 3         }

  important標記的樣式會有最高的優先級。

  

 

  在谷歌瀏覽器的開發者工具中我們可以查看元素的優先級,同一個元素的最上面的樣式的優先級最高。

  

 

 

  2、樣式繼承

 1 <!DOCTYPE html>
 2 <html lang="en">
 3 <head>
 4     <meta charset="UTF-8">
 5     <title>document</title>
 6     <style type="text/css">
 7  p{
 8  color: white;
 9  background: grey;
10  border: 2px solid black; 
11         }
12     </style>
13 </head>
14 <body>
15     <p> I  <span>love</span>  China!</p>
16 </body>
17 </html>

  

  span元素並沒設置字體顏色,但是卻是用前景色white,這個值有父元素p繼承來。可以從一個元素的祖先元素繼承樣式,繼承來的樣式的優先級是最低的  (比瀏覽器的默認樣式的優先級都低)。

  並非所有的css屬性均可繼承,只有與元素外觀相關的元素會繼承。元素在頁面布局相關的樣式不會繼承,css中可以使用inherit強行實行繼承。  

 1 <!DOCTYPE html>
 2 <html lang="en">
 3 <head>
 4     <meta charset="UTF-8">
 5     <title>document</title>
 6     <style type="text/css">
 7  p{
 8  color: white;
 9  background: grey;
10  border: 2px solid black; 
11         }
12  span{
13  border: inherit;
14         }
15     </style>
16 </head>
17 <body>
18     <p> I  <span>love</span>  China!</p>
19 </body>
20 </html>

      

 3.繼承屬性和通用元素選擇器

   我們有時候給所有元素的設置某個樣式,如字體等,我們一般會使用通用選擇器來設置。但是對所有元素都起作用,效率較低,這個時候我們可以考慮給body元素設置字體,body的子元素會默認繼承字體。


免責聲明!

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



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