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.通用選擇器 不管什麼...