麻豆小视频在线观看_中文黄色一级片_久久久成人精品_成片免费观看视频大全_午夜精品久久久久久久99热浪潮_成人一区二区三区四区

首頁(yè) > 開(kāi)發(fā) > CSS > 正文

寫(xiě)出牛逼的CSS代碼13條建議你會(huì)哪幾條

2024-07-11 09:07:54
字體:
來(lái)源:轉(zhuǎn)載
供稿:網(wǎng)友

1. 使用Reset但并非全局Reset

不同瀏覽器元素的默認(rèn)屬性有所不同,使用Reset可重置瀏覽器元素的一些默認(rèn)屬性,以達(dá)到瀏覽器的兼容。但需要注意的是,請(qǐng)不要使用全局Reset:

*{ margin:0; padding:0; }*{ margin:0; padding:0; }

這不僅僅因?yàn)樗蔷徛偷托实姆椒ǎ疫€會(huì)導(dǎo)致一些不必要的元素也重置了外邊距和內(nèi)邊距。在此建議參考YUI Reset和Eric Meyer的做法。我跟Eric Meyer的觀點(diǎn)相同,Reset并不是一成不變的,具體還需要根據(jù)項(xiàng)目的不同需求做適當(dāng)?shù)男薷模赃_(dá)到瀏覽器的兼容和操作上的便利性。我使用的Reset如下:

/** 清除內(nèi)外邊距 **/ body, h1, h2, h3, h4, h5, h6, hr, p, blockquote, /* structural elements 結(jié)構(gòu)元素 */ dl, dt, dd, ul, ol, li, /* list elements 列表元素 */ pre, /* text formatting elements 文本格式元素 */ form, fieldset, legend, button, input, textarea, /* form elements 表單元素 */ th, td, /* table elements 表格元素 */ img/* img elements 圖片元素 */{ border:medium none; margin: 0; padding: 0; } /** 設(shè)置默認(rèn)字體 **/ body,button, input, select, textarea { font: 12px/1.5 '宋體',tahoma, Srial, helvetica, sans-serif; } h1, h2, h3, h4, h5, h6 { font-size: 100%; } em{font-style:normal;} /** 重置列表元素 **/ ul, ol { list-style: none; } /** 重置超鏈接元素 **/ a { text-decoration: none; color:#333;} a:hover { text-decoration: underline; color:#F40; } /** 重置圖片元素 **/ img{ border:0px;} /** 重置表格元素 **/ table { border-collapse: collapse; border-spacing: 0; }/** 清除內(nèi)外邊距 **/ body, h1, h2, h3, h4, h5, h6, hr, p, blockquote, /* structural elements 結(jié)構(gòu)元素 */ dl, dt, dd, ul, ol, li, /* list elements 列表元素 */ pre, /* text formatting elements 文本格式元素 */ form, fieldset, legend, button, input, textarea, /* form elements 表單元素 */ th, td, /* table elements 表格元素 */ img/* img elements 圖片元素 */{ border:medium none; margin: 0; padding: 0; } /** 設(shè)置默認(rèn)字體 **/ body,button, input, select, textarea { font: 12px/1.5 '宋體',tahoma, Srial, helvetica, sans-serif; } h1, h2, h3, h4, h5, h6 { font-size: 100%; } em{font-style:normal;} /** 重置列表元素 **/ ul, ol { list-style: none; } /** 重置超鏈接元素 **/ a { text-decoration: none; color:#333;} a:hover { text-decoration: underline; color:#F40; } /** 重置圖片元素 **/ img{ border:0px;} /** 重置表格元素 **/ table { border-collapse: collapse; border-spacing: 0; }

2. 良好的命名習(xí)慣

無(wú)疑亂七八糟或者無(wú)語(yǔ)義命名的代碼,誰(shuí)看了都會(huì)抓狂。就像這樣的代碼:

.aaabb{margin:2px;color:red;}.aaabb{margin:2px;color:red;}

我想即使是初學(xué)者,也不至于會(huì)在實(shí)際項(xiàng)目中如此命名一個(gè)class,但有沒(méi)有想過(guò)這樣的代碼同樣是很有問(wèn)題的:

<h1>My name is <span>Wiky</span></h1><h1>My name is <span>Wiky</span></h1>

問(wèn)題在于如果你需要把所有原本紅色的字體改成藍(lán)色,那修改后就樣式就會(huì)變成:

.red{color:bule;}.red{color:bule;}

這樣的命名就會(huì)很讓人費(fèi)解,同樣的命名為.leftBar的側(cè)邊欄如果需要修改成右側(cè)邊欄也會(huì)很麻煩。所以,請(qǐng)不要使用元素的特性(顏色,位置,大小等)來(lái)命名一個(gè)class或id,您可以選擇意義的命名如:#navigation{…},.sidebar{…},.postwrap{…}

這樣,無(wú)論你如何修改定義這些class或id的樣式,都不影響它跟HTML元素間的聯(lián)系。

另外還有一種情況,一些固定的樣式,定義后就不會(huì)修改的了,那你命名時(shí)就不用擔(dān)憂(yōu)剛剛說(shuō)的那種情況,如

.alignleft{float:left;margin-right:20px;} .alignright{float:right;text-align:right;margin-left:20px;} .clear{clear:both;text-indent:-9999px;}.alignleft{float:left;margin-right:20px;} .alignright{float:right;text-align:right;margin-left:20px;} .clear{clear:both;text-indent:-9999px;}

那么對(duì)于這樣一個(gè)段落

<p class="alignleft">我是一個(gè)段落!</p><p class="alignleft">我是一個(gè)段落!</p>

如果需要把這個(gè)段落由原先的左對(duì)齊修改為右對(duì)齊,那么只需要修改它的className就為alignright就可以了。

3. 代碼縮寫(xiě)

CSS代碼縮寫(xiě)可以提高你寫(xiě)代碼的速度,精簡(jiǎn)你的代碼量。在CSS里面有不少可以縮寫(xiě)的屬性,包括margin,padding,border,font,background和顏色值等,如果您學(xué)會(huì)了代碼縮寫(xiě),原本這樣的代碼:

li{ font-family:Arial, Helvetica, sans-serif; font-size: 1.2em; line-height: 1.4em; padding-top:5px; padding-bottom:10px; padding-left:5px; }li{ font-family:Arial, Helvetica, sans-serif; font-size: 1.2em; line-height: 1.4em; padding-top:5px; padding-bottom:10px; padding-left:5px; }

就可以縮寫(xiě)為:

li{ font: 1.2em/1.4em Arial, Helvetica, sans-serif; padding:5px 0 10px 5px; }li{ font: 1.2em/1.4em Arial, Helvetica, sans-serif; padding:5px 0 10px 5px; }

如果您想更了解這些屬性要怎么縮寫(xiě),可以參考《常用CSS縮寫(xiě)語(yǔ)法總結(jié)》或者下載CSS-Shorthand-Cheat-Sheet.pdf 。

4. 利用CSS繼承

如果頁(yè)面中父元素的多個(gè)子元素使用相同的樣式,那最好把他們相同的樣式定義在其父元素上,讓它們繼承這些CSS樣式。這樣你可以很好的維護(hù)你的代碼,并且還可以減少代碼量。那么本來(lái)這樣的代碼:
 

#container li{ font-family:Georgia, serif; } #container p{ font-family:Georgia, serif; } #container h1{font-family:Georgia, serif; }#container li{ font-family:Georgia, serif; } #container p{ font-family:Georgia, serif; } #container h1{font-family:Georgia, serif; }

就可以簡(jiǎn)寫(xiě)成:

#container{ font-family:Georgia, serif; }#container{ font-family:Georgia, serif; }

5. 使用多重選擇器

你可以合并多個(gè)CSS選擇器為一個(gè),如果他們有共同的樣式的話(huà)。這樣做不但代碼簡(jiǎn)潔且可為你節(jié)省時(shí)間和空間。如:

h1{ font-family:Arial, Helvetica, sans-serif; font-weight:normal; } h2{ font-family:Arial, Helvetica, sans-serif; font-weight:normal; } h3{ font-family:Arial, Helvetica, sans-serif; font-weight:normal; }h1{ font-family:Arial, Helvetica, sans-serif; font-weight:normal; } h2{ font-family:Arial, Helvetica, sans-serif; font-weight:normal; } h3{ font-family:Arial, Helvetica, sans-serif; font-weight:normal; }

可以合并為

h1, h2, h3{ font-family:Arial, Helvetica, sans-serif; font-weight:normal; }h1, h2, h3{ font-family:Arial, Helvetica, sans-serif; font-weight:normal; }

6. 適當(dāng)?shù)拇a注釋

代碼注釋可以讓別人更容易讀懂你的代碼,且合理的組織代碼注釋?zhuān)墒沟媒Y(jié)構(gòu)更加清晰。你可以選擇做的樣式表的開(kāi)始添加目錄:
 

/*------------------------------------  Reset  Header  Content  SideBar  Footer ----------------------------------- *//*------------------------------------  Reset  Header  Content  SideBar  Footer ----------------------------------- */

如此你代碼的結(jié)構(gòu)就一目了然,你可以容易的查找和修改代碼。

而對(duì)于代碼的主內(nèi)容,也應(yīng)適當(dāng)?shù)募右詣澐郑踔猎谟斜匾牡胤皆趯?duì)代碼加以注釋說(shuō)明,這樣也有利于團(tuán)隊(duì)開(kāi)發(fā):
 

/*** Header ***/ #header{ height:145px; position:relative; } #header h1{ width:324px; margin:45px 0 0 20px; float:left; height:72px;}/*** Content ***/ #content{ background:#fff; width:650px; float:left; min-height:600px; overflow:hidden;} #content h1{color:#F00}/* 設(shè)置字體顏色 */ #content .posts{ overflow:hidden; } #content .recent{ margin-bottom:20px; border-bottom:1px solid #f3f3f3; position:relative; overflow:hidden; }/*** Footer ***/ #footer{ clear:both; padding:50px 5px 0; overflow:hidden;} #footer h4{ color:#b99d7f; font-family:Arial, Helvetica, sans-serif; font-size:1.1em; }/*** Header ***/ #header{ height:145px; position:relative; } #header h1{ width:324px; margin:45px 0 0 20px; float:left; height:72px;}/*** Content ***/ #content{ background:#fff; width:650px; float:left; min-height:600px; overflow:hidden;} #content h1{color:#F00}/* 設(shè)置字體顏色 */ #content .posts{ overflow:hidden; } #content .recent{ margin-bottom:20px; border-bottom:1px solid #f3f3f3; position:relative; overflow:hidden; }/*** Footer ***/ #footer{ clear:both; padding:50px 5px 0; overflow:hidden;} #footer h4{ color:#b99d7f; font-family:Arial, Helvetica, sans-serif; font-size:1.1em; }

7. 給你的CSS代碼排序

如果代碼中的屬性都能按照字母排序,那查找修改的時(shí)候就能更加快速:

/*** 樣式屬性按字母排序 ***/ div{ background-color:#3399cc; color:#666; font:1.2em/1.4em Arial, Helvetica, sans-serif; height:300px; margin:10px 5px; padding:5px 0 10px 5px; width:30%; z-index:10; }/*** 樣式屬性按字母排序 ***/ div{ background-color:#3399cc; color:#666; font:1.2em/1.4em Arial, Helvetica, sans-serif; height:300px; margin:10px 5px; padding:5px 0 10px 5px; width:30%; z-index:10; }

8. 保持CSS的可讀性

書(shū)寫(xiě)可讀的CSS將會(huì)使得更容易查找和修改樣式。對(duì)于以下兩種情況,哪種可讀性更高,我想不言而明。

/*** 每個(gè)樣式屬性寫(xiě)一行 ***/ div{ background-color:#3399cc; color:#666; font: 1.2em/1.4em Arial, Helvetica, sans-serif; height:300px; margin:10px 5px; padding:5px 0 10px 5px; width:30%; z-index:10; }/*** 所有的樣式屬性寫(xiě)在同一行 ***/ div{ background-color:#3399cc; color:#666; font: 1.2em/1.4em Arial, Helvetica, sans-serif; height:300px; margin:10px 5px; padding:5px 0 10px 5px; width:30%; z-index:10; }/*** 每個(gè)樣式屬性寫(xiě)一行 ***/ div{ background-color:#3399cc; color:#666; font: 1.2em/1.4em Arial, Helvetica, sans-serif; height:300px; margin:10px 5px; padding:5px 0 10px 5px; width:30%; z-index:10; }/*** 所有的樣式屬性寫(xiě)在同一行 ***/ div{ background-color:#3399cc; color:#666; font: 1.2em/1.4em Arial, Helvetica, sans-serif; height:300px; margin:10px 5px; padding:5px 0 10px 5px; width:30%; z-index:10; }

當(dāng)對(duì)于一些樣式屬性較少的選擇器,我會(huì)寫(xiě)到一行:

/*** 選擇器屬性少的寫(xiě)在同一行 ***/ div{ background-color:#3399cc; color:#666;}/*** 選擇器屬性少的寫(xiě)在同一行 ***/ div{ background-color:#3399cc; color:#666;}

對(duì)于這個(gè)規(guī)則并非硬性規(guī)定,但無(wú)論您采用哪種寫(xiě)法,我的建議是始終保持代碼一致。屬性多的分行寫(xiě),屬性少于3個(gè)可以寫(xiě)一行。

9. 選擇更優(yōu)的樣式屬性值

CSS中有些屬性采用不同的屬性值,雖然達(dá)到的效果差不多,當(dāng)性能上卻存在著差異,如

區(qū)別在于border:0把border設(shè)為0px,雖然在頁(yè)面上看不見(jiàn),但按border默認(rèn)值理解,瀏覽器依然對(duì)border-width/border-color進(jìn)行了渲染,即已經(jīng)占用了內(nèi)存值。

而border:none把border設(shè)為“none”即沒(méi)有,瀏覽器解析“none”時(shí)將不作出渲染動(dòng)作,即不會(huì)消耗內(nèi)存值。所以建議使用border:none;

同樣的,display:none隱藏對(duì)象瀏覽器不作渲染,不占用內(nèi)存。而visibility:hidden則會(huì)。

10. 使用代替@import

首先,@import不屬于XHTML標(biāo)簽,也不是Web標(biāo)準(zhǔn)的一部分,它對(duì)于較早期的瀏覽器兼容也不高,并且對(duì)于網(wǎng)站的性能有某些負(fù)面的影響。具體可以參考《高性能網(wǎng)站設(shè)計(jì):不要使用@import》。所以,請(qǐng)避免使用@import

11. 使用外部樣式表

這個(gè)原則始終是一個(gè)很好的設(shè)計(jì)實(shí)踐。不單可以更易于維護(hù)修改,更重要的是使用外部文件可以提高頁(yè)面速度,因?yàn)镃SS文件都能在瀏覽器中產(chǎn)生緩存。內(nèi)置在HTML文檔中的CSS則會(huì)在每次請(qǐng)求中隨HTML文檔重新下載。所以,在實(shí)際應(yīng)用中,沒(méi)有必要把CSS代碼內(nèi)置在HTML文檔中:

<style type="text/css" >    #container{ .. }    #sidebar{ .. }</style><style type="text/css" >    #container{ .. }    #sidebar{ .. }</style>

<li style="font-family:Arial, helvetica, sans-serif; color:#666; " ><li style="font-family:Arial, helvetica, sans-serif; color:#666; " >

而是使用<link>導(dǎo)入外部樣式表:

<link rel="stylesheet" type="text/css" href="css/styles.css" /><link rel="stylesheet" type="text/css" href="css/styles.css" />

12. 避免使用CSS表達(dá)式(Expression)

CSS表達(dá)式是動(dòng)態(tài)設(shè)置CSS屬性的強(qiáng)大(但危險(xiǎn))方法。Internet Explorer從第5個(gè)版本開(kāi)始支持CSS表達(dá)式。下面的例子中,使用CSS表達(dá)式可以實(shí)現(xiàn)隔一個(gè)小時(shí)切換一次背景顏色:

background-color: expression( (new Date()).getHours()%2 ? "#B8D4FF" : "#F08A00" );background-color: expression( (new Date()).getHours()%2 ? "#B8D4FF" : "#F08A00" );

如上所示,expression中使用了JavaScript表達(dá)式。CSS屬性根據(jù)JavaScript表達(dá)式的計(jì)算結(jié)果來(lái)設(shè)置。

表達(dá)式的問(wèn)題就在于它的計(jì)算頻率要比我們想象的多。不僅僅是在頁(yè)面顯示和縮放時(shí),就是在頁(yè)面滾動(dòng)、乃至移動(dòng)鼠標(biāo)時(shí)都會(huì)要重新計(jì)算一次。給CSS表達(dá)式增加一個(gè)計(jì)數(shù)器可以跟蹤表達(dá)式的計(jì)算頻率。在頁(yè)面中隨便移動(dòng)鼠標(biāo)都可以輕松達(dá)到10000次以上的計(jì)算量。

如果必須使用CSS表達(dá)式,一定要記住它們要計(jì)算成千上萬(wàn)次并且可能會(huì)對(duì)你頁(yè)面的性能產(chǎn)生影響。所以,在非不得已,請(qǐng)避免使用CSS表達(dá)式。

13. 代碼壓縮

當(dāng)你決定把網(wǎng)站項(xiàng)目部署到網(wǎng)絡(luò)上,那你就要考慮對(duì)CSS進(jìn)行壓縮,出去注釋和空格,以使得網(wǎng)頁(yè)加載得更快。壓縮您的代碼,可以采用一些工具,如YUI Compressor

利用它可精簡(jiǎn)CSS代碼,減少文件大小,以獲得更高的加載速度。


注:相關(guān)教程知識(shí)閱讀請(qǐng)移步到CSS教程頻道。
發(fā)表評(píng)論 共有條評(píng)論
用戶(hù)名: 密碼:
驗(yàn)證碼: 匿名發(fā)表
主站蜘蛛池模板: 久久艹逼 | 久久国产成人精品国产成人亚洲 | 国产精品久久久免费看 | 亚洲网在线 | 久草在线资源福利站 | 色毛片 | 污污的视频在线观看 | 久久精品视频一区 | 亚洲电影在线观看高清免费 | hd性videos意大利复古 | 91av在线免费观看 | 黄色网战入口 | 深夜福利视频绿巨人视频在线观看 | 欧美日韩免费在线观看视频 | 国产精品视频 | 蜜桃91麻豆| 最新一级毛片 | 看国产毛片 | 一级电影免费 | 蜜桃91丨九色丨蝌蚪91桃色 | av老司机久久 | 午夜久久视频 | 免费永久看羞羞片网站入口 | 免费观看高清视频网站 | 9191久久久久视频 | 久久国产精品久久久久久 | 久久国产精品电影 | 国产美女视频一区 | 欧美成人免费电影 | 亚洲视屏在线 | 美女污污在线观看 | 99爱在线免费观看 | 免费午夜视频在线观看 | 久久精品无码一区二区日韩av | 国产一级免费电影 | 久久精品中文 | 免费黄色大片在线观看 | 91av爱爱| 视频国产一区二区 | 国产毛片在线看 | 日日草视频 |