6.1 CSS入門
6.1.1 什麼是CSS
CSS(Cascading Style Sheet,層疊樣式表)是一種格式化網頁的標準方式,它擴充了 HTML 的功能,使網頁設計者能夠以更有效設定網頁格式。
6.1.2 CSS的屬性單位
6.1.2.1 長度單位
在CSS中用於描述長度的單位包括:
- cm 厘米
- mm 毫米
- em 當前字型中m字母的寬度
- ex 當前字型中x字母的高度
- in 英寸
- pc 1pc=12點
- pt 點,1pt=1/72英寸
- px 像素
6.1.2.2 百分比單位
在CSS中除了可以使用絕對數來指定單位(如上面所介紹的),還可以用相對數來指定單位。例如:
P{line-height:150%}
表示該段行高是標準行高的1.5倍。
6.1.2.3 顏色
層疊樣式表允許網頁設計者使用以下方式中的一種指定顏色:
- 顏色名 直接使用標準顏色名稱
- #RRGGBB 使用6位十六進位數表示顏色
- #RGB 使用3位十六進位數表示顏色,它是#RRGGBB方式的捷徑。例如:#00FFEE可以表示為#0FE。
- grb(rrr,ggg,bbb) 使用十進位數表示顏色。
- grb(rrr%,ggg%,bbb%)使用百分數表示顏色。
6.2 CSS樣式定義
樣式表項的組成如下:
selector{property1:value1;property2:value2;......}
其中selector表示需要應用樣式的內容,property表示由CSS標準定義的樣式屬性,value表示樣式屬性的值。
Selector 類型:HTML 標籤符、使用者定義的 class 類樣式、自訂的 ID、虛類 等。
6.2.1 HTML標記符selector
HTML標記符是最典型的selector類型,網頁設計者可以為某個或某些具體的HTML元素應用樣式定義。例如:
H1{text-align:center;font-family:楷體_gb2312}
若將相同的樣式應用於不同的selector,可以採用編組的方法簡化樣式定義。例如:
H1 {color:#ff0000}
H2 {color:#ff0000}
H3 {color:#ff0000}
可以簡化為:
H1,H2,H3 {color:#ff0000}
6.2.2 具有上下文關係的HTML標記符selector
如果需要為位於某個標記符內的標記符設定特定的樣式規則,則應將selector指定為具有上下文關係的HTML標記符。例如:要使位於P標記符內的CODE標記符內的B元素具有紅色屬性,則應使用如下格式:
P CODE B {color:red}
6.2.3 使用者定義的類 selector
可以使用類(class)來為單一HTML標記符建立多個樣式。其文法格式如下:
selector.classname{property:value;...}
例如:H1.rr {color:red}
然後在網頁中需要處引用,所下所示:
<H1 class="rr">此標題為紅色</H1>
如果要定義應用於所有標記符的類,可以直接用句點後跟類名即可。其文法格式如下:
.classname{property:value;...}
例如:.rr{color:red} , 然後在網頁中需要處引用,所下所示:
<p class="rr">本段落文字為紅色</P> <H1 class="rr">本標題為紅色</H1> |
6.2.4 使用者定義ID selector
要將一個ID樣式包括在樣式定義中,應以一個井號“#”作為ID名稱的首碼,其文法格式如下:
#IDname{property:value;...}
定義了ID樣式後,在引用該樣式的標記符內使用id屬性。例如:
#rr {color:red} <P id="rr">本段落文字為紅色</P> <H1 id="rr">本標題為紅色</H1> |
注意:使用.classname和使用#IDname這兩種方式在效果上沒有區別,但最好只使用其中之一,以免造成混淆。
6.2.5 虛類 selector
對於A標記符,可以用虛類的方式設定不同類型超連結的顯示方式。所謂不同類型超連結,是指訪問過的、未訪問過的、啟用的以及滑鼠指標懸停於其上的4種狀態的超連結。其虛類的selector如下:
- A:link或:link 未被瀏覽過的超連結
- A:visited或:visited 已被瀏覽過的超連結
- A:active或:active 當超連結處於選中狀態
- A:hover或:hover 當滑鼠指標移動到超連結上
6.3 在網頁中使用CSS
6.3.1 在標記符中直接嵌套樣式資訊
使用style屬性可以在HTML標記符中直接內建樣式定義。
<標記符 style="property1:value1;...">
例如:
<p style="font-size:14pt;color:red"> 僅位於此標記符內的文本受樣式的影響 </p> |
6.3.2 在STYLE標記符中定義樣式資訊
CSS應用於網頁的最常用的方式是在HEAD標記符內使用STYLE標記符,然後在STYLE標記符中定義樣式。文法格式通常如下:
<head> . . . . . . <style> [<!--] selector1{property1:value1;...} selector2{property1:value1;...} . . . . . . selectorN{property1:value1;...} [-->] </style> </head> |
6.3.3 連結外部樣式表中的樣式資訊
如果要在多個網頁中使用相同的樣式,最好的辦法是將網頁中要使用的樣式,單獨放在一個檔案中定義,然後通過連結的方式引用其中的樣式。
連結引用外部樣式表的方法為:在HEAD標記符內使用LINK標記符,通過指定相應屬性連結到外部樣式表。LINK標記符的用法如下:
<LINK rel="stylesheet" type="text/css" href=樣式表檔案的URL>
其中:rel屬性規定了被連結檔案的關係,在連結樣式表檔案(.css檔案)的情況下,取值永遠是“stylesheet”;type屬性規定了連結檔案的MIME類型,它的值永遠是“text/css”;href屬性指定了要連結的樣式表檔案的URL。
6.3.4 樣式的優先順序
如果有多個樣式同時修飾一個對象,樣式如果衝突,則採用高優先順序樣式;如果沒有衝突,則採用疊加的樣式效果。
樣式的優先順序遵循“就近優先”的原則,也就是說,距離所修飾對象越近的樣式,其優先順序越高。
6.4 CSS屬性
6.4.1 字型與文字屬性
6.4.1.1 字型屬性
CSS中字型屬性包括:
- font-family 屬性用於確定要使用的字型列表,取值可以是字型名稱,也可以是字型族名稱,值之間用逗號分隔。
- font-size 用於控制字型的大小。它的取值分為4種類型:
- 絕對大小,可能的取值有:
- xx-small
- x-small
- small
- medium
- large
- x-large
- xx-large
- 相對大小,可能的取值為:
- smaller 比上一級字型小一號
- larger 比上一級字型大一號
- 使用長度值直接指定。如:P{font-size:12px}
- 使用百分比,如:H1{font-size:70%}表示以H1標準字型的70%顯示。
- font-style 用於指定元素顯示的字形。取值為:
- normal 普通字型(預設值)
- italic 表示斜體字型
- oblique 表示斜體字型
- font-variant 指定了瀏覽器顯示指定元素的字型變體。該屬性有兩個值:
- normal 預設值
- small-caps 表示小體大寫,即文本中的小寫字母顯示為大寫,不過尺寸要比標準的大寫字母要小一些。
- font-weight 定義了字型的粗細程度。
- font 可一次性設定前面介紹的種種字型屬性,屬性之間以空格分隔。
6.4.1.2 文字屬性
文字屬性用於控制文本段落格式。
- letter-spacing 用於設定字元間距
- line-height 用於設定行間距
- text-align 設定對齊
- text-decoration 對特定選項的文本進行修飾,它的取值可以是:
- none 表示不加任何修飾(預設值)
- underline 加底線
- overline 加上劃線
- line-through 加刪除線
- blink 表示添加閃爍效果
- text-indent 設定首行縮排
- text-transform 用於轉換文本,取值為:
- none 預設值
- capitaliae 所選文本中每個單詞的首字母大寫顯示;
- uppercase 所有字母都以大寫顯示
- lowercase 所有字母都以小顯示
6.4.2 顏色與背景屬性
- color 用於控制文本的顏色
- background-color 用於設定HTML元素背景顏色。
- background-image 用於設定HTML元素背景圖案。
- background-attachment 控制背景圖案是否隨內容一起滾動,取值為:
- scroll 表示背景隨內容一起滾動(預設值)
- fixed 表示背景靜止
- bachground-position 用於指定背景圖案與相對關聯地區左上方的位置。
- background-repeat 設定背景圖案是否重複顯示,以及如何重複。取值可以是:
- repeat
- repeat-x
- repeat-y
- no-repeat
- background 與font類似,可以同時設定上述屬性
6.4.3 布局屬性
6.4.3.1 頁面元素周圍的空白
在任何一個HTML元素的周圍,都包括邊框、邊界和填充這三種空白。最接近元素內容的是填充,接下一來是邊框,最外圍是邊界。CSS的margin、border和background屬性分別用於設定以上三個地區。
6.4.3.2 邊框屬性
CSS邊框屬性包括:
- border
- border-bottom
- border-bottom-color
- border-bottom-style
- border-botton-width
- border-color
- border-left
- border-left-color
- border-lefy-style
- border-left-width
- border-right
- border-right-color
- border-right-style
- border-right-width
- border-style
- border-top
- border-top-color
- border-top-style
- border-top-width
- border-width
6.4.3.3 邊界屬性
CSS邊界屬性包括margin、margin-bottom、margin-left、margin-right以及margin-top。
6.4.3.4 填充屬性
CSS填充屬性包括padding、padding-left、padding-right、padding-top以及padding-bottom。
6.4.3.5 浮動屬性
CSS浮動屬性包括:
- float 可以將元素的內容浮動到頁面的邊緣,其取值為:
- clear 設定了元素是否允許浮動元素在它旁邊,取值可以是:
6.4.4 定位和顯示內容
6.4.4.1 定位屬性和寬高屬性
定位屬性包括:
- position 用來規定元素在頁面中的位置,它的取值可以是:
- static 預設值
- relative
- absolute
- top
- bottom
- left
- right
- z-index
width和height屬性可以控制元素的寬度和高度,此時position屬性必須指定為absolute。它們的取值可以是長度值,也可以是百分比。
6.4.4.2 顯示內容
在CSS中,有兩個屬性可以控制元素的顯示和隱藏。
- display 用於確定一個元素是否應繪製在頁面上,它的取值有多個,但在一般瀏覽器中,只有一個none可以使用。當使用屬性隱藏元素時,不但元素不可見,而且元素不佔用任何空間。
- visibility 用於控制元素的可見度,取值包括:
- visible 可見
- hidden 隱藏
- inherit 繼承(預設值)
與display不同之處在於當隱藏元素時,仍然為元素保留原有的顯示空間。
6.4.5 列表屬性
列表屬性用於設定網頁中列表的格式,CSS中的列表屬性包括:
- list-style-image 指定圖片作為清單項目符號,取值為:
- list-style-position 設定列表元素標記的位置,取值可以是:
- list-style-type 用來設定項目符號和編號的樣式,取值如下:
- disc 實心黑園點
- circle 空心園圈
- square 方形黑塊
- decimal 十進位數
- lower-roman 小寫羅馬數字
- upper-roman 大寫羅馬數字
- lower-alpha 小寫字母
- upper-alpha 大寫字母
- none 無
- list-style 用於一次性設定上述屬性
6.4.6 滑鼠屬性
滑鼠屬性通過cursor屬性來設定在對象上移動的滑鼠指標的形狀,取值如下:
- auto 瀏覽器基於當前文本決定顯示哪種指標
- crosshair 簡單十字形
- default 隨平台而定的預設指標(通常為箭頭)
- hand 手形
- move 指示某對象被移動的交叉箭頭
- *-resize 指示邊緣被移動的前頭(*可以是n、ne、nw、s、se、sw、e以及w,分別代表北、東北、西北、南、東南、西南、東以及西等方向)
- text 編輯文本指標(通常為I形)
- wait 指示程式正忙,使用者需要等待的沙漏表徵圖
- help 指示使用者可以得到協助的問號表徵圖
6.5 CSS過濾器效果
過濾器(filter)是CSS的一種擴充,它能夠將特定的效果應用於文本容器、圖片或其它對象。
6.5.1 過濾器屬性列表
過濾器效果是通過filter樣式表屬性定義的,其格式如下:
filter:過濾器名(參數)
其中參數用於控制特定的過濾效果。