自拍偷在线精品自拍偷,亚洲欧美中文日韩v在线观看不卡

編寫完美CSS代碼的五個關(guān)鍵

開發(fā) 前端
每個人都可以編寫CSS代碼,但是如何編寫出完美,簡潔的CSS代碼才是硬道理,這里向大家描述一下寫出完美CSS代碼的5個重要方面。

本文和大家重點(diǎn)討論一下寫出***CSS代碼的5個重要方面,相信學(xué)習(xí)了這些CSS編碼與CSS技巧,你就會輕松寫出***的CSS代碼。

寫出***CSS代碼的5個重要方面

每個人都可以編寫CSS代碼,甚至你現(xiàn)在已經(jīng)讓它為你的項目工作了。我們在52CSS.com中也一直與大家討論,學(xué)習(xí)CSS編碼與CSS技巧。但是CSS還可以更好嗎?開始用這5個Tips改進(jìn)你的CSS吧!

一、關(guān)于CSS重置

  首先,很認(rèn)真的告訴你,總是要重置某些分類。無論你是使用EricMeyerReset、YUIReset或者你自己編寫的重置代碼,只要使用就對了。

  它能很簡單的移除所有元素的填充(padding)和邊距(margin):

ExampleSourceCode

  1. html,body,div,h1,h2,h3,h4,h5,h6,ul,ol,dl,li,dt,dd,p,blockquote,  
  2. pre,form,fieldset,table,th,td{margin:0;padding:0;}  
  3.  

  EricMeyerReset和YUIReset都是非常強(qiáng)大的,但是對于我而言,它們走的太遠(yuǎn)了。我覺得你最終需要重置一切,然后重新定義所有元素的屬性。這就是為什么EricMeyer推薦更有效的使用(重置樣式表),而你不要只是使用他的重置樣式表,將它拖放到你的項目中。調(diào)整它(的重置樣式表),建立屬于自己的重置樣式表。

  請停止使用:

ExampleSourceCode 

  1. *{margin:0;padding:0;}  
  2.  

  花更多的時間去制作它,當(dāng)你移除了填充(padding)你認(rèn)為單選按鈕會發(fā)生什么變化?表單元素有時能夠做些時髦的事情,所以最有效的方式就是將他們獨(dú)立。

二、CSS屬性的排序

  一個小的測試,這個例子就是要讓你思考如何更快的找到右邊距屬性?

ExampleSourceCode

  1. Example#1  
  2. div#headerh1{  
  3. z-index:101;  
  4. color:#000;  
  5. position:relative;  
  6. line-height:24px;  
  7. margin-right:48px;  
  8. border-bottom:1pxsolid#dedede;  
  9. font-size:18px;  
  10. }  
  11.  
  12. Example#2  
  13. div#headerh1{  
  14. border-bottom:1pxsolid#dedede;  
  15. color:#000;  
  16. font-size:18px;  
  17. line-height:24px;  
  18. margin-right:48px;  
  19. position:relative;  
  20. z-index:101;  
  21. }  
  22.  

  你不能告訴我Example#2不能更快的找到右邊距屬性。根據(jù)字母排序你的元素屬性。一致的創(chuàng)建你的CSS,將幫助你節(jié)省花費(fèi)在尋找一個特殊屬性的時間。

  我知道一些人用這樣的方法去組織代碼,其他人又用另一種方法去組織,但是在我的公司,我們協(xié)商一致做出決定,所有的代碼都將按照字母排序來組織。通過這樣組織代碼與其他人協(xié)同工作一定是有幫助的。當(dāng)我碰到屬性沒有按照字母排序的層疊樣式表我每一次都會退縮。#p#

三、CSS樣式的組織

  你應(yīng)該組織你的樣式表以致相關(guān)的內(nèi)容靠在一起,更簡單的找到想要的。使用更有效的注解。舉個例子,這是我如何構(gòu)造我的層疊樣式表:

ExampleSourceCode

  1. /*****Reset*****/  
  2. 移除元素的填充(padding)和邊距(margin)。  
  3. /*****BasicElements*****/  
  4. 定義基本元素的樣式:body,h1-h6,ul,ol,a,p,等.  
  5. /*****GenericClasses*****/  
  6. 定義簡單的風(fēng)格,好像浮動的某一側(cè),移除元素的下邊距,等當(dāng)然,  
  7. 它們大部分都與我們希望的語義不相關(guān),但是它們是高效處理代碼所必須的。  
  8. /*****BasicLayout*****/  
  9. 定義基本的模板:header,footer等.幫助定義網(wǎng)頁布局的基本元素  
  10. /*****Header*****/  
  11. 定義所有Hearder元素  
  12. /*****Content*****/  
  13. 定義所有內(nèi)容框內(nèi)的元素  
  14. /*****Footer*****/  
  15. 定義所有Footer的元素  
  16. /*****Etc*****/  

定義其他的選擇器。通過注解和歸類相似元素的分組,將更快的找到你想要的。

四、保持一致性

  無論你決定使用什么方式去編寫代碼,保持一致。我已經(jīng)對全部放在1行VS多行的CSS編寫編寫方式的爭論感到乏味和疲倦。這是不需要爭辯的。每個人都有自己的觀點(diǎn),所以選擇一種你喜歡的工作方式,并在所有的樣式表中保持一致。

  就我個人而言,我將使用兩者結(jié)合的方式。如果一個選擇器超過了3個屬性,我將截斷它采用多行的方式編寫。

ExampleSourceCode

  1. div#header{float:left;width:100%;}  
  2. div#headerdiv.column{  
  3. border-right:1pxsolid#ccc;  
  4. float:rightright;  
  5. margin-right:50px;  
  6. padding:10px;  
  7. width:300px;  
  8. }  
  9. div#headerh1{float:left;position:relative;width:250px;}  
  10.  

   所以找到你喜歡的工作方式然后保持一致。

五、從正確的地方開始

  在完成標(biāo)記語言之前不要去嘗試靠近你的樣式表。

  當(dāng)我準(zhǔn)備分割一張網(wǎng)頁的時候,創(chuàng)建CSS文件之前,我需要預(yù)覽并且標(biāo)記body開標(biāo)簽到body的閉合標(biāo)簽之間的所有文檔。我不會增加額外的DIV,ID,或者類選擇器。我將會添加一些一般的DIV,就好像hearder、content、footer.因為我知道這些東西是現(xiàn)實存在的。

  通過先標(biāo)記文檔,你將不會碰到本已注定的divities1和classitis2麻煩!/*YouonlyneedtoaddinthatstuffonceyouhavebeguntowritetheCSSandrealizethatyouaregoingtoneedanotherhooktoaccomplishwhatyouaretryingtoachieve.*/(原文未譯)。

  利用CSS子選擇器指定子元素;不要只是機(jī)械的給元素添加類或者ID選擇器。記住:沒有一個良好的格式化文檔(或者標(biāo)記結(jié)構(gòu))CSS是無價值的。
 

【編輯推薦】

  1. CSS網(wǎng)頁布局常用書寫規(guī)范及技巧匯總
  2. 深入剖析CSS層疊與繼承的使用
  3. 專家推薦三大“***”CSS技巧!
  4. 解析DIV+CSS網(wǎng)頁布局的意義與副作用
  5. DIV CSS初學(xué)者必須掌握的10個問題與技巧

 

 

責(zé)任編輯:佚名 來源: 52css.com
相關(guān)推薦

2010-09-03 16:07:48

CSS

2010-09-10 15:23:54

CSS匹配CSS

2017-08-28 14:58:19

CSSFlexbox注釋格式優(yōu)化

2016-09-07 19:58:47

CSS代碼Web

2017-09-25 21:00:44

代碼開發(fā)完美

2022-08-02 10:33:11

JavaScript代碼

2023-02-26 23:23:36

CSS開發(fā)Web

2017-10-10 16:28:51

前端CSS建議

2023-07-06 14:37:05

2021-12-04 23:10:02

Java代碼開發(fā)

2010-08-31 13:32:12

CSS

2011-11-18 09:42:29

Ajax

2023-04-14 08:10:59

asyncawait

2010-03-17 10:53:39

java doc線程

2010-08-27 10:12:53

CSS

2010-08-26 15:27:57

CSS

2022-06-25 21:22:30

編程Rust代碼

2019-06-05 15:15:51

云端云計算遷移

2019-06-05 13:32:38

云端云計算云遷移

2022-05-25 16:35:27

邊緣計算工業(yè)物聯(lián)網(wǎng)
點(diǎn)贊
收藏

51CTO技術(shù)棧公眾號