CSS基礎

一、CSS簡介

1嘶卧、簡單介紹

CSS 指層疊樣式表 (Cascading Style Sheets),樣式定義如何顯示 HTML 元素,通常存儲在樣式表中向臀。把樣式添加到 HTML 4.0 中,是為了解決內(nèi)容與表現(xiàn)分離的問題诸狭。使文檔內(nèi)容(HTML內(nèi)容)清晰地獨立于文檔表現(xiàn)層券膀。

外部樣式表可以極大提高工作效率,通常存儲在 CSS 文件中驯遇,多個樣式定義可層疊為一(樣式可以規(guī)定在單個的 HTML 元素中芹彬,在 HTML 頁的頭元素中,或在一個外部的 CSS 文件中叉庐。甚至可以在同一個 HTML 文檔內(nèi)部引用多個外部樣式表)舒帮。

層疊次序

當同一個 HTML 元素被不止一個樣式定義時,所有的樣式會根據(jù)下面的規(guī)則層疊于一個新的虛擬樣式表中,其中內(nèi)聯(lián)樣式(在 HTML 元素內(nèi)部)擁有最高的優(yōu)先權会前。

1好乐、瀏覽器的樣式聲明(缺省設置);2瓦宜、外部樣式表蔚万;3、內(nèi)部樣式表(位于 <head> 標簽內(nèi)部)临庇;4反璃、內(nèi)聯(lián)樣式(在 HTML 元素內(nèi)部)

2、CSS基礎語法

selector {declaration1; declaration2; ... declarationN }?——選擇器{N條聲明以分號隔開}

選擇器:需要設置樣式的 HTML 元素

聲明:由以冒號連接的屬性和值構成假夺,屬性(property)是希望設置的樣式屬性(style attribute)淮蜈。多條聲明以花括號包圍

注意

屬性值的單位,當使用 RGB 百分比時已卷,即使當值為 0 時也要寫百分比符號梧田。其他的情況不用。

如果值為若干單詞侧蘸,則要給值加引號裁眯。p {font-family: "sans serif";}

多重聲明每行只描述一個屬性以增強樣式定義的可讀性,均以分號結尾(最后一行不用分號也可)

空格和大小寫讳癌,是否包含空格不會影響 CSS 在瀏覽器的工作效果穿稳,CSS 對大小寫不敏感(與 XHTML 不同)。不過存在一個例外:如果涉及到與 HTML 文檔一起工作的話晌坤,class 和 id 名稱對大小寫是敏感的逢艘。

3、選擇器的分組

對選擇器進行分組骤菠,被分組的選擇器可以分享相同的聲明它改,用逗號將需要分組的選擇器分開。h1,h2,h3,h4,h5,h6{? color: green;? }

4娩怎、繼承問題

CSS子元素從父元素繼承屬性搔课,但是并不總是按此方式工作胰柑。Netscape 4.0 瀏覽器無法理解繼承截亦,不過可以理解組選擇器。因此添加使用分組選擇器來處理舊式瀏覽器無法理解繼承的問題柬讨。

同理崩瓤,需要擺脫對父元素的繼承,可針對HTML元素添加CSS規(guī)則踩官。

5却桶、常用CSS選擇器

①派生選擇器

通過依據(jù)元素在其位置上下文關系來定義樣式,簡潔標記。

head部分css代碼:li strong?{ font-style: italic; }

body部分HTML代碼:<li><strong>我是斜體字颖系。這是因為 strong 元素位于 li 元素內(nèi)嗅剖。</strong></li>

②id 選擇器

為標有特定 id 的 HTML 元素指定特定的樣式,以 "#" 來定義嘁扼。id 屬性只能在每個 HTML 文檔中出現(xiàn)一次信粮。

head部分css代碼:#green {color:green;}

body部分HTML代碼:<p id="green">這個段落是綠色。</p>

id 選擇器常常用于建立派生選擇器趁啸,可以被使用很多次强缘。#sidebar p {…}花括號內(nèi)的樣式只會應用于出現(xiàn)在 id 是 sidebar 的元素內(nèi)的p元素。

③類選擇器

為標有特定 class 的 HTML 元素指定樣式不傅,以 點號來顯示旅掂。類名的第一個字符不能使用數(shù)字,無法在 Mozilla 或 Firefox 中起作用访娶。

head部分css代碼:.center {text-align: center}

body部分HTML代碼:<p class="center">這個段落是綠色商虐。</p>

class 也可被用作派生選擇器,元素也可以基于它們的類而被選擇崖疤。

.fancy td{color: #f60;}? ? 類名為 fancy 的更大的元素內(nèi)部的表格單元都會以顯示橙色文字称龙。

td.fancy{color: #f60;}? ? ?類名為 fancy 的表格單元將是橙色。

屬性選擇器

對帶有指定屬性的 HTML 元素設置樣式戳晌。(在 IE6 及更低的版本中鲫尊,不支持屬性選擇。)選擇器以中括號包圍指定屬性定義沦偎,如【title】{…}

1)屬性和值選擇器

單個值:[title=W3School]{border:5px solid blue;}? ??為 title="W3School" 的所有元素設置樣式

多個值:[title~=hello] { color:red; }? ??適用由空格分隔的屬性值,為title屬性值包含hello的所有元素設置樣式

[lang|=en] { color:red; }? ? ? ?適用于由連字符分隔的屬性值囊嘉,……

2)設置表單的樣式

屬性選擇器在為不帶有 class 或 id 的表單設置樣式時特別有用博其。input[type="text"]{……}

6儿普、插入css樣式表

①外部樣式表? ??<head><link rel="stylesheet" type="text/css" href="mystyle.css" /></head>

適用于將樣式應用于很多頁面時死遭,可以通過改變一個文件來改變整個站點的外觀舰蟆。瀏覽器會從文件 mystyle.css 中讀到樣式聲明,并根據(jù)它來格式文檔钉汗。外部樣式表可以在任何文本編輯器中進行編輯福侈。文件不能包含任何的 html 標簽。樣式表應該以 .css 擴展名進行保存卢未。

注意:不要在屬性值與單位之間留有空格肪凛。在 Mozilla/Firefox 或 Netscape 中卻無法正常工作。

②內(nèi)部樣式表? ??<head><style type="text/css">p {margin-left: 20px;}</head>

適用于單個文檔需要特殊的樣式時辽社。

③內(nèi)聯(lián)樣式? ? <p style="color: sienna; margin-left: 20px">This is a paragraph</p>

適用于樣式僅需要在一個元素上應用一次時伟墙,慎用。相關標簽內(nèi)使用style屬性(包含任何 CSS 屬性)滴铅。

④多重樣式的繼承

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

二汉匙、css樣式

1譬淳、css背景

CSS 允許應用純色作為背景,也允許使用背景圖像創(chuàng)建相當復雜的效果盹兢。所有背景屬性都不能繼承邻梆。

①背景色—— background-color?

這個屬性接受任何合法的顏色值∫锩耄可以為所有元素設置背景色浦妄。background-color 不能繼承,其默認值是 transparent见芹。

②背景圖像—— background-image?

如果需要設置一個背景圖像剂娄,必須為這個屬性設置一個 URL 值:body {background-image: url(/i/eg_bg_04.gif);}

background-image 屬性的默認值是 none,表示背景上沒有放置任何圖像玄呛≡呐常可為段落或行內(nèi)元素等設置背景圖像。

③背景圖像重復——background-repeat

屬性值 repeat 導致圖像在水平垂直方向上都平鋪(默認做法)徘铝,repeat-x 和 repeat-y 分別導致圖像只在水平或垂直方向上重復耳胎,no-repeat 則不允許圖像在任何方向上平鋪(默認背景圖像從一個元素的左上角開始)惯吕。

④背景定位—— background-position

用于改變圖像在背景中的位置。為background-position 屬性提供值有很多方法怕午。

1)關鍵字??top废登、bottom、left郁惜、right 和 center

位置關鍵字可以按任何順序出現(xiàn)堡距,只要保證不超過兩個關鍵字 :一個對應水平方向,另一個對應垂直方向兆蕉。如果只出現(xiàn)一個關鍵字羽戒,則認為另一個關鍵字是 center。

2)百分數(shù)值??

百分數(shù)值同時應用于元素和圖像虎韵。圖像中心與其元素的中心對齊易稠。如果圖像位于 0% 0%,其左上角將放在元素內(nèi)邊距區(qū)的左上角劝术。如果只提供一個百分數(shù)值缩多,所提供的這個值將用作水平值,垂直值將假設為 50%养晋。

3)長度值

長度值解釋的是元素內(nèi)邊距區(qū)左上角的偏移衬吆。偏移點是圖像的左上角,從一個左上角到另一個左上角绳泉。

⑤背景關聯(lián)—— background-attachment

文檔比較長時逊抡,當文檔向下滾動時,背景圖像也會隨之滾動零酪。當文檔滾動到超過圖像的位置時冒嫡,圖像就會消失。聲明圖像相對于可視區(qū)是固定的(fixed)來防止這種滾動四苇。

background-attachment 屬性的默認值是 scroll(背景會隨文檔滾動)孝凌。

2、css文本

CSS 文本屬性可定義文本的外觀月腋,包括改變文本的顏色蟀架、字符間距,對齊文本榆骚,裝飾文本片拍,對文本進行縮進等。

css文本屬性

1)縮進文本 ——? text-indent屬性 ?

①?所有元素的第一行都可以縮進一個給定的長度妓肢,甚至該長度可以是負值捌省。用于將段落的首行縮進。

一般來說碉钠,可以為所有塊級元素應用 text-indent纲缓,但無法將該屬性應用于行內(nèi)元素和圖像之類的替換元素上卷拘。不過,如果一個塊級元素(比如段落)的首行中有一個圖像色徘,它會隨該行的其余文本移動恭金。如果想把一個行內(nèi)元素的第一行“縮進”操禀,可以用左內(nèi)邊距或外邊距創(chuàng)造這種效果褂策。

②text-indent 設置為負值,實現(xiàn)懸掛縮進颓屑。

注意:如果對一個段落設置了負值斤寂,那么首行的某些文本可能會超出瀏覽器窗口的左邊界。為了避免出現(xiàn)這種顯示問題揪惦,建議針對負縮進再設置一個外邊距或一些內(nèi)邊距:p {text-indent: -5em; padding-left: 5em;}

③text-indent 可以使用所有長度單位遍搞,包括百分比值。

百分數(shù)要相對于縮進元素父元素的寬度器腋。即如果將縮進值設置為 20%溪猿,所影響元素的第一行會縮進其父元素寬度的 20%。

④text-indent 屬性可以繼承纫塌。div#inner {text-indent: 10%;}

2)水平對齊——text-align

①影響一個元素中的文本行互相之間的對齊方式诊县。值 left、right 和 center 會導致元素中的文本分別左對齊措左、右對齊和居中依痊,默認值是 left。

將塊級元素或表元素居中怎披,要通過在這些元素上適當?shù)卦O置左胸嘁、右外邊距來實現(xiàn)。

②text-align:center 與 <CENTER>區(qū)別

<CENTER> 不僅影響文本凉逛,還會把整個元素居中性宏。text-align 不會控制元素的對齊,而只影響內(nèi)部內(nèi)容状飞。元素本身不會從一段移到另一端毫胜,只是其中的文本受影響。

③兩端對齊text-align:justify

文本行的左右兩端都放在父元素的內(nèi)邊界上昔瞧。然后指蚁,調(diào)整單詞和字母間的間隔,使各行的長度恰好相等自晰。

3)字間隔——word-spacing 屬性

改變字(單詞)之間的標準間隔凝化。其默認值 normal 與設置值為 0 是一樣的。word-spacing 屬性接受一個正長度值或負長度值酬荞。如果提供一個正長度值搓劫,那么字之間的間隔就會增加瞧哟。為 word-spacing 設置一個負值,會把它拉近枪向。

4)字母間隔——letter-spacing 屬性

字母間隔修改的是字符或字母之間的間隔勤揩。屬性可取值包括所有長度。默認關鍵字是 normal(這與 letter-spacing:0 相同)秘蛔。輸入的長度值會使字母之間的間隔增加或減少指定的量陨亡。

5)字符轉換——text-transform 屬性

用于處理文本的大小寫。這個屬性有 4 個值:

none? ? ? ? ? ? ? ? 對文本不做任何改動

uppercase? ? ? ??將文本轉換為全大寫

lowercase? ? ? ? ?將文本轉換為全小寫

capitalize? ? ? ? ??只對每個單詞的首字母大寫

6)文本裝飾—— text-decoration 屬性

none? ? ? ? ? ? ? ?關閉原本應用到一個元素上的所有裝飾

underline? ? ? ? ??對元素加下劃線深员,就像 HTML 中的 U 元素一樣

overline? ? ? ? ? ??在文本的頂端畫一個上劃線

line-through? ? ??在文本中間畫一個貫穿線负蠕,等價于 HTML 中的 S 和 strike 元素

blink? ? ? ? ? ? ? ? ??讓文本閃爍

兩個不同的裝飾都與同一元素匹配,勝出規(guī)則的值會完全取代另一個值倦畅。因為 text-decoration 值會替換而不是累積起來遮糖。

7)處理空白符——white-space 屬性

影響瀏覽器處理字之間和文本行之間的空白符的方式。默認的 XHTML 處理已經(jīng)完成了空白符處理:它會把所有空白符合并為一個空格叠赐。white-space 值可以應用到任何元素欲账。

white-space 屬性值

8)文本方向——direction 屬性

影響塊級元素中文本的書寫方向、表中列布局的方向芭概、內(nèi)容水平填充其元素框的方向赛不、以及兩端對齊元素中最后一行的位置。

對于行內(nèi)元素谈山,只有當?unicode-bidi 屬性設置為 embed 或 bidi-override 時才會應用 direction 屬性俄删。

direction 屬性有兩個值:ltr 和 rtl。大多數(shù)情況下奏路,默認值是 ltr畴椰,顯示從左到右的文本。如果顯示從右到左的文本鸽粉,應使用值 rtl斜脂。

3、字體

CSS 字體屬性定義文本的字體系列触机、大小帚戳、加粗、風格(如斜體)和變形(如小型大寫字母)儡首。

css字體屬性

1)css字體系列

通用字體系列 - 擁有相似外觀的字體系統(tǒng)組合(比如 "Serif" 或 "Monospace")

特定字體系列 - 具體的字體系列(比如 "Times" 或 "Courier")

2)指定字體系列

使用 font-family 屬性 定義文本的字體系列片任。也可以為給定的元素指定一系列類似的字體。需要把這些字體按照優(yōu)先順序排列蔬胯,然后用逗號進行連接对供。

只有當字體名中有一個或多個空格(比如 New York),或者如果字體名包括 # 或 $ 之類的符號,才需要在 font-family 聲明中加引號(單引號或雙引號)产场。如果把一個 font-family 屬性放在 HTML 的 style 屬性中鹅髓,則需要使用該屬性本身未使用的那種引號

3)字體風格——font-style 屬性

最常用于規(guī)定斜體文本,該屬性有三個值:

normal - 文本正常顯示

italic - 文本斜體顯示

oblique - 文本傾斜顯示

斜體(italic)是一種簡單的字體風格京景,對每個字母的結構有一些小改動窿冯,來反映變化的外觀。傾斜(oblique)文本則是正常豎直文本的一個傾斜版本确徙。

4)字體變形——font-variant 屬性

可以設定小型大寫字母醒串。小型大寫字母不是一般的大寫字母,也不是小寫字母米愿,這種字母采用不同大小的大寫字母厦凤。p {font-variant:small-caps;}

5)字體加粗——font-weight 屬性

設置文本的粗細鼻吮,使用 bold 關鍵字可以將文本設置為粗體育苟。如果將元素的加粗設置為 bolder,瀏覽器會設置比所繼承值更粗的一個字體加粗椎木。與此相反违柏,關鍵詞 lighter 會導致瀏覽器將加粗度下移而不是上移。

關鍵字 100 ~ 900 為字體指定了 9 級加粗度香椎。如果一個字體內(nèi)置了這些加粗級別漱竖,那么這些數(shù)字就直接映射到預定義的級別,100 對應最細的字體變形畜伐,900 對應最粗的字體變形馍惹。數(shù)字 400 等價于 normal,而 700 等價于 bold玛界。

6)字體大小——font-size 屬性設置文本的大小万矾。

不應當通過調(diào)整文本大小使段落看上去像標題,或者使標題看上去像段落慎框。始終使用正確的 HTML 標題良狈,比如使用 <h1> - <h6> 來標記標題,使用 <p> 來標記段落笨枯。

font-size 值可以是絕對或相對值薪丁。

絕對值:

將文本設置為指定的大小馅精;

不允許用戶在所有瀏覽器中改變文本大醒鲜取(不利于可用性);

絕對大小在確定了輸出的物理尺寸時很有用洲敢。

相對大新:

相對于周圍的元素來設置大小沦疾;

允許用戶在瀏覽器改變文本大小称近。

①使用像素來設置字體大小

通過像素設置文本大小第队,可以對文本大小進行完全控制。

②使用 em 來設置字體大小

可避免在 Internet Explorer 中無法調(diào)整文本的問題刨秆。瀏覽器中默認的文本大小是 16 像素凳谦。因此 1em 的默認尺寸是 16 像素。使用 em 單位衡未,則可以在所有瀏覽器中調(diào)整文本大小尸执。

③結合使用百分比和 EM

在所有瀏覽器中均有效的方案是為 body 元素(父元素)以百分比設置默認的 font-size 值。

4缓醋、CSS 鏈接

能夠設置鏈接樣式的 CSS 屬性有很多種(例如 color, font-family, background 等等)如失。鏈接的特殊性在于能夠根據(jù)它們所處的狀態(tài)來設置它們的樣式。

1)鏈接的四種狀態(tài)

a:link - 普通的送粱、未被訪問的鏈接

a:visited - 用戶已訪問的鏈接

a:hover - 鼠標指針位于鏈接的上方

a:active - 鏈接被點擊的時刻

注:當為鏈接的不同狀態(tài)設置樣式時褪贵,請按照以下次序規(guī)則:a:hover 必須位于 a:link 和 a:visited 之后。a:active 必須位于 a:hover 之后抗俄。

2)常見的鏈接樣式

①文本修飾——text-decoration 屬性大多用于去掉鏈接中的下劃線

②背景色——background-color 屬性規(guī)定鏈接的背景色

5脆丁、CSS 列表

不是描述性的文本的任何內(nèi)容都可以認為是列表。

CSS 列表屬性允許你放置动雹、改變列表項標志槽卫,或者將圖像作為列表項標志。要影響列表的樣式胰蝠,最簡單(同時支持最充分)的辦法就是改變其標志類型歼培。

css列表屬性

1)列表項的標志?—— list-style-type屬性

ul {list-style-type : square}修改用于列表項的標志類型

取值:disc(默認)、square、none、circle

2)列表項圖像—— list-style-image 屬性

ul li {list-style-image : url(xxx.gif)}對標志使用一個圖像

3)列表標志位置—— list-style-position屬性

標志出現(xiàn)在列表項內(nèi)容之外&內(nèi)容內(nèi)部

4)簡寫列表樣式——list-style屬性

li {list-style : url(example.gif) square inside}

將列表樣式屬性合并為一個方便的屬性僵闯,list-style 的值可以按任何順序列出,而且這些值都可以忽略读跷。只要提供了一個值,其它的就會填入其默認值禾唁。

5)有序列表更改列表項標記——list-style-type屬性

取值:decimal(數(shù)字)效览、lower-roman(小寫羅馬數(shù)字)、upper-roman(大寫羅馬數(shù)字)荡短、lower-alpha(小寫字母)丐枉、upper-alpha(大寫字母)

6、CSS 表格

css表格屬性

1)表格邊框——border 屬性

此時表格具有雙線條邊框掘托。這是由于 table瘦锹、th 以及 td 元素都有獨立的邊框。如果需要把表格顯示為單線條邊框,請使用 border-collapse 屬性弯院。

2)折疊邊框——border-collapse 屬性設置是否將表格邊框折疊為單一邊框辱士。

3)表格寬度和高度—— width 和 height 屬性定義表格的寬度和高度。

4)表格文本對齊——text-align 和 vertical-align 屬性

設置表格中文本的對齊方式听绳,text-align 屬性設置水平對齊方式颂碘,比如左對齊、右對齊或者居中椅挣。vertical-align 屬性設置垂直對齊方式头岔,比如頂部對齊、底部對齊或居中對齊鼠证。

5)表格內(nèi)邊距——padding 屬性

如需控制表格中內(nèi)容與邊框的距離峡竣,請為 td 和 th 元素設置 padding 屬性。

6)表格顏色——background-color

7)空單元格是否顯示——empty-cells屬性

如果已規(guī)定 !DOCTYPE量九,那么 Internet Explorer 8 (以及更高版本)支持 empty-cells 屬性适掰。

7、CSS 輪廓

輪廓(outline)是繪制于元素周圍的一條線娩鹉,位于邊框邊緣的外圍攻谁,可起到突出元素的作用。CSS outline 屬性規(guī)定元素輪廓的樣式弯予、顏色和寬度。

CSS 邊框?qū)傩?/div>

注釋:如果規(guī)定了 !DOCTYPE个曙,則 IE8 支持 outline 屬性锈嫩。輪廓線不會占據(jù)空間,也不一定是矩形垦搬。

outline 簡寫屬性在一個聲明中設置所有的輪廓屬性呼寸。順序設置如下:outline-color? ? outline-style? ? outline-width? ? 如果不設置其中的某個值,也不會出問題猴贰。在 outline-color 屬性之前聲明 outline-style 屬性对雪。元素只有獲得輪廓以后才能改變其輪廓的顏色。

三米绕、css框模型

1瑟捣、框模型概述

CSS 框模型 (Box Model) 規(guī)定了元素框處理元素內(nèi)容、內(nèi)邊距栅干、邊框 和 外邊距 的方式迈套。

背景應用于由內(nèi)容和內(nèi)邊距、邊框組成的區(qū)域碱鳞。

內(nèi)邊距呈現(xiàn)了元素的背景桑李。內(nèi)邊距的邊緣是邊框。邊框以外是外邊距,外邊距默認是透明的贵白,因此不會遮擋其后的任何元素率拒。內(nèi)邊距、邊框和外邊距都是可選的禁荒,默認值是零俏橘。但是,許多元素將由用戶代理樣式表設置外邊距和內(nèi)邊距圈浇×绕可以通過將元素的 margin 和 padding 設置為零來覆蓋這些瀏覽器樣式。

增加內(nèi)邊距磷蜀、邊框和外邊距不會影響內(nèi)容區(qū)域的尺寸召耘,但是會增加元素框的總尺寸(撐開)。

提示:內(nèi)邊距褐隆、邊框和外邊距可以應用于一個元素的所有邊污它,也可以應用于單獨的邊。外邊距可以是負值庶弃,而且在很多情況下都要使用負值的外邊距衫贬。

不要給元素添加具有指定寬度的內(nèi)邊距,而是將內(nèi)邊距或外邊距添加到元素的父元素和子元素歇攻。因為不同的瀏覽器對width組成定義不同固惯。

2、css內(nèi)邊距padding

CSS padding 屬性定義元素邊框與元素內(nèi)容之間的空白區(qū)域缴守。

1)屬性接受長度值或百分比值葬毫,但不允許使用負值。

可按照上屡穗、右贴捡、下、左的順序分別設置各邊的內(nèi)邊距村砂,各邊均可以使用不同的單位或百分比值烂斋。padding-top? ? padding-right? ? padding-bottom? ? padding-left

簡寫為p{padding: 1px 2px 1px 2px;}

2)百分比值

百分數(shù)值是相對于其父元素的 width 計算的,與外邊距一樣础废。如果父元素的 width 改變汛骂,padding也會改變。

注意:上下內(nèi)邊距與左右內(nèi)邊距一致色迂,即上下內(nèi)邊距的百分數(shù)會相對于父元素寬度設置香缺,而不是相對于高度。

3歇僧、CSS 邊框border

元素的邊框就是圍繞元素內(nèi)容和內(nèi)邊據(jù)的一條或多條線图张。每個邊框有規(guī)定元素 3 個方面:寬度锋拖、樣式,以及顏色祸轮。

css邊框?qū)傩?/div>

1)邊框與背景

CSS 規(guī)范指出兽埃,邊框繪制在“元素的背景之上”。因為有些邊框是“間斷的”(例如适袜,點線邊框或虛線框)柄错,元素的背景應當出現(xiàn)在邊框的可見部分之間。元素的背景是內(nèi)容苦酱、內(nèi)邊距和邊框區(qū)的背景(大多數(shù)瀏覽器都遵循?)售貌。

2)邊框樣式?——border-style 屬性

如果沒有樣式,將根本沒有邊框疫萤。

CSS 的 border-style 屬性定義了 10 個不同的非 inherit 樣式颂跨,包括 none。a:link img {border-style: outset;}

①多邊樣式? ? ? ?p.aside {border-style: solid dotted dashed double;}

值采用了 top-right-bottom-left 的順序扯饶,為類名為 aside 的段落定義了四種邊框樣式:實線上邊框恒削、點線右邊框、虛線下邊框和一個雙線左邊框尾序。

②單邊樣式? ? ? ?border-top-style? ? border-right-style? ? border-bottom-style? ? border-left-style

p {border-style: solid; border-left-style: none;}?必須把單邊屬性放在簡寫屬性之后钓丰,否則單邊屬性被覆蓋。

3)邊框的寬度—— border-width 屬性

為邊框指定寬度有兩種方法:可以指定長度值每币,比如 2px 或 0.1em携丁;或者使用 3 個關鍵字之一,它們分別是 thin 脯爪、medium(默認值) 和 thick(無具體寬度)则北。

①單邊寬度? ??border-top-width? ? border-right-width? ? border-bottom-width? ? border-left-width

簡寫按照 top-right-bottom-left 的順序設置元素的各邊邊框。

②沒有邊框? ??

如果邊框樣式為 none痕慢,即邊框根本不存在,那么邊框就不可能有寬度涌矢,因此邊框?qū)挾茸詣釉O置為 0掖举。由于 border-style 的默認值是 none,如果希望邊框出現(xiàn)娜庇,就必須聲明一個邊框樣式塔次。

4)邊框顏色—— border-color 屬性

一次可以接受最多 4 個顏色值,按照 top-right-bottom-left 的順序名秀,顏色值小于 4 個励负,值復制就會起作用。上下邊框復制匕得,左右邊框復制继榆。

默認的邊框顏色是元素本身的前景色巾表。如果沒有為邊框聲明顏色,它將與元素的文本顏色相同略吨。另一方面集币,如果元素沒有任何文本,假設它是一個表格翠忠,其中只包含圖像鞠苟,那么該表的邊框顏色就是其父元素的文本顏色(因為 color 可以繼承)。這個父元素很可能是 body秽之、div 或另一個 table当娱。

①單邊顏色? ??border-top-color? ? border-right-color? ? border-bottom-color? ? border-left-color

②透明邊框? ??border-color: transparent;

利用 transparent,使用邊框就像是額外的內(nèi)邊距一樣考榨;此外跨细,能在需要的時候使其可見。這種透明邊框相當于內(nèi)邊距董虱,因為元素的背景會延伸到邊框區(qū)域扼鞋。

4、CSS 外邊距

1)CSS margin 屬性

設置外邊距的最簡單的方法就是使用 margin 屬性愤诱。margin 屬性默認值為0云头,接受任何長度單位,可以是像素淫半、英寸溃槐、毫米或 em。margin 可以設置為 auto科吭。更常見的做法是為外邊距設置長度值昏滴,接受任何長度單位、百分數(shù)值甚至負值对人。

簡寫時按照 top-right-bottom-left 的順序谣殊,百分數(shù)是相對于父元素的 width 計算的。

2)值復制

如果缺少左外邊距的值牺弄,則使用右外邊距的值姻几。

如果缺少下外邊距的值,則使用上外邊距的值势告。

如果缺少右外邊距的值蛇捌,則使用上外邊距的值。

3)單邊外邊距? ??margin-top? ? margin-right? ? margin-bottom? ? margin-left

提示:Netscape 和 IE 對 body 標簽定義的默認邊距(margin)值是 8px咱台。而 Opera 將內(nèi)部填充(padding)的默認值定義為 8px络拌。

5、CSS 外邊距合并

外邊距合并指的是回溺,當兩個垂直外邊距相遇時春贸,它們將形成一個外邊距混萝。合并后的外邊距的高度等于兩個發(fā)生合并的外邊距的高度中的較大者。

1)

垂直合并:第一個元素的下外邊距與第二個元素的上外邊距會發(fā)生合并祥诽。

2)

當一個元素包含在另一個元素中時(假設沒有內(nèi)邊距或邊框把外邊距分隔開)譬圣,它們的上和/或下外邊距也會發(fā)生合并。

3)外邊距可以與自身發(fā)生合并雄坪。這就是一系列的段落元素占用空間非常小的原因厘熟,因為它們的所有外邊距都合并到一起,形成了一個小的外邊距维哈。

假設一個空元素绳姨,無邊框或填充,如下合并

遇到另一個元素的外邊距阔挠,它還會發(fā)生合并

四飘庄、CSS定位

1、定位概述

定義元素框相對于其正常位置應該出現(xiàn)的位置购撼,或者相對于父元素跪削、另一個元素甚至瀏覽器窗口本身的位置。

css定位屬性

1)一切皆為框——display 屬性改變生成的框的類型

塊框:div迂求、h1 或 p 元素等塊級元素顯示為一塊內(nèi)容碾盐。

行內(nèi)框:span 和 strong 等“行內(nèi)元素”內(nèi)容顯示在行中。

無名塊框:沒有進行顯式定義的情況下創(chuàng)建塊級元素揩局。把一些文本添加到一個塊級元素(比如 div)的開頭毫玖,即使沒有把這些文本定義為段落,它也會被當作段落對待凌盯。(塊級元素的文本行)

2)CSS 定位機制

CSS 有三種基本的定位機制:普通流(默認)付枫、浮動和絕對定位。

普通流中的元素的位置由元素在 (X)HTML 中的位置決定驰怎。

塊級框從上到下一個接一個地排列阐滩,框之間的垂直距離是由框的垂直外邊距計算出來。

行內(nèi)框在一行中水平布置县忌∫睹迹可以使用水平內(nèi)邊距、邊框和外邊距調(diào)整它們的間距芹枷。但是,垂直內(nèi)邊距莲趣、邊框和外邊距不影響行內(nèi)框的高度鸳慈。由一行形成的水平框稱為行框(Line Box),行框的高度總是足以容納它包含的所有行內(nèi)框喧伞。不過走芋,設置行高可以增加這個框的高度绩郎。

3)CSS position 屬性

position 屬性值的含義:

static? ??元素框正常生成。塊級元素生成一個矩形框翁逞,作為文檔流的一部分肋杖,行內(nèi)元素則會創(chuàng)建一個或多個行框,置于其父元素中挖函。

relative? ??元素框偏移某個距離状植。元素仍保持其未定位前的形狀怨喘,它原本所占的空間仍保留。

absolute? ??元素框從文檔流完全刪除,并相對于其包含塊定位膏执。

fixed? ? 元素框的表現(xiàn)類似于將 position 設置為 absolute驻售,不過其包含塊是視窗本身。

2胧后、相對定位

如果對一個元素進行相對定位芋浮,它將出現(xiàn)在它所在的位置上。然后壳快,通過設置垂直或水平位置纸巷,讓這個元素“相對于”它的起點進行移動。

在使用相對定位時眶痰,無論是否進行移動瘤旨,元素仍然占據(jù)原來的空間。因此竖伯,移動元素會導致它覆蓋其它框存哲。

相對定位實際上被看作普通流定位模型的一部分,因為元素的位置相對于它在普通流中的位置七婴。

#box_relative {position: relative; left: 30px; top: 20px;}

3祟偷、絕對定位

設置為絕對定位的元素框從文檔流完全刪除,并相對于包含塊(可能是文檔中的另一個元素或者是初始包含塊定位打厘。元素原先在正常文檔流中所占的空間會關閉修肠,就好像該元素原來不存在一樣。元素定位后生成一個塊級框户盯,而不論原來它在正常流中生成何種類型的框嵌施。

普通流中其它元素的布局就像絕對定位的元素不存在一樣饲化。絕對定位可能覆蓋頁面上的其它元素,通過設置 z-index 屬性來控制這些框的堆放次序吗伤。

絕對定位的元素的位置相對于最近的已定位祖先元素吃靠,如果元素沒有已定位的祖先元素,那么它的位置相對于最初的包含塊足淆。

4巢块、浮動

1)浮動的框可以向左或向右移動,直到它的外邊緣碰到包含框或另一個浮動框的邊框為止缸浦。由于浮動框不在文檔的普通流中夕冲,所以文檔的普通流中的塊框表現(xiàn)得就像浮動框不存在一樣。

把框 1 向右浮動時裂逐,它脫離文檔流并且向右移動歹鱼,直到它的右邊緣碰到包含框的右邊緣??
框 1 向左浮動時脫離文檔流并且向左移動,直到它的左邊緣碰到包含框的左邊緣卜高。因為它不再處于文檔流中弥姻,所以它不占據(jù)空間,實際上覆蓋住了框 2
包含框無法容納水平排列的三個浮動元素掺涛,那么其它浮動塊向下移動,直到有足夠的空間薪缆。如果浮動元素的高度不同秧廉,那么當它們向下移動時可能被其它浮動元素“卡住”

2)CSS float 屬性

float 屬性定義元素在哪個方向浮動。任何元素都可以浮動拣帽,浮動元素會生成一個塊級框疼电,無論它本身是何種元素。如果浮動非替換元素减拭,則要指定一個明確的寬度蔽豺;否則,它們會盡可能地窄拧粪。

注釋:假如在一行之上只有極少的空間可供浮動元素修陡,那么這個元素會跳至下一行,這個過程會持續(xù)到某一行擁有足夠的空間為止可霎。

屬性值和描述:

left? ? ? ? ?元素向左浮動魄鸦。

right? ? ? ? 元素向右浮動。

none? ? ? ? 默認值癣朗。元素不浮動号杏,并會顯示在其在文本中出現(xiàn)的位置。

inherit? ? ? ?規(guī)定應該從父元素繼承 float 屬性的值。

3)CSS 浮動問題——行框和清理

浮動框旁邊的行框被縮短盾致,從而給浮動框留出空間,行框圍繞浮動框荣暮。

創(chuàng)建浮動框可以使文本圍繞圖像庭惜。??

阻止行框圍繞浮動框,需要對該框應用 clear 屬性穗酥。clear 屬性的值可以是 left护赊、right、both 或 none砾跃,它表示框的哪些邊不應該挨著浮動框骏啰。

①方法一:對段落增加margin-top

段落的上外邊距(margin-top)上添加足夠的空間,使元素的頂邊緣垂直下降到浮動框下面

②方法二:在包圍容器中新增空元素且清理它

假設希望讓一個圖片浮動到文本塊的左邊抽高,并且圖片和文本包含在另一個具有背景顏色和邊框的元素中判耕。

當圖片向左浮動,文本塊向右浮動時翘骂,出現(xiàn)問題:包圍圖片和文本的 div 不占據(jù)空間壁熄。如何讓包圍元素在視覺上包圍浮動元素呢?需要在這個包圍元素內(nèi)的某個地方應用 clear碳竟,但是沒有現(xiàn)有的元素可以應用清理草丧,所以我們只能添加一個空元素并且清理它

.clear {clear: both; }

<div class="clear"></div>

③方法三:對容器 div 進行浮動

但是下一個元素會受到這個浮動元素的影響莹桅。為了解決這個問題昌执,有些人選擇對布局中的所有東西進行浮動,然后使適當?shù)挠幸饬x的元素(常常是站點的頁腳)對這些浮動進行清理诈泼。這有助于減少或消除不必要的標記懂拾。

4)CSS clear 屬性

clear 屬性規(guī)定元素的哪一側不允許其他浮動元素。

值? ? ? ? ? ? ?描述

left? ? ? ? ? ?在左側不允許浮動元素厂汗。

right? ? ? ? ?在右側不允許浮動元素委粉。

both? ? ? ? ?在左右兩側均不允許浮動元素。

none? ? ? ? ?默認值娶桦。允許浮動元素出現(xiàn)在兩側贾节。

inherit? ? ? ? 規(guī)定應該從父元素繼承 clear 屬性的值。


五衷畦、CSS 選擇器

1栗涂、元素選擇器

p {color:gray;}

如果設置 HTML 的樣式,選擇器通常將是某個 HTML 元素祈争,比如 p斤程、h1、em、a忿墅,甚至可以是 html 本身扁藕。

元素選擇器又稱為類型選擇器(type selector)。類型選擇器匹配文檔語言元素類型的名稱疚脐。類型選擇器匹配文檔樹中該元素類型的每一個實例亿柑。

2、選擇器分組

1)h1, h2, h3, h4, h5, h6 {color:blue;}

將選擇器放在規(guī)則左邊棍弄,用逗號分隔望薄,其右邊的樣式(color:blue;)將應用到這幾個選擇器所引用的元素。逗號告訴瀏覽器呼畸,規(guī)則中包含N個不同的選擇器痕支。

2)通配符選擇器? ??* {color:red;}

CSS2 引入了一種新的簡單選擇器 - 通配選擇器(universal selector),顯示為一個星號(*)蛮原。該選擇器可以與任何元素匹配卧须,就像是一個通配符。這個聲明等價于列出了文檔中所有元素的一個分組選擇器瞬痘。

3)聲明分組? ??h1 {font: 28px Verdana; color: white; background: black;}

既可以對選擇器進行分組故慈,也可以對聲明分組。對聲明分組框全,一定要在各個聲明的最后使用分號翩瓜,這很重要蛛勉。瀏覽器會忽略樣式表中的空白符(和換行符)。

一般結合選擇器和聲明分組

3、類選擇器

1)基礎語法? ? .important {color:red;}(點號+HTML元素的class值)

類選擇器允許以一種獨立于文檔元素的方式來指定樣式锌云〗煞梗可以單獨使用医瘫,也可以與其他元素結合使用猾骡。

只有適當?shù)?b>標記文檔(將類選擇器的樣式與元素關聯(lián),將 HTML元素的class 指定為一個適當?shù)闹担┖蟛拍苁褂眠@些選擇器蚜印,所以使用這兩種選擇器通常需要先做一些構想和計劃莺禁。要應用樣式而不考慮具體設計的元素,最常用的方法就是使用類選擇器窄赋。

2)類選擇器結合元素選擇器? ??p.important {color:red;}

選擇器現(xiàn)在會匹配 class 屬性包含 important 的所有 p 元素哟冬,但是其他任何類型的元素都不匹配,不論是否有此 class 屬性忆绰。

3)CSS 多類選擇器

在 HTML 中浩峡,一個 class 值中可能包含一個詞列表,各個詞之間用空格分隔错敢。<p class="important warning">This paragraph is a very important warning.</p>

可使用類選擇器單獨為class為important或warning的元素設置樣式翰灾,也可把兩個類選擇器鏈接在一起,僅可以選擇同時包含這些類名的元素(類名的順序不限)。

如果一個多類選擇器包含類名列表中沒有的一個類名纸淮,匹配就會失敗平斩。

4、ID選擇器

1)語法? ??*#intro {font-weight:bold;}

ID 選擇器前面有一個 # 號 - 也稱為棋盤號或井號萎馅。與類選擇器一樣双戳,ID 選擇器中可以忽略通配選擇器。?ID 選擇器引用HTML元素 id 屬性中的值糜芳。

2)id選擇器與類選擇器的區(qū)別

在一個 HTML 文檔中,ID 選擇器會使用一次魄衅,而且僅一次峭竣。ID 選擇器不能結合使用,因為 ID 屬性不允許有以空格分隔的詞列表晃虫。

有些情況下皆撩,知道文檔中會出現(xiàn)某個特定 ID 值,但是并不知道它會出現(xiàn)在哪個元素上哲银,所以想聲明獨立的 ID 選擇器扛吞。此時可匹配到所有含此id的元素。

注意荆责,類選擇器和 ID 選擇器可能是區(qū)分大小寫的滥比。

5、屬性選擇器

屬性選擇器可以根據(jù)元素的屬性及屬性值來選擇元素做院。一般同其他選擇器結合使用盲泛。

1)簡單屬性選擇器? ??a[href] {color:red;}

希望選擇有某個屬性的元素,不論屬性值是什么键耕,可以使用簡單屬性選擇器寺滚。

還可以根據(jù)多個屬性進行選擇(同時滿足多個屬性),只需將屬性選擇器鏈接在一起即可屈雄。? ??a[href][title] {color:red;}

屬性選擇器在 XML 文檔中相當有用村视,因為 XML 語言主張要針對元素和屬性的用途指定元素名和屬性名。

2)進一步縮小選擇范圍酒奶,只選擇有特定屬性值的元素?

與簡單屬性選擇器類似蚁孔,可以把多個屬性-值選擇器鏈接在一起來選擇一個文檔。

a[] {color: red;}

要求:屬性與屬性值必須完全匹配讥蟆,如果屬性值包含用空格分隔的值列表勒虾,匹配就可能出問題。

3)根據(jù)部分屬性值選擇

p[class~="important"] {color: red;}

部分值屬性選擇器與點號類名記法的區(qū)別:

p.important 和 p[class="important"] 應用到 HTML 文檔時是等價的瘸彤。那么修然,為什么還要有 "~=" 屬性選擇器呢?因為它能用于任何屬性,而不只是 class愕宋。

4)子串匹配屬性選擇器

參考上圖

5)特定屬性選擇類型? ??

*[lang|="en"] {color: red;} 上面這個規(guī)則會選擇 lang 屬性等于 en 或以 en- 開頭的所有元素玻靡。

6、后代選擇器

后代選擇器(descendant selector)又稱為包含選擇器中贝,可以選擇作為某元素后代的元素囤捻。

1)語法解釋? ?h1 em {color:red;}

根據(jù)上下文選擇元素,使樣式在某些文檔結構中起作用邻寿,而在另外一些結構中不起作用蝎土。

在后代選擇器中,規(guī)則(樣式)左邊的選擇器一端包括兩個或多個用空格分隔的選擇器绣否。選擇器之間的空格是一種結合符(combinator)誊涯。每個空格結合符可以解釋為“... 在 ... 找到”、“... 作為 ... 的一部分”蒜撮、“... 作為 ... 的后代”暴构,但是要求必須從右向左讀選擇器。

2)具體應用

假設有一個文檔段磨,其中有一個邊欄取逾,還有一個主區(qū)。邊欄的背景為藍色苹支,主區(qū)的背景為白色砾隅,這兩個區(qū)都包含鏈接列表。不能把所有鏈接都設置為藍色沐序,因為這樣一來邊欄中的藍色鏈接都無法看到琉用。

注意:后代選擇器有一個易被忽視的方面,即兩個元素之間的層次間隔可以是無限的策幼。

7邑时、子元素選擇器

h1>strong {color:red;}? ??子結合符(大于符號)兩邊可以有空白符,這是可選的特姐。

與后代選擇器相比晶丘,子元素選擇器(Child selectors)只能選擇作為某元素子元素的元素。不可隔代

結合后代選擇器和子選擇器? ?table.company td > p

8唐含、相鄰兄弟選擇器

相鄰兄弟選擇器(Adjacent sibling selector)可選擇緊接在另一元素后的元素浅浮,且二者有相同父元素

h1 + p {margin-top:50px;}??相鄰兄弟選擇器使用了加號(+)捷枯,即相鄰兄弟結合符(Adjacent sibling combinator)滚秩。

注釋:與子結合符一樣,相鄰兄弟結合符旁邊可以有空白符淮捆。用一個結合符只能選擇兩個相鄰兄弟中的第二個元素郁油。

相鄰兄弟結合符還可以結合其他結合符:html > body table + ul {margin-top:20px;}??選擇緊接在 table 元素后出現(xiàn)的所有兄弟 ul 元素本股,該 table 元素包含在一個 body 元素中,body 元素本身是 html 元素的子元素桐腌。

9拄显、偽類(Pseudo-classes)

CSS 偽類用于向某些選擇器添加特殊的效果。

1)偽類的語法

? selector : pseudo-class {property: value}

CSS 類也可與偽類搭配使用:? ? selector.class : pseudo-class {property: value}

2)錨偽類

在支持 CSS 的瀏覽器中案站,鏈接的不同狀態(tài)都可以不同的方式顯示躬审,這些狀態(tài)包括:活動狀態(tài),已被訪問狀態(tài)蟆盐,未被訪問狀態(tài)承边,和鼠標懸停狀態(tài)。

a:link {color: #FF0000} /* 未訪問的鏈接 */

a:visited {color: #00FF00} /* 已訪問的鏈接 */

a:hover {color: #FF00FF} /* 鼠標移動到鏈接上 */

a:active {color: #0000FF} /* 選定的鏈接 */

a:hover 必須被置于 a:link 和 a:visited 之后石挂,a:active 必須被置于 a:hover 之后炒刁,才是有效的。偽類名稱對大小寫不敏感誊稚。

3)CSS2 - :first-child 偽類

使用 :first-child 偽類來選擇元素的第一個子元素。

作為第一個元素的元素包括第一個 p罗心、第一個 li 和 strong 和 em 元素里伯。

p:first-child {font-weight: bold;}將作為某元素第一個子元素的所有 p 元素設置為粗體

li:first-child {text-transform:uppercase;}將作為某個元素(在 HTML 中,這肯定是 ol 或 ul 元素)第一個子元素的所有 li 元素變成大寫渤闷。

p:first-child i{ color:blue; }選擇器匹配所有作為元素的第一個子元素的 <p> 元素中的所有 <i> 元素

注釋:必須聲明 <!DOCTYPE>疾瓮,這樣 :first-child 才能在 IE 中生效。

4)CSS2 - :lang 偽類

:lang 偽類可為不同的語言定義特殊的規(guī)則飒箭。

body部分:<p>文字<q lang="no">段落中的引用的文字</q>文字</p>

q:lang(no){ quotes: "~" "~" }? ? :lang 類為屬性值為 no 的 q 元素定義引號的類型狼电。

10、偽元素(Pseudo-elements)

CSS 偽元素用于向某些選擇器設置特殊效果弦蹂。

1)語法

selector:pseudo-element {property:value;}

CSS 類也可以與偽元素配合使用:

selector.class:pseudo-element {property:value;}

可以結合多個偽元素來使用肩碟。

2):first-line 偽元素

"first-line" 偽元素用于向文本的首行設置特殊樣式。

注釋:"first-line" 偽元素只能用于塊級元素凸椿∠髌恚可應用于 "first-line" 偽元素的屬性:font、color脑漫、background髓抑、word-spacing、letter-spacing优幸、text-decoration吨拍、vertical-align、text-transform网杆、line-height羹饰、clear

3):first-letter 偽元素

"first-letter" 偽元素用于向文本的首字母設置特殊樣式伊滋。

注釋:"first-letter" 偽元素只能用于塊級元素⊙侠铮可應用于 "first-letter" 偽元素的屬性font新啼、color、background刹碾、margin燥撞、padding、border迷帜、text-decoration物舒、vertical-align (僅當 float 為 none 時)、text-transform戏锹、line-height冠胯、float、clear

4)CSS2 - :before 偽元素

":before" 偽元素可以在元素的內(nèi)容前面插入新內(nèi)容锦针。

5)CSS2 - :after 偽元素

":after" 偽元素可以在元素的內(nèi)容之后插入新內(nèi)容荠察。

六、CSS高級樣式

1奈搜、CSS 水平對齊

對齊塊元素(占據(jù)全部可用寬度的元素悉盆,并且在其前后都會換行)

1)margin屬性

把左和右外邊距設置為 auto,規(guī)定的是均等地分配可用的外邊距馋吗,結果就是居中的元素焕盟。如果寬度是 100%,則對齊沒有效果宏粤。

注釋:除非已經(jīng)聲明了 !DOCTYPE脚翘,否則使用 margin:auto 在 IE8 以及更早的版本中是無效的。

2)position屬性

position:absolute;? 使用絕對定位(絕對定位元素會被從正常流中刪除绍哎,并且能夠交疊元素来农。)

當像對齊元素時,對 <body> 元素的外邊距和內(nèi)邊距進行預定義可以避免在不同的瀏覽器中出現(xiàn)可見的差異蛇摸。

注釋:當使用 position 屬性時备图,請始終設置 !DOCTYPE 聲明。

3)float屬性

當使用 float 屬性時赶袄,IE8 以及更早的版本存在一個問題揽涮。如果省略 !DOCTYPE 聲明,那么 IE8 以及更早的版本會在右側增加 17px 的外邊距饿肺。這似乎是為滾動條預留的空間蒋困。當使用 float 屬性時,請始終設置 !DOCTYPE 聲明敬辣。

2雪标、CSS 尺寸 (Dimension)

CSS 尺寸 (Dimension) 屬性允許你控制元素的高度和寬度零院。同樣,它允許你增加行間距村刨。

圖像高度告抄、寬度均支持像素值和百分比,行間距支持像素值嵌牺、百分比和數(shù)字打洼。

3、分類?(Classification)

CSS 分類屬性允許你規(guī)定如何以及在何處顯示元素逆粹。

4募疮、導航欄= 鏈接列表

導航欄需要標準的 HTML 作為基礎,因此使用 <ul> 和 <li> 元素是非常合適的僻弹。

list-style-type:none - 刪除圓點阿浓。導航欄不需要列表項標記。

1)垂直導航欄

display:block - 把鏈接顯示為塊元素可使整個鏈接區(qū)域可點擊(不僅僅是文本)蹋绽,同時也允許我們規(guī)定寬度芭毙。

需要規(guī)定 寬度,因為塊元素默認占用全部可用寬度。

2)水平導航欄

使用行內(nèi)或浮動列表項兩種方法卸耘,如果希望鏈接擁有相同的尺寸稿蹲,就必須使用浮動方法。

①行內(nèi)列表項

構建水平導航欄的方法之一是將 <li> 元素規(guī)定為行內(nèi)元素

display:inline;? ? <li> 元素是塊元素鹊奖。在這里,我們?nèi)コ嗣總€列表項前后的換行涂炎,以便讓它們在一行中顯示忠聚。

②對列表項進行浮動

為了讓所有鏈接擁有相等的寬度,浮動 <li> 元素并規(guī)定 <a> 元素的寬度:

li{float:left;}? ? ? ? ? ? ? ? ? ?使用 float 來把塊元素滑向彼此唱捣。

a{display:block;width:60px;}

5两蟀、圖片庫

CSS 可用來創(chuàng)建圖片庫。

圖片鏈接盒子浮動排列震缭,其中text-align:center

6赂毯、圖片透明

1)定義透明效果

IE9, Firefox, Chrome, Opera 和 Safari 使用屬性 opacity 來設定透明度。opacity 屬性能夠設置的值從 0.0 到 1.0拣宰。值越小党涕,越透明。

IE8 以及更早的版本使用濾鏡 filter:alpha(opacity=x)巡社。x 能夠取的值從 0 到 100膛堤。值越小,越透明晌该。

2)圖像透明度——hover效果

img:hover{opacity:1.0;filter:alpha(opacity=100);}當指針移動到圖像上時肥荔,圖像不透明绿渣。

3)圖像透明框中的文本

創(chuàng)建一個 div 元素 (class="background"),設置高度和寬度燕耿、背景圖像中符,以及邊框。然后在第一個 div 內(nèi)創(chuàng)建稍小的 div (class="transbox")誉帅,有固定的寬度淀散、背景色和邊框 - 并且它是透明的。在透明 div 內(nèi)部堵第,在 p 元素中加入文本吧凉。

7、媒介類型

媒介類型(Media Types)允許你定義以何種媒介來提交文檔踏志。文檔可以被顯示在顯示器阀捅、紙媒介或者聽覺瀏覽器等等。

媒介類型名稱對大小寫不敏感

?@media screen{p.test {font-family:verdana,sans-serif; font-size:14px}}

@media 規(guī)則使你有能力在相同的樣式表中针余,使用不同的樣式規(guī)則來針對不同的媒介饲鄙。

8、注意事項和總結

Internet Explorer Behaviors

Internet Explorer 5 引入了行為 (behaviors)圆雁。behaviors 是一種通過使用 CSS 向 HTML 元素添加行為的方法忍级。只有 Internet Explorer 支持 behavior 屬性。因此需要使用 JavaScript 和 HTML DOM 取而代之伪朽。

接下來學習:JavaScript? ? XHTML? ? HTML5? ? css3

最后編輯于
?著作權歸作者所有,轉載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末轴咱,一起剝皮案震驚了整個濱河市,隨后出現(xiàn)的幾起案子烈涮,更是在濱河造成了極大的恐慌朴肺,老刑警劉巖,帶你破解...
    沈念sama閱讀 218,858評論 6 508
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件坚洽,死亡現(xiàn)場離奇詭異戈稿,居然都是意外死亡,警方通過查閱死者的電腦和手機讶舰,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 93,372評論 3 395
  • 文/潘曉璐 我一進店門鞍盗,熙熙樓的掌柜王于貴愁眉苦臉地迎上來,“玉大人跳昼,你說我怎么就攤上這事般甲。” “怎么了鹅颊?”我有些...
    開封第一講書人閱讀 165,282評論 0 356
  • 文/不壞的土叔 我叫張陵欣除,是天一觀的道長。 經(jīng)常有香客問我挪略,道長历帚,這世上最難降的妖魔是什么滔岳? 我笑而不...
    開封第一講書人閱讀 58,842評論 1 295
  • 正文 為了忘掉前任,我火速辦了婚禮挽牢,結果婚禮上谱煤,老公的妹妹穿的比我還像新娘。我一直安慰自己禽拔,他們只是感情好刘离,可當我...
    茶點故事閱讀 67,857評論 6 392
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著睹栖,像睡著了一般硫惕。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上野来,一...
    開封第一講書人閱讀 51,679評論 1 305
  • 那天恼除,我揣著相機與錄音,去河邊找鬼曼氛。 笑死豁辉,一個胖子當著我的面吹牛,可吹牛的內(nèi)容都是我干的舀患。 我是一名探鬼主播徽级,決...
    沈念sama閱讀 40,406評論 3 418
  • 文/蒼蘭香墨 我猛地睜開眼,長吁一口氣:“原來是場噩夢啊……” “哼聊浅!你這毒婦竟也來了餐抢?” 一聲冷哼從身側響起,我...
    開封第一講書人閱讀 39,311評論 0 276
  • 序言:老撾萬榮一對情侶失蹤低匙,失蹤者是張志新(化名)和其女友劉穎弹澎,沒想到半個月后,有當?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體努咐,經(jīng)...
    沈念sama閱讀 45,767評論 1 315
  • 正文 獨居荒郊野嶺守林人離奇死亡,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 37,945評論 3 336
  • 正文 我和宋清朗相戀三年殴胧,在試婚紗的時候發(fā)現(xiàn)自己被綠了渗稍。 大學時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片。...
    茶點故事閱讀 40,090評論 1 350
  • 序言:一個原本活蹦亂跳的男人離奇死亡团滥,死狀恐怖竿屹,靈堂內(nèi)的尸體忽然破棺而出,到底是詐尸還是另有隱情灸姊,我是刑警寧澤拱燃,帶...
    沈念sama閱讀 35,785評論 5 346
  • 正文 年R本政府宣布,位于F島的核電站力惯,受9級特大地震影響碗誉,放射性物質(zhì)發(fā)生泄漏召嘶。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點故事閱讀 41,420評論 3 331
  • 文/蒙蒙 一哮缺、第九天 我趴在偏房一處隱蔽的房頂上張望弄跌。 院中可真熱鬧,春花似錦尝苇、人聲如沸铛只。這莊子的主人今日做“春日...
    開封第一講書人閱讀 31,988評論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽淳玩。三九已至,卻和暖如春非竿,著一層夾襖步出監(jiān)牢的瞬間蜕着,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 33,101評論 1 271
  • 我被黑心中介騙來泰國打工汽馋, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留侮东,地道東北人。 一個月前我還...
    沈念sama閱讀 48,298評論 3 372
  • 正文 我出身青樓豹芯,卻偏偏與公主長得像悄雅,于是被迫代替她去往敵國和親。 傳聞我的和親對象是個殘疾皇子铁蹈,可洞房花燭夜當晚...
    茶點故事閱讀 45,033評論 2 355

推薦閱讀更多精彩內(nèi)容

  • CSS基礎 本文包括CSS基礎知識選擇器(重要?硐小!N漳痢)繼承容诬、特殊性、層疊沿腰、重要性CSS格式化排版單位和值盒模型浮動...
    廖少少閱讀 3,088評論 0 40
  • 基本常識與實踐 css的每一個語句包括一個場所览徒,以及這個場所的一個屬性,還要應用到這個屬性一個樣式,一個典型的cs...
    丁俊杰_閱讀 1,039評論 0 0
  • CSs概述 cascading style sheets 層疊樣式表 簡稱為樣式表 2.作用 用來去設置ht...
    newTmorrow閱讀 1,051評論 0 0
  • 1 什么是CSS颂龙? CSS通常稱為CSS樣式表或?qū)盈B樣式表(級聯(lián)樣式表)习蓬,主要用于設置HTML頁面中的文本內(nèi)容(字...
    前白閱讀 654評論 0 8
  • HTML 軟件架構 C/S:C(客戶端,用戶通過客戶端來使用軟件)措嵌,S表示服務器躲叼。一般軟件都是C/S架構。軟件使用...
    小土豆dy閱讀 1,287評論 0 5