亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb

首頁 > 網站 > WEB開發 > 正文

編寫優良CSS代碼總結

2024-04-27 15:06:20
字體:
來源:轉載
供稿:網友

1. 使用Reset但并非全局Reset

不同瀏覽器元素的默認屬性有所不同,使用Reset可重置瀏覽器元素的一些默認屬性,以達到瀏覽器的兼容。但需要注意的是,不要使用全局Reset:

*{ margin:0; padding:0; }

這不僅僅因為它是緩慢和低效率的方法,而且還會導致一些不必要的元素也重置了外邊距和內邊距。Reset并不是一成不變的,具體還需要根據頁面的不同需求做適當的修改,以達到瀏覽器的兼容和操作上的便利。 通常使用Reset如下:

/** 清除內外邊距 **/body, h1, h2, h3, h4, h5, h6, hr, p,blockquote, /* structural elements 結構元素 */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;}/** 設置默認字體 **/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. 良好的命名習慣

無疑亂七八糟或者無語義命名的代碼,誰看了都會抓狂。就像這樣的代碼:

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

我想即使是初學者,也不至于會在實際頁面中如此命名一個class,但有沒有想過這樣的代碼同樣是很有問題的:

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

問題在于如果你需要把所有原本紅色的字體變成藍色,那修改后樣式就會這樣去寫:

.red{color:bule;}

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

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

另外還有一種情況,一些固定的樣式,定義后就不會修改了,那你命名時就不用擔憂剛剛說的那種情況,如:

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

那么對于這樣一個段落:

<p class="alignleft">我是一個段落!</p>

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

3. 代碼縮寫

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

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: 1.2em/1.4em Arial, Helvetica, sans-serif;padding:5px 0 10px 5px;}

4. 利用CSS繼承

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

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

就可以簡寫成:

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

你可以合并多個CSS選擇器為一個,如果他們有共同的樣式的話。這樣做不但代碼簡潔且可為你節省時間和空間。如:

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; }

6. 適當的代碼注釋

代碼注釋可以讓別人更容易讀懂你的代碼,且合理的組織代碼注釋,可使得結構更加清晰。你可以選擇做的樣式表的開始添加目錄:

/*------------------------------------1. Reset2. Header3. Content4. SideBar5. Footer----------------------------------- */

如此你代碼的結構就一目了然,你可以容易的查找和修改代碼。

而對于代碼的主內容,也應適當的加以劃分,甚至在有必要的地方在對代碼加以注釋說明,這樣也有利于團隊開發:

/*** 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}/* 設置字體顏色 */#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代碼排序

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

/*** 樣式屬性按字母排序 ***/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的可讀性

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

/*** 每個樣式屬性寫一行 ***/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; }

當對于一些樣式屬性較少的選擇器,我會寫到一行:

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

對于這個規則并非硬性規定,但無論您采用哪種寫法,我的建議是始終保持代碼一致。屬性多的分行寫,屬性少于3個可以寫一行。

9. 選擇更優的樣式屬性值

CSS中有些屬性采用不同的屬性值,雖然達到的效果差不多,當性能上卻存在著差異,如:區別在于border:0把border設為0px,雖然在頁面上看不見,但按border默認值理解,瀏覽器依然對border-width/border-color進行了渲染,即已經占用了內存值。

而border:none把border設為“none”,瀏覽器解析“none”時將不作出渲染動作,即不會消耗內存值。所以建議一般使用border:none;

同樣的,display:none隱藏對象瀏覽器不作渲染,不占用內存。而visibility:hidden則會。

10. 使用外部樣式表

這個原則始終是一個很好的設計實踐。不單可以更易于維護修改,更重要的是使用外部文件可以提高頁面速度,因為CSS文件都能在瀏覽器中產生緩存。內置在HTML文檔中的CSS則會在每次請求中隨HTML文檔重新下載。所以,在實際應用中,沒有必要把CSS代碼內置在HTML文檔中:

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

或:

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

而是使用導入外部樣式表:

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

11. 避免使用CSS表達式(Expression)

CSS表達式是動態設置CSS屬性的強大(但危險)方法。Internet Explorer從第5個版本開始支持CSS表達式。下面的例子中,使用CSS表達式可以實現隔一個小時切換一次背景顏色:

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

如上所示,expression中使用了javaScript表達式。CSS屬性根據Javascript表達式的計算結果來設置。

表達式的問題就在于它的計算頻率要比我們想象的多。不僅僅是在頁面顯示和縮放時,就是在頁面滾動、乃至移動鼠標時都會要重新計算一次。給CSS表達式增加一個計數器可以跟蹤表達式的計算頻率。在頁面中隨便移動鼠標都可以輕松達到10000次以上的計算量。

如果必須使用CSS表達式,一定要記住它們要計算成千上萬次并且可能會對你頁面的性能產生影響。所以,在非不得已,請避免使用CSS表達式。

12. 代碼壓縮

當你決定把網站項目部署到網絡上,那你就要考慮對CSS進行壓縮,除去注釋和空格,以使得網頁加載得更快。壓縮您的代碼,可以采用一些工具 利用它可精簡CSS代碼,減少文件大小,以獲得更高的加載速度。


發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb
亚洲字幕在线观看| 日本一本a高清免费不卡| 亚洲亚裔videos黑人hd| 亚洲美女性生活视频| 亚洲奶大毛多的老太婆| 精品久久久精品| 国内成人精品视频| 日本精品视频在线观看| 精品福利在线看| 日本一区二三区好的精华液| 亚洲欧美制服另类日韩| 亚洲人成在线观看网站高清| 91久久在线视频| 亚洲色图狂野欧美| 国产精品99久久久久久久久久久久| 国产一区视频在线播放| 久久夜色精品国产亚洲aⅴ| 欧美影院在线播放| 国产精品一区二区三区在线播放| 日韩成人在线视频观看| 在线观看日韩av| 亚洲精品国产美女| 亚洲成人黄色在线观看| 国产欧美一区二区| 亚洲成人网在线观看| 欧美日韩亚洲网| 成人免费大片黄在线播放| 亚洲国模精品一区| 亚洲一区二区三区香蕉| 欧美日韩一区二区在线| 91精品视频专区| 日韩在线视频国产| 成人做爰www免费看视频网站| 久久99视频免费| 国产精品自拍偷拍| 成人欧美一区二区三区在线湿哒哒| 国产乱人伦真实精品视频| 热久久这里只有精品| 大荫蒂欧美视频另类xxxx| 色噜噜久久综合伊人一本| 久久视频中文字幕| 中文字幕av一区二区三区谷原希美| 国产精品成人v| 亚洲男人的天堂网站| 国产精品久久在线观看| 国产精品国产福利国产秒拍| 国产在线观看精品| 亚洲国产免费av| 91精品久久久久久久久久久久久| 欧美激情视频一区| 国产91在线高潮白浆在线观看| 亚洲国产精品99久久| 亚洲视频电影图片偷拍一区| 精品久久久久久久久国产字幕| 中文字幕免费精品一区高清| 亚洲精品影视在线观看| 欧美日韩黄色大片| 久热99视频在线观看| 久久99久久99精品中文字幕| 亚洲第一区中文99精品| 日韩精品在线电影| 在线观看国产成人av片| 日本高清视频一区| 在线视频亚洲欧美| 亚洲国产成人在线视频| 欧美日韩免费在线| 国产精品成人va在线观看| 日韩av中文字幕在线播放| 欧美亚洲在线视频| 久久夜色精品亚洲噜噜国产mv| 欧美人交a欧美精品| 亚洲一区二区三区四区视频| 91欧美激情另类亚洲| 亚洲国产天堂久久综合| 亚洲天堂第二页| 亚洲天堂av在线播放| 国产精品av在线播放| 精品一区二区三区电影| 亚洲国内精品视频| 懂色av一区二区三区| 亚洲欧美日韩图片| 国产精品亚洲第一区| 国产一区二区三区久久精品| 午夜免费在线观看精品视频| 97在线视频国产| 亚洲视频在线观看视频| 色噜噜狠狠狠综合曰曰曰88av| 欧美专区在线视频| 亚洲一区二区三区乱码aⅴ| 成人网页在线免费观看| 色老头一区二区三区| 中文字幕日韩免费视频| 欧美日韩第一页| 欧美天天综合色影久久精品| 国产一区二区成人| 精品亚洲va在线va天堂资源站| 久久露脸国产精品| 欧美日韩一区二区免费视频| 美女久久久久久久| xxxxx成人.com| 91精品国产91久久久久久久久| 欧美一级免费看| 国产精品pans私拍| 日韩精品久久久久久福利| 国产精品免费网站| 美女国内精品自产拍在线播放| 亚洲精品欧美极品| 日韩精品在线私人| 麻豆一区二区在线观看| 成人444kkkk在线观看| 日本精品久久久| 精品日韩中文字幕| 亚洲国产天堂久久国产91| 亚洲网在线观看| 日韩免费在线观看视频| 欧美性开放视频| 清纯唯美亚洲激情| 亚洲剧情一区二区| 欧美日韩性视频| 日韩精品视频观看| 亚洲欧美综合区自拍另类| 亚洲欧美另类中文字幕| 亚洲精品电影网在线观看| 久久综合免费视频| 国产精品一二区| 热草久综合在线| 97色在线观看免费视频| 亚洲精品久久视频| 久久黄色av网站| 中文字幕精品av| 国产成人精品一区| 亚洲欧美一区二区三区情侣bbw| 国产精品久久久久秋霞鲁丝| 伊人成人开心激情综合网| 97精品视频在线观看| 欧美在线国产精品| 青青青国产精品一区二区| 国产免费久久av| 91国产精品91| 欧美日韩成人精品| 国产亚洲精品美女久久久| 亚洲伊人第一页| 另类天堂视频在线观看| 亚洲wwwav| 久久99国产综合精品女同| 97精品一区二区三区| 日韩在线免费视频观看| 欧美国产一区二区三区| 久久视频免费在线播放| 亚洲第一福利在线观看| 亚洲国产精品va在线观看黑人| 国产精品羞羞答答| 国产日韩换脸av一区在线观看| 国产精品久久久久久av下载红粉| 欧美成人在线影院| 国产精品久久久久久久久久尿| 国产一区欧美二区三区| 亚洲精品一区二区三区婷婷月| 日韩欧美国产成人| 成人网在线免费观看| 久久综合网hezyo| 欧美在线激情视频| 国产精品一区=区| 亚洲国产古装精品网站|