快速掌握CSS知識(1)
CSS層疊樣式表(1)
一、CSS 簡介
CSS 的主要使用場景就是美化網頁,佈局頁面的。
1.1 HTML 的侷限性
HTML是隻關注內容的語義。比如 <h1> 表明這是一個大標題,<p> 表 明這是一個段落,<img> 表明這兒有一個圖片,<a> 表示此處有連結。雖然 HTML 可以做簡單的樣式,但是帶來的是無盡的臃腫和繁瑣…
1.2 CSS 網頁的美容師
CSS 是層疊樣式表 ( Cascading Style Sheets ) 的簡稱。有時我們也會稱之為 CSS 樣式表
CSS 與 HTML 的關係可以形象的用下圖表示。
- HTML 主要是做結構的,顯示元素內容。
- CSS 主要是美化網頁的,佈局頁面的。
- CSS 最大的價值:讓 HTML 專注去做結構呈現,樣式講給 CSS,即將結構(HTML)與樣式(CSS)相分離。
1.3 CSS 的語法規範
使用 HTML 時,需要遵從一定的規範,CSS 也是如此。要想熟練地使用 CSS 對網頁進行修飾,首先需要了解 CSS 樣式規則。
-
CSS 規則由兩個主要的部分構成:選擇器以及一條或多條宣告。
-
注意事項:
- 選擇器是用於指定 CSS 樣式的 HTML 標籤,花括號內是對該物件設定的具體樣式
- 屬性和屬性值以“鍵值對”的形式出現
- 屬性是對指定的物件設定的樣式屬性,例如字型大小、文字顏色等
- 屬性和屬性值之間用英文 “:” 分開
- 多個“鍵值對”之間用英文 “;” 進行區分
-
所有的樣式,都包含在 <style> 標籤內,表示是樣式表。<style> 一般寫到 </head> 上方。
<head> <style> p { color: blue; font-size: 30px; } </style> </head> <body> <p>我是一個被改了樣式的段落</p> </body>
-
CSS 程式碼風格
- 強烈推薦樣式選擇器,屬性名,屬性值關鍵字全部使用小寫字母,特殊情況除外
- 屬性值前面,冒號後面,保留一個空格
- 選擇器(標籤)和大括號中間保留空格
二、CSS 基礎選擇器
2.1 CSS 選擇器的作用
選擇器(選擇符)就是根據不同需求把不同的標籤選出來這就是選擇器的作用。 簡單來說,就是選擇標籤用的。
-
CSS 樣式其實就做兩件事
1.找到所選擇的標籤。 選擇器(選對人)。
2.設定這些標籤的樣式,比如顏色為紅色(做對事)。
2.2 CSS 選擇器分類
選擇器分為基礎選擇器和複合選擇器兩個大類,我們這裡先講解一下基礎選擇器。後序會講解複合選擇器。
- 基礎選擇器是由單個選擇器組成的
- 基礎選擇器包括:標籤選擇器、類選擇器、id 選擇器和萬用字元選擇器
2.3 標籤選擇器
標籤選擇器(元素選擇器)是指用 HTML 標籤名稱作為選擇器,按標籤名稱分類,為頁面中某一類標籤指定統一的 CSS 樣式。
-
語法
標籤名 { 屬性1: 屬性值1; 屬性2: 屬性值2; 屬性3: 屬性值3; ... }
-
作用: 標籤選擇器可以把某一類標籤全部選擇出來,比如所有的 <div> 標籤和所有的 <span> 標籤。
-
優點: 能快速為頁面中同類型的標籤統一設定樣式。
-
缺點: 不能設計差異化樣式,只能選擇全部的當前標籤。
2.4 類選擇器
如果想要差異化選擇不同的標籤,單獨選一個或者某幾個標籤,可以使用類選擇器.
-
語法
.類名 { 屬性1: 屬性值1; ... }
類選擇器在 HTML 中以 class 屬性表示,在 CSS 中,類選擇器以一個點 “.” 號顯示。每一個結構,如 <p> 、<div> 、<span> 等都可以用 class 屬性來定義它所屬的類,可以所屬多個類。
-
注意事項
1.類選擇器使用 “.” (英文點號)進行標識,後面緊跟類名(自定義,我們自己命名的)。
2.可以理解為給這個標籤起了一個名字來表示。
3.長名稱或片語可以使用中橫線來為選擇器命名。
4.不要使用純數字、中文等命名,儘量使用英文字母來表示。
5.命名要有意義,儘量使別人一眼就知道這個類名的目的。
-
常見類命名推薦
類命名 含義 類命名 含義 header 頭 content/container 內容 footer 尾 nav 導航欄 sidebar 側欄 column 欄目 wrapper 頁面佈局寬度 left/right/center 左右中 loginbar 登入條 logo 標誌 banner 廣告 main 頁面主題 hot 熱點 news 新聞 download 下載 subnav 子導航 menu 選單 submenu 子選單 -
多類名
我們可以給一個標籤指定多個類名,從而達到更多的選擇目的。 這些類名都可以選出這個標籤.。簡單理解就是一個標籤有多個名字。
<style> .box { width: 400px; height: 50px; font-size: 20px; } .red { background-color: red; } .green { background-color: green; } </style>
<body> <div class="box red">紅色</div> <div class="box green">綠色</div> <div class="box red">紅色</div> </body>
上述的三個 div 都呼叫了兩個類名來控制自己的樣式。
-
注意事項:
- 在標籤 class 屬性中可以寫多個類名
- 多個類名中間必須用空格分開
- 這個標籤就可以分別具有這些類名的樣式
- 可以把一些標籤元素相同的樣式(共同的部分)放到一個類裡面
- 這些標籤都可以呼叫這個公共的類,然後再呼叫自己獨有的類
- 從而節省CSS程式碼,統一修改也非常方便
2.5 id 選擇器
id 選擇器可以為標有特定 id 的 HTML 元素指定特定的樣式。HTML 元素以 id 屬性來設定 id 選擇器,CSS 中 id 選擇器以 “#" 來定義。
-
語法
#id名 { 屬性1: 屬性值1; ... }
-
注意:id 屬性只能在每個 HTML 文件中出現一次。
-
口訣:樣式#定義,結構id呼叫, 只能呼叫一次, 別人切勿使用。
-
id 選擇器和類選擇器的區別
- 類選擇器(class)好比人的名字,一個人可以有多個名字,同時一個名字也可以被多個人使用。
- id 選擇器好比人的身份證號碼,全中國是唯一的,不得重複。
- id 選擇器和類選擇器最大的不同在於使用次數上。
- 類選擇器在修改樣式中用的最多,id 選擇器一般用於頁面唯一性的元素上,經常和 JavaScript 搭配使用。
2.6 萬用字元選擇器
在 CSS 中,萬用字元選擇器使用 “ * ” 定義,它表示選取頁面中所有元素(標籤)。
-
語法
* { 屬性1: 屬性值1; ... }
-
注意事項
- 萬用字元選擇器不需要呼叫, 自動就給所有的元素使用樣式
- 特殊情況才使用,例如清除所有的元素標籤的內外邊距的程式碼如下
* { margin: 0; padding: 0; }
上圖左邊是沒清除 HTML 標籤預設帶有的內外邊距,可以看到我們的元素距離瀏覽器左側和上側都有一定的空間,而使用萬用字元清除了之後就不會有,如上圖右邊所示。
三、CSS 字型屬性
CSS Fonts(字型)屬性用於定義字體系列(font-family: “Microsoft Yahei”, Arial)、大小(font-size: 20px)、粗細(font-weight: bold)、文字樣式(font-style: normal)。
3.1 字體系列(font-family)
CSS 使用 font-family 屬性定義文字的字體系列,即文字用什麼字型顯示。
-
語法:
p { font-family:"微軟雅黑";} div {font-family: Arial,"Microsoft Yahei", "微軟雅黑";
-
注意點:
1.各種字型之間必須使用英文狀態下的逗號隔開,當給出多個字型時,瀏覽器依次選擇系統擁有的字型渲染文字字型。
2.一般情況下,如果有空格隔開的多個單片語成的字型那麼就要加引號,例如上面的 Arial 字型名稱沒有空格隔開,則不需要加引號,而 Microsoft Yahei (即微軟雅黑)字型名稱中間有空格,則要用引號。
3.儘量使用系統預設自帶字型,保證在任何使用者的瀏覽器中都能正確顯示。
4.最常見的幾個字型:body {font-family: ‘Microsoft YaHei’,tahoma,arial,‘Hiragino Sans GB’; }
3.2 字型大小(font-size)
CSS 使用 font-size 屬性定義字型大小。
-
語法:
p { font-size: 20px; }
-
注意點:
1.字型大小單位是畫素(px),是我們網頁的最常用的單位。
2.谷歌瀏覽器預設的文字大小為16px。
3.不同瀏覽器可能預設顯示的字號大小不一致,我們儘量給一個明確值大小,不要預設大小。
4.可以給 body 指定整個頁面文字的大小。
3.3 字型粗細(font-weight)
CSS 使用 font-weight 屬性設定文字字型的粗細。
-
語法:
p { font-weight: bold; }
-
屬性值介紹
屬性值 描述 normal 預設值(不加粗的)400 bold 定義粗體 700 100-900 400及是 normal, 700 及是 bold ,注意這個數字後沒有單位 -
注意點
1.該屬性常用於讓加粗標籤(比如 h 和 strong 等) 不加粗,或者其他標籤加粗。
2.實際開發時,我們更喜歡用數字表示粗細。
3.4 文字樣式(font-style)
CSS 使用 font-style 屬性設定文字的風格。
-
語法:
p { font-style: normal; }
-
屬性值介紹:
屬性值 描述 normal 預設值。瀏覽器顯示一個標準的字型樣式。 italic 瀏覽器會顯示一個斜體的字型樣式。 oblique 瀏覽器會顯示一個傾斜的字型樣式。 inherit 規定應該從父元素繼承字型樣式。 -
注意:
1.平時我們很少給文字加斜體,反而要給斜體標籤(em,i)改為不傾斜字型。
3.5 字型的複合屬性
-
語法:
body { font: font-style font-weight font-size/line-height font-family; }
-
注意點:
1.使用 font 屬性時,必須按上面語法格式中的順序書寫,不能更換順序,並且各個屬性間以空格隔開。
2.不需要設定的屬性可以省略(取預設值),但必須保留 font-size 和 font-family 屬性,否則 font 屬性將不起作用。
四、CSS 文字屬性
CSS Text(文字)屬性可定義文字的外觀,比如文字的顏色、文字對齊、裝飾文字、文字縮排、行間距等。
4.1 文字顏色(color)
color 屬性用於定義文字的顏色。
-
語法:
p { color: red; }
-
color 屬性值:
1.預定義的顏色值:red、green、blue、pink 等
2.用十六進位制數:#FF0000、#FF6600、#0F0(#00FF00)(開發中最常用)
3.RGB程式碼:rgb(255,0,0) 或 rgb(100%,0%,0%)
4.2 文字對齊(text-align)
text-align 屬性用於設定元素內文字內容的水平對齊方式。
-
語法:
div { text-align: center; }
-
屬性值介紹:
屬性值 描述 left 預設值。左對齊 right 右對齊 center 居中對齊
4.3 文字裝飾(text-decoration)
text-decoration 屬性規定新增到文字的修飾。可以給文字新增下劃線、刪除線、上劃線等。
-
語法:
a { text-decoration:underline; }
-
屬性值介紹:
屬性值 描述 none 預設值。沒有裝飾線 underline 下劃線,連結 <a>自帶下劃線 overline 上劃線 line-through 刪除線
4.4 文字縮排(text-indent)
text-indent 屬性用來指定文字的第一行的縮排,通常是將段落的首行縮排。
-
語法:
div { text-indent: 10px; } p { text-indent: 2em; }
-
屬性值:
1.通過設定該屬性為一定的畫素值,所有元素的文字內容第一行都可以縮排一個給定的長度,甚至該長度可以是負值。
2.em 是一個相對單位,就是當前元素(font-size) 1 個文字的大小, 如果當前元素沒有設定大小,則會按照父元素的 1 個文字大小。
4.5 行間距(line-height)
line-height 屬性用於設定行間的距離(行高)。可以控制文字行與行之間的距離。
-
語法:
p { line-height: 26px; }
-
注意:
行間距單位為畫素,包括文字的高度、上間距、下間距。如下圖
4.6 文字屬性總結
屬性 | 表示 | 注意點 |
---|---|---|
color | 文字顏色 | 通常用16進製表示,簡寫形式#fff |
text-align | 文字水平對齊 | 設定文字水平對齊方式,預設為靠左 |
text-indent | 文字第一行的縮排 | 通常用相對單位 2em |
text-decoration | 文字修飾 | 一般用於下劃線的取消 |
line-height | 行高 | 控制行與行之間的距離 |
五、CSS 引入方式
在 html 文件中引入 CSS 樣式表有三種引入方法:
- 內部樣式表(嵌入式)
- 行內樣式表(行內式)
- 外部樣式表(連結式)
5.1 內部樣式表
內部樣式表(內嵌樣式表)是寫到 html 頁面內部。是將所有的 CSS 程式碼抽取出來,單獨放到一個 <style> 標籤中。
-
注意
1.<style> 標籤理論上可以放在 HTML 文件的任何地方,但一般會放在文件的 <head> 標籤中。
2.通過此種方式,可以方便控制當前整個頁面中的元素樣式設定。
3.程式碼結構清晰,但是並沒有實現結構與樣式完全分離。
4.使用內部樣式表設定 CSS,通常也被稱為嵌入式引入,這種方式是我們練習時常用的方式。
5.2 行內樣式表
行內樣式表(內聯樣式表)是在元素標籤內部的 style 屬性中設定 CSS 樣式。適合於修改簡單樣式。
-
注意
1.style 其實就是標籤的屬性。
2.在雙引號中間,寫法要符合 CSS 規範。
3.只可控制當前的標籤設定樣式。
4.簡單樣式可以用,複雜的不推薦用。
5.使用行內樣式表設定 CSS ,通常也別稱為行內式引入。
5.3 外部樣式表
實際開發都是用外部樣式表。適合於樣式比較多的情況。核心是:樣式單獨寫到CSS 檔案中,之後把CSS檔案引入到 HTML 頁面中使用。
-
引入外部樣式表分為兩步:
1.新建一個字尾名為 .css 的樣式檔案,檔案中沒有 <style> 標籤,直接寫樣式把所有 CSS 程式碼都放入此檔案中。
2.在 HTML 頁面的 <head>中,使用<link> 標籤引入這個檔案。
<link rel="stylesheet" href="css檔案路徑">