1. 程式人生 > >HTML與CSS學習記錄(3)————CSS樣式基本知識

HTML與CSS學習記錄(3)————CSS樣式基本知識

認識CSS樣式

CSS全稱為“層疊樣式表 (Cascading Style Sheets)”,它主要是用於定義HTML內容在瀏覽器內的顯示樣式,如文字大小、顏色、字型加粗等。如下列程式碼:

p{
   font-size:12px;/*設定文字字號*/
   color:red;/*設定文字顏色*/
   font-weight:bold;/*設定字型加粗*/

使用CSS樣式的一個好處是通過定義某個樣式,可以讓不同網頁位置的文字有著統一的字型、字號或者顏色等。

CSS樣式的優勢

為什麼使用css樣式來設定網頁的外觀樣式呢?我們想把“超酷的網際網路”、“服務及時貼心”、“有趣易學”這三個短語的文字顏色設定為紅色,這時就 可以通過設定樣式來設定,而且只需要編寫一條css樣式語句。

第一步:把這三個短語用<span></span>括起來。

第二步:寫入下列程式碼:

<head>
<style type="txxt/css">
   span{
    color:red;
}
</style>
</head>
<body>
<p>
慕課網,<span>超酷的網際網路</span>、
IT技術免費學習平臺,創新的網路一站式學習、實踐體驗;
<span>服務及時貼心</span>
,內容專業、
<span>有趣易學</span>。
專注服務網際網路工程師快速成為技術高手!
</p>
</body>

CSS程式碼語法

css 樣式由選擇符宣告組成,而宣告又由屬性組成,如下圖所示:

選擇符:又稱選擇器,指明網頁中要應用樣式規則的元素,如本例中是網頁中所有的段(p)的文字將變成藍色,而其他的元素(如ol)不會受到影響。

宣告:在英文大括號“{}”中的的就是宣告,屬性和值之間用英文冒號“:”分隔。當有多條宣告時,中間可以英文分號“;”分隔,如下所示:

p(選擇符){font-size(屬性):(宣告)12px(值);
color(屬性):(宣告)red(值);}

注意:

1、最後一條宣告可以沒有分號,但是為了以後修改方便,一般也加上分號。

2、為了使用樣式更加容易閱讀,可以將每條程式碼寫在一個新行內,如下所示:

p{
   font-size:12px;
   color:red;
}

CSS註釋程式碼

就像在Html的註釋一樣,在CSS中也有註釋語句:用/*註釋語句*/來標明(Html中使用<!--註釋語句-->)。就像下面程式碼:

/*設定註釋*/
<!--p{
   font-size:12px;
   color:red;
}-->

內聯式css樣式,直接寫在現有的HTML標籤中

CSS樣式可以寫在哪些地方呢?從CSS 樣式程式碼插入的形式來看基本可以分為以下3種:內聯式、嵌入式和外部式三種。。

內聯式css樣式表就是把css程式碼直接寫在現有的HTML標籤中,如下面程式碼:

<p style="color:red">這裡文字是紅色。</p>

注意要寫在元素的開始標籤裡,下面這種寫法是錯誤的:

<p>這裡文字是紅色。</p style="color:red">

並且css樣式程式碼要寫在style=""雙引號中,如果有多條css樣式程式碼設定可以寫在一起,中間用分號隔開。如下程式碼:

<p style="color:red;font-size:12px">這裡文字是紅色。</p>

如下所示: 

<style type="text/css">
span{
   color:red;
}
</style>
</head>
<body>
    <p>中國農業銀行<span style="color:blue">超酷的網際網路</span>、前額,創新的網路一站式學習、實踐體驗;<span>服務及時貼心</span>,內容專業、<span>有趣易學</span>。專斯蒂芬</p>

嵌入式css樣式,寫在當前的檔案中

現在有一任務,把“超酷的網際網路”、“服務及時貼心”、“有趣易學”這三個短詞文字字號修改為18px。如果用內聯式css樣式的方法進行設定將是一件很頭疼的事情(為每一個<span>標籤加入sytle="font-size:18px"語句),現在使用一種新的方法嵌入式css樣式來實現這個任務

嵌入式css樣式,就是可以把css樣式程式碼寫在<style type="text/css"></style>標籤之間。如下面程式碼實現把三個<span>標籤中的文字設定為紅色字號修改為18px:

<style type="text/css">
span{
color:red;
font-size:18px;
}
</style>
</head>
<body>
p>慕課網,<span>超酷的網際網路</span>、IT技術免費學習平臺,創新的網路一站式學習、實踐體驗;
<span>服務及時貼心</span>,
內容專業、
<span>有趣易學</span>。
專注服務網際網路工程師快速成為技術高手!</p>
</body>

嵌入式css樣式必須寫在<style></style>之間,並且一般情況下嵌入式css樣式寫在<head></head>之間。

外部式css樣式,寫在單獨的一個檔案中

外部式css樣式(也可稱為外聯式)就是把css程式碼寫一個單獨的外部檔案中,這個css樣式檔案以“.css”為副檔名,在<head>內(不是在<style>標籤內)使用<link>標籤將css樣式檔案連結到HTML檔案內,如下面程式碼:

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

注意:

1、css樣式檔名稱以有意義的英文字母命名,如 main.css。

2、rel="stylesheet" type="text/css" 是固定寫法不可修改。

3、<link>標籤位置一般寫在<head>標籤之內。

<head>
<link href="style.css" rel="stylesheet" type="text/css" />
</head>
<body>
    <p>慕課網,<span>超酷的網際網路</span>、IT技術免費學習平臺,創新的網路一站式學習、實踐體驗;
        <span>服務及時貼心</span>,內容專業、<span>有趣易學</span>。
        專注服務網際網路工程師快速成為技術高手!</p>
</body>

三種方法的優先順序

如果有一種情況:對於同一個元素我們同時用了三種方法設定css樣式,那麼哪種方法真正有效呢?

1、使用內聯式CSS設定“超酷的網際網路”文字為粉色

<span style="color:pink">

2、然後使用嵌入式CSS來設定文字為紅色

span{
   color:red;
}

3、最後又使用外部式設定文字為藍色(style.css檔案中設定)。

span{
   color:blue;
}

但最終你可以觀察到“超酷的網際網路”這個短詞的文字被設定為了粉色。因為這三種樣式是有優先順序的,記住他們的優先順序:內聯式 > 嵌入式 > 外部式

但是嵌入式>外部式有一個前提:嵌入式css樣式的位置一定在外部式的後面。如右程式碼編輯器就是這樣,<link href="style.css" ...>程式碼在<style type="text/css">...</style>程式碼的前面(實際開發中也是這麼寫的)。感興趣的小夥伴可以試一下,把它們調換順序,再看他們的優先順序是否變化。

其實總結來說,就是--就近原則(離被設定元素越近優先級別越高)

但注意上面所總結的優先順序是有一個前提:內聯式、嵌入式、外部式樣式表中css樣式是在的相同權值的情況下,什麼是權值呢?

1、標籤的權值為1,類選擇符的權值為10,ID選擇符的權值最高為100。

p{color:red;} /*權值為1*/

p span{color:green;} /*權值為1+1=2*/

p span.warning{color:purple;} /*權值為1+1+10=12*/

#footer .note p{color:yellow;} /*權值為100+10+1=111*/</span>

注意:還有一個權值比較特殊--繼承也有權值但很低,有的文獻提出它只有0.1,所以可以理解為繼承的權值最低。

2、層疊就是在html檔案中對於同一個元素可以有多個css樣式存在,當有相同權重的樣式存在時,會根據這些css樣式的前後順序來決定,處於最後面的css樣式會被應用。

3、使用!important為某些樣式設定最高權值

p{color:red!important;}

注意:當網頁製作者不設定css樣式時,瀏覽器會按照自己的一套樣式來顯示網頁。並且使用者也可以在瀏覽器中設定自己習慣的樣式,比如有的使用者習慣把字號設定為大一些,使其檢視網頁的文字更加清楚。這時注意樣式優先順序為:瀏覽器預設的樣式 < 網頁製作者樣式 < 使用者自己設定的樣式,但記住!important優先順序樣式是個例外,權值高於使用者自己設定的樣式