css 層疊樣式表

2022-09-15 11:33:11 字數 4699 閱讀 6858

css:用來控制網頁資料的表現,可以使網頁的表現與資料內容分離。

一、css的四種引入方式

1.內行式:是在標記style屬性中設定css樣式,(這種方式沒有體現出css的優勢,不推介使用)

2.切入式:將css樣式集中寫在網頁的標籤對標籤對中。

格式如下:

3.匯入式:講乙個獨立的.css檔案引入html檔案中,匯入式使用css規則引入外部css檔案,

注意:匯入式會在整個網頁裝載完後再裝載css檔案,因此這會導致乙個問題,如果網頁比較大則會出現先會顯示無樣式的頁面,閃爍一下才會出現網頁的樣式。這是匯入式固有的一種缺陷。

使用鏈結式時與匯入不同的是他會以網頁檔案主體裝載前裝載css檔案,因此顯示出來的網頁從一開始就帶樣式效果的,它不會像匯入式那樣,這就是鏈結式的優點。

二、css的選擇器(seceltor)

「選擇器」指明了{}"樣式"的作用物件,也就是「樣式」作用於網頁的哪些元素

1.基礎選擇器:

* :          通過元素選擇器匹配任意元素

e:       標籤選擇器,匹配所有使用e標籤的元素p

.info 和 e.info    class 選擇器,匹配所有class 屬性中包含info的元素

#info 和 #einfo  id 選擇器,匹配所有id屬性等於 foote r的元素

2.組合選擇器:

e,f    多元素選擇器,同時匹配所有e元素和f元素,e和f之間用逗號分隔

ef     後代元素選擇器,匹配所有屬於e元素後代的f元素,e 和 f 之間用空格分隔

e>f     子元素選擇器,匹配所有e元素的子元素f

e+f     毗鄰元素選擇器,匹配所有緊隨e元素之後的同級元素f

注意巢狀規則:1.塊級元素可以包含內聯元素或某些塊級元素,但內聯元素不能包含塊級元素,它只能包含其它內聯元素

2.塊級元素不能放在p裡面

3.有幾個特殊的塊級元素只能包含內聯元素,不能包含塊級元素。如:h1、h2、h3、h4、h5、h6、p、dt

4.li 內可以包含 div

5.塊級元素與塊級元素並列,內聯元素與內聯元素並列。

3.屬性選擇器:

e(att)    匹配所有具有att 屬性的e元素,不考慮其它的值。(注意e 在此處可以省略,)

e(att=val)   匹配所有att屬性等於「val」的e元素

e(att~=val)   匹配所有att屬性具有多個空格分隔的值,其中乙個值等於「val」e的元素

e(att |=val)  匹配所有att屬性具有多個連字型大小分隔的值,其中乙個值等於「val」e的元素,主要用於lang屬性

e(attr^=val)  匹配屬性值以指定值開頭的每個元素

e(attr$=val)  匹配屬性值以指定值結尾的每個元素

e(attr*=val)  匹配屬性值中包含指定值的每個元素

p:before    在每個p元素的內容之前插入內容

p:after     在每個p元素的內容之後插入內容

4.偽類選擇器:

a:link(沒有接觸過鏈結),用於定義鏈結的常規狀態

a:hover(滑鼠放在連線時的狀態),用於產生視覺效果

a.active(在鏈結上按下滑鼠時的狀態),用於表現滑鼠按下時的鏈結狀態

偽類選擇器:偽類指的是標籤的不同狀態

三、css常用屬性:

1.顏色屬性:pppppppp

pppppp

ppppppp

ppppp

2.字型屬性:font_size:20p x /50%/ larger

font_family:'lucida bright'

font_weight:lighter/blod/border/

3.背景屬性:background-color:cornflowerblue

background-repeat:no-repeat;(repeat:平鋪滿)

background-position:right top(20px 20px);(橫向:left center right 縱向:top center buttom)

另外,如果此時要設定乙個width=100xp,也看不出效果,除非設定html

4.文字屬性:font-size:10px

text-align:center;橫向排列

line-height:200px 文字行高,通常講,文字高度加上 文字上下的空白區域的高度的50%:基於字型大小的百分比

ptext-indent:150px;首行縮排, 50% 基於父元素(weight)的百分比

letter-spacing:10px;

word-spacing:20px;

direction:rtl;

text-transform:capitalize;

5.邊框屬性:

border-style:solid;

border-color:char treuse;

border-width:20px;

簡寫:border30px rebeccapurple solid;

6.列表屬性:

ul,ol

7.dispaly屬性:

none   block   inline

8.盒子模型:

padding:用於控制邊框與內容之間的距離。

margin:用於控制元素與元素之間的距離;margin最基本的用圖就是控制元素周圍空間的間隔,從視覺角度上達到相互隔開的目的。

內邊距會影響盒子的大小,外邊距不會影響盒子的大小,需要設定;分別通過設定padding、margin將小盒子移到大盒子中間。

注意:1.邊框在預設情況下會定位於瀏覽器視窗的左上角,但並沒有緊貼著瀏覽器的視窗的邊框,這是因為body本身也是乙個盒子(外層還有html),在預設情況下,body

距離html會有若干畫素的margin,具體數值因各個瀏覽器不盡相同,所以,body中的盒子不會緊貼瀏覽器視窗的邊框

2.margin collapse(邊框塌陷或者邊框重疊)

外邊距的重疊只產生在普通流文件的上下外邊距之間,這個規則看起來奇怪,但有其現實意義。當我們上下排列一系列規則的塊級元素時,那麼塊元素之間由於外邊

距重疊的存在,段落之間就不會產生雙倍的距離。

9.float

div是塊級元素,在頁面中獨佔一行,自上而下排列,也就是流。(如果一行中顯示多個div元素,浮動可以理解為讓某個元素脫離標準流,漂浮在標準流之上,和標準流不是乙個層次)

float:left   左浮動,漂浮起來靠左排列

float:right 有浮動。漂浮起來靠右排列  (靠左、靠右是指頁面的左右邊緣)

假如某個div元素a是浮動的,如果a元素上乙個元素也是浮動的,那麼a元素會跟隨在上乙個元素的後面(如果一行放不下兩個元素,那麼a元素會被擠到下一行);如果a元素的上乙個元素是標準流中的元素,

那麼a的相對垂直位置不會改變,也就是說a的頂部會跟上乙個元素的底部對齊。

div順序是html中div的順序決定的。

靠近頁面邊緣的一端是前,遠離頁面邊緣的一端是後。

元素浮動之前,也就是標準流中,是豎向排列的,而浮動以後可以理解為橫向排列。(清除浮動可以理解為打破橫向排列)

清除浮動的關鍵字是clear

語法:clear:none/left /night/both

取值:none:預設值,允許兩邊都可以有浮動物件

left:不允許左邊有浮動物件

right:不允許右邊有浮動物件

both:不允許兩邊有浮動物件

對於css清除浮動,這個規則只能影響清除元素的本身,不能影響其它元素。

10.position

1.static,預設static:無特殊定位,物件遵循特殊文件流。(文件流就是文件的輸出順序,也就是常說的由左到右、由上到下輸出形式,在網頁中每個元素都是按照這個順序進行和顯示的

而float和position兩個屬性可以將元素從文件中脫離出來顯示,預設值就是讓元素繼續按照文件流顯示,不做任何改變)

top、left、bottom、right等屬性不會被應用。

2.position:relative

relitive:物件遵循正常文件流,但將依據top、right、bottom、left等屬性在正常的文件流中便宜位置,而其層疊通過z-index屬性定義。

absolute:物件脫離正常文件流,使用top、right、bottom、left等屬性進行絕對定位。而其層疊通過z-index屬性定義。

如果設定position:relative,就可以使用top、bottom、left和right來相對於元素在文件中應該出現的位置來移動這個元素(意思是元素實際上依然佔據文件中原有的位置,只是視覺上相對於它在文件中的原有位置移動了)

當指定position:absolute時,元素就脫離了文件【即在文件中就不佔據位置了】,可以準確的按照設定的top、bottom、left、right來定位,如果乙個元素絕對定位後,其參照物是以離自身最近元素設定了相對定位,如果

有設定將以離自己最近的元素定位,如果沒有將往其祖先元素尋找相對定位的元素,一直找到html為止

3.position:fixed

在理論上,被設定為fixed的元素會被定位於瀏覽器視窗的乙個指定座標,不論視窗是否滾動,它都會固定在這個位置。

注意:乙個元素若設定了position:absolute|fixed,則該元素就不能設定float。(因為兩個不同的流,乙個是浮動流乙個是「定位流」,但是relative可以,因為它原本所佔的空間仍然佔據文件流)

CSS層疊樣式表

一般說來所有樣式有下面的規則 第四個最有優先性 1 browser default 瀏覽器預設 2 external style sheet 外部樣式表 3 internal style sheet inside the 瀏覽器將從mystyle.css檔案中讀採樣式定義資訊,並根據它來格式化文件 ...

CSS(層疊樣式表)

一.css是增加html的樣式,擁有對網頁物件和模型樣式編輯的能力 1 在html中引入css有3種方式 1.外部樣式表 2.內部樣式表 3.內聯樣式表 2 css選擇元素的方式 1.元素選擇器 通過元素名字進行選擇 2.id選擇器 3.class選擇器 4.子元素選擇器 5.相鄰選擇器 如果需要選...

CSS層疊樣式表

html主要控制內容 css主要控制格式。樣式表是用來指定樣式資訊的句法機制。之所以將css稱為層疊樣式表,是因為它可以在3個層次上進行定義。內聯樣式表位於開始標籤中,其設定只對該元素起作用 文件樣式表位於文件的頭部區域,能夠作用於文件的整個主體。文件樣式表的說明是作為乙個 3.通用選擇器 不管什麼...