css設(shè)計網(wǎng)頁有哪些重要的方法_css設(shè)計網(wǎng)頁有什么方法
微軟等公司均為W3C支持者。這一點是最重要的,因為這保證您的網(wǎng)站不會因為將來網(wǎng)絡(luò)應用的升級而被淘汰。下面由學習啦小編為大家整理的css設(shè)計網(wǎng)頁的方法,希望大家喜歡!
css設(shè)計網(wǎng)頁的方法
1.基本語法
CSS的定義是由三個部分構(gòu)成:選擇符(selector),屬性(properties)和屬性的取值(value)。
基本格式如下:
selector { property: value}
(選擇符 { 屬性:值})
選擇符是可以是多種形式,一般是你要定義樣式的HTML標記,例如BODY、P、TABLE……,你可以通過此方法定義它的屬性和值,屬性和值要用冒號隔開:
body { color: black}
選擇符body是指頁面主體部分,color是控制文字顏色的屬性,black是顏色的值,此例的效果是使頁面中的文字為黑色。
如果屬性的值是多個單詞組成,必須在值上加引號,比如字體的名稱經(jīng)常是幾個單詞的組合:
p { font-family: "sans serif"}
(定義段落字體為sans serif)
如果需要對一個選擇符指定多個屬性時,我們使用分號將所有的屬性和值分開:
p { text-align: center; color: red}
(段落居中排列;并且段落中的文字為紅色)
為了使你定義的樣式表方便閱讀,你可以采用分行的書寫格式:
p
{
text-align: center;
color: black;
font-family: arial
}
(段落排列居中,段落中文字為黑色,字體是arial)
2.選擇符組
你可以把相同屬性和值的選擇符組合起來書寫,用逗號將選擇符分開,這樣可以減少樣式重復定義:
h1, h2, h3, h4, h5, h6 { color: green }
(這個組里包括所有的標題元素,每個標題元素的文字都為綠色)
p, table{ font-size: 9pt }
(段落和表格里的文字尺寸為9號字)
效果完全等效于:
p { font-size: 9pt }
table { font-size: 9pt }
3.類選擇符
用類選擇符你能夠把相同的元素分類定義不同的樣式,定義類選擇符時,在自定類的名稱前面加一個點號。假如你想要兩個不同的段落,一個段落向右對齊,一個段落居中,你可以先定義兩個類:
p.right { text-align: right}
p.center { text-align: center}
然后用不在不同的段落里,只要在HTML標記里加入你定義的class參數(shù):
這個段落向右對齊的
這個段落是居中排列的
注意:類的名稱可以是任意英文單詞或以英文開頭與數(shù)字的組合,一般以其功能和效果簡要命名。
類選擇符還有一種用法,在選擇符中省略HTML標記名,這樣可以把幾個不同的元素定義成相同的樣式:
.center { text-align: center}
(定義.center的類選擇符為文字居中排列)
這樣的類可以被應用到任何元素上。下面我們使h1元素(標題1)和p元素(段落)都歸為“center”類,這使兩個元素的樣式都跟隨“.center”這個類選擇符:
這個標題是居中排列的
這個段落也是居中排列的
注意:這種省略HTML標記的類選擇符是我們經(jīng)后最常用的CSS方法,使用這種方法,我們可以很方便的在任意元素上套用預先定義好的類樣式。
4.ID選擇符
在HTML頁面中ID參數(shù)指定了某個單一元素,ID選擇符是用來對這個單一元素定義單獨的樣式。
ID選擇符的應用和類選擇符類似,只要把CLASS換成ID即可。將上例中類用ID替代:
這個段落向右對齊
定義ID選擇符要在ID名稱前加上一個“#”號。和類選擇符相同,定義ID選擇符的屬性也有兩種方法。下面這個例子,ID屬性將匹配所有id="intro"的元素:
#intro
{
font-size:110%;
font-weight:bold;
color:#0000ff;
background-color:transparent
}
(字體尺寸為默認尺寸的110%;粗體;藍色;背景顏色透明)
下面這個例子,ID屬性只匹配id="intro"的段落元素:
p#intro
{
font-size:110%;
font-weight:bold;
color:#0000ff;
background-color:transparent
}
注意:ID選擇符局限性很大,只能單獨定義某個元素的樣式,一般只在特殊情況下使用。
5.包含選擇符
可以單獨對某種元素包含關(guān)系定義的樣式表,元素1里包含元素2,這種方式只對在元素1里的元素2定義,對單獨的元素1或元素2無定義,例如:
table a
{
font-size: 12px
}
在表格內(nèi)的鏈接改變了樣式,文字大小為12象素,而表格外的鏈接的文字仍為默認大小。
6.樣式表的層疊性
層疊性就是繼承性,樣式表的繼承規(guī)則是外部的元素樣式會保留下來繼承給這個元素所包含的其他元素。事實上,所有在元素中嵌套的元素都會繼承外層元素指定的屬性值,有時會把很多層嵌套的樣式疊加在一起,除非另外更改。例如在DIV標記中嵌套P標記:
div { color: red; font-size:9pt}
……
這個段落的文字為紅色9號字
(P元素里的內(nèi)容會繼承DIV定義的屬性)
注意:有些情況下內(nèi)部選擇符不繼承周圍選擇符的值,但理論上這些都是特殊的。例如,上邊界屬性值是不會繼承的,直覺上,一個段落不會同文檔BODY一樣的上邊界值。
另外,當樣式表繼承遇到?jīng)_突時,總是以最后定義的樣式為準。如果上例中定義了P的顏色:
div { color: red; font-size:9pt}
p { color: blue}
……
這個段落的文字為藍色9號字
我們可以看到段落里的文字大小為9號字是繼承div屬性的,而color屬性則依照最后定義的。
不同的選擇符定義相同的元素時,要考慮到不同的選擇符之間的優(yōu)先級。ID選擇符,類選擇符和HTML標記選擇符,因為ID選擇符是最后加上元素上的,所以優(yōu)先級最高,其次是類選擇符。如果想超越這三者之間的關(guān)系,可以用!important提升樣式表的優(yōu)先權(quán),例如:
p { color: #FF0000!important }
.blue { color: #0000FF}
#id1 { color: #FFFF00}
我們同時對頁面中的一個段落加上這三種樣式,它最后會依照被!important申明的HTML標記選擇符樣式為紅色文字。如果去掉!important,則依照優(yōu)先權(quán)最高的ID選擇符為黃色文字。
7.注釋
你可以在CSS中插入注釋來說明你代碼的意思,注釋有利于你或別人以后編輯和更改代碼時理解代碼的含義。在瀏覽器中,注釋是不顯示的。CSS注釋以"/*" 開頭,以"*/" 結(jié)尾,如下:
/* 定義段落樣式表 */
p
{
text-align: center; /* 文本居中排列 */
color: black; /* 文字為黑色 */
font-family: arial /* 字體為arial */
}
css代碼優(yōu)化的方法
一、避免過度約束
一條普遍規(guī)則,不要添加不必要的約束。
二、后代選擇符最爛
不僅性能低下而且代碼很脆弱,html代碼和css代碼嚴重耦合,html代碼結(jié)構(gòu)發(fā)生變化時,CSS也得修改,這是多么糟糕,特別是在大公司里,寫html和css的往往不是同一個人。
三、避免鏈式(交集)選擇符
這和過度約束的情況類似,更明智的做法是簡單的創(chuàng)建一個新的CSS類選擇符。
四、堅持KISS原則
想象我們有如下的DOM:
代碼如下:
Dribbble
五、使用復合(緊湊)語法
盡可能使用復合語法。
六、避免不必要的命名空間
代碼如下:
// 糟糕
.someclass table tr.otherclass td.somerule {..}
//好的
.someclass .otherclass td.somerule {..}
七、避免不必要的重復
盡可能組合重復的規(guī)則。
八、盡可能精簡規(guī)則
在上面規(guī)則的基礎(chǔ)上,你可以進一步合并不同類里的重復的規(guī)則。
九、避免不明確的命名約定
最好使用表示語義的名字。一個好的CSS類名應描述它是什么而不是它像什么。
十、避免 !importants
其實你應該也可以使用其他優(yōu)質(zhì)的選擇器。
十一、遵循一個標準的聲明順序
雖然有一些排列CSS屬性順序常見的方式,下面是我遵循的一種流行方式。
CSS網(wǎng)頁布局有幾種方法
1、ul標簽在Mozilla中默認是有padding值的,而在IE中只有margin有值。
2、同一個的class選擇符可以在一個文檔中重復出現(xiàn),而id選擇符卻只能出現(xiàn)一次;對一個標簽同時使用class和id進行CSS定義,如果定義有重復,id選擇符做的定義有效,是因為ID的權(quán)值要比CLASS大。
3、一個兼容性調(diào)整(IE和Mozilla)的笨辦法:初學可能會碰到這樣一個情況:同樣一個標簽的屬性在IE設(shè)置成A顯示是正常的,而在Mozilla里必須要設(shè)成B才能正常顯示,或者兩個倒過來。
臨時解決方法:選擇符{屬性名:B !important;屬性名:A}
4、如果一組要嵌套的標簽之間需要些間距的話,那就留給位于里面的標簽的margin屬性吧,而不要去定義位于外面的標簽的padding
5、li標簽前面的圖標推薦使用background-image,而不是list-style-image