日韩无码专区无码一级三级片|91人人爱网站中日韩无码电影|厨房大战丰满熟妇|AV高清无码在线免费观看|另类AV日韩少妇熟女|中文日本大黄一级黄色片|色情在线视频免费|亚洲成人特黄a片|黄片wwwav色图欧美|欧亚乱色一区二区三区

RELATEED CONSULTING
相關(guān)咨詢
選擇下列產(chǎn)品馬上在線溝通
服務(wù)時(shí)間:8:30-17:00
你可能遇到了下面的問題
關(guān)閉右側(cè)工具欄

新聞中心

這里有您想知道的互聯(lián)網(wǎng)營銷解決方案
CSS模塊化編碼 讓開發(fā)事半功倍

    原生Js因jQuery的"write less,do more"變得極簡, Html因語義化編碼變得簡明, 那么, 有沒有一種方式讓Css也更加的高效精致呢? 當(dāng)然有, 那便是模塊化編碼.

廉江網(wǎng)站建設(shè)公司創(chuàng)新互聯(lián),廉江網(wǎng)站設(shè)計(jì)制作,有大型網(wǎng)站制作公司豐富經(jīng)驗(yàn)。已為廉江上1000家提供企業(yè)網(wǎng)站建設(shè)服務(wù)。企業(yè)網(wǎng)站搭建\外貿(mào)營銷網(wǎng)站建設(shè)要多少錢,請找那個(gè)售后服務(wù)好的廉江做網(wǎng)站的公司定做!

    Css的模塊化,我們可以理解成(抑或本身就是)OOP思想, 重用性、靈活性、可擴(kuò)展性便是它終極的目標(biāo), "類"便是它的核心, OOP的多用組合少用繼承一樣是它的基本原則. Css模塊化是一個(gè)新穎高效的Css編碼方式, 若有接觸過YUI Css的朋友肯定對這種方式有所了解.

     如何Css模塊化, 我想這才是大家真正關(guān)心的. 我所理解的Css模塊化, 應(yīng)該從兩大塊去區(qū)分:

     第一大塊, 從整站全局模塊化. 這一點(diǎn)大家并不陌生, 時(shí)常用到的reset css便是模塊化的一部分, 全局通用的字體樣式, 鏈接樣式, 以及通用頭部底部及主體容器等等這些我們已經(jīng)熟知, 另外諸如定義文字排版(如.f12{font-size:12px})、定位(如.tl{text-align:left})、長度高度(如.w10{width:10px})、邊距(如.m10{margin:10px})等頁面中會(huì)常用到的樣式,這一類,我們稱之為Css通用原子類(哈,與類扯上關(guān)系了,那就權(quán)當(dāng)成類吧).通用原子類有兩個(gè)特點(diǎn): 通用性和原子性, 任何頁面都可以隨意使用它們, 且他們只表現(xiàn)最基礎(chǔ)的樣式, 一個(gè)通用原子類只設(shè)置一個(gè)樣式,不可再分. 關(guān)于整站全局模塊化不再詳述, 本文后面我會(huì)貼出阿當(dāng)?shù)摹禬eb前端開發(fā)修煉之道》一書中常用通用原子類樣式.

    第二大塊, 是從視覺效果上模塊化, 在視覺上樣式和功能相對獨(dú)立穩(wěn)定的部分即可視為模塊. 拆分這些模塊, 應(yīng)該盡量遵循一個(gè)原則: 模塊與模塊之間盡量不要包含相同的部分, 若有相同部分就再拆出來獨(dú)立成一個(gè)模塊. 下圖是我畫的一個(gè)簡易的頁面視覺圖:

  看到上圖, 菜鳥的Css編碼一般是為1~4定義四個(gè)類名,為他們寫各自的樣式; 明智一點(diǎn)的寫法是為1~4定義四個(gè)類名, 用.a .b .c .d{...}方式定義共同樣式, 然后再為各自定義不同部分的樣式; 但是, 還有一種完美的方式, 那便是模塊化. 下面我就以上圖為例做個(gè)簡單的模塊化分析. 第一步, 分析整個(gè)視覺共用部分. 可以看出,1~4中,標(biāo)題背景,標(biāo)題文字,內(nèi)容文字這三個(gè)部分的樣式都是相同的, 所以, 我們可以為這個(gè)四個(gè)區(qū)塊定義一個(gè)類名, 將共同的樣式寫給這個(gè)類名:

 
 
 
 
  1. ...  
  2.  
  3.     

    倒霉松鼠再出山 h2> 

  4.     

    20世紀(jì)??怂箤橘u座動(dòng)畫片《冰河世紀(jì)》(Ice Age內(nèi)地譯做《冰川時(shí)代》)再次開拍續(xù)集... p> 

  5. div> 
  6.  
  7.     

    倒霉松鼠再出山 h2> 

  8.     

    20世紀(jì)福克斯將為賣座動(dòng)畫片《冰河世紀(jì)》(Ice Age內(nèi)地譯做《冰川時(shí)代》)再次開拍續(xù)集... p> 

  9. div> 
  10.  
  11.     

    倒霉松鼠再出山 h2> 

  12.     

    20世紀(jì)??怂箤橘u座動(dòng)畫片《冰河世紀(jì)》(Ice Age內(nèi)地譯做《冰川時(shí)代》)再次開拍續(xù)集... p> 

  13. div> 
  14.  
  15.     

    倒霉松鼠再出山 h2> 

  16.     

    20世紀(jì)福克斯將為賣座動(dòng)畫片《冰河世紀(jì)》(Ice Age內(nèi)地譯做《冰川時(shí)代》)再次開拍續(xù)集... p> 

  17. div> 
  18. ...  
  19. DIV> 

   第二步, 分析出不同部分, 并權(quán)衡高效使用. 可以看出, 不同部分, 主要是內(nèi)容背景色和區(qū)塊寬度兩部分. 先說背景色, 背景色有三種, 淡黃(1個(gè)), 白色(2個(gè)), 灰色(1個(gè)), 遵從"模塊與模塊之間盡量不要包含相同的部分, 若有相同部分就再拆出來獨(dú)立成一個(gè)模塊"的原則, 我們要把2個(gè)白底的樣式提出來, 另兩個(gè)單獨(dú)定義, 而根據(jù)Css優(yōu)先原則, 我們可以把白底默認(rèn)定義到第一步中的box樣式中, 另兩種背景色可做重定義處理. 再來看看寬度與定位, 2,4寬度等同且都右浮動(dòng), 所以, 我們可以把這部分提出來模塊化, 而浮動(dòng)一般可以直接調(diào)用通用原子類, 所以, 我們僅僅需要定義一個(gè)寬度樣式中(若這個(gè)寬度在通用原子類中也有就更好了). 如此以來, Html可以這樣寫:

 
 
 
 
  1. ...  
  2.  
  3.     

    倒霉松鼠再出山 h2> 

  4.     

    20世紀(jì)??怂箤橘u座動(dòng)畫片《冰河世紀(jì)》(Ice Age內(nèi)地譯做《冰川時(shí)代》)再次開拍續(xù)集... p> 

  5. div> 
  6.  
  7.     

    倒霉松鼠再出山 h2> 

  8.     

    20世紀(jì)福克斯將為賣座動(dòng)畫片《冰河世紀(jì)》(Ice Age內(nèi)地譯做《冰川時(shí)代》)再次開拍續(xù)集... p> 

  9. div> 
  10.  
  11.     

    倒霉松鼠再出山 h2> 

  12.     

    20世紀(jì)??怂箤橘u座動(dòng)畫片《冰河世紀(jì)》(Ice Age內(nèi)地譯做《冰川時(shí)代》)再次開拍續(xù)集... p> 

  13. div> 
  14.  
  15.     

    倒霉松鼠再出山 h2> 

  16.     

    20世紀(jì)??怂箤橘u座動(dòng)畫片《冰河世紀(jì)》(Ice Age內(nèi)地譯做《冰川時(shí)代》)再次開拍續(xù)集... p> 

  17. div> 
  18. ... 

   或許, 這樣的結(jié)構(gòu)對Html頁面來說, 會(huì)顯的有些臃腫, 但Css文件因?yàn)橹赜眯缘奶岣叨蟠蟮臏p小了. Css模塊化是一個(gè)比較實(shí)用但也需要去領(lǐng)悟的思想, 實(shí)際使用中也需要全面的分析, 過多的模塊也會(huì)導(dǎo)致維護(hù)性的降低, 如同OOP編程一樣, 我們也要考慮"公有屬性"與"私有屬性". 本文通過一個(gè)簡單的例子解析了Css模塊化的基本思想, 更多關(guān)于Css模塊化的知識(shí), 可以看YUI Css或者其他網(wǎng)絡(luò)上的資源. do write, less more...Css也可以做到. 附: 阿當(dāng)《Web前端開發(fā)修煉之道》一書中分享的通用原子類:

 
 
 
 
  1. /*文字排版*/  
  2. .f12{font-size:12px}  
  3. .f13{font-size:13px}  
  4. .f14{font-size:14px}  
  5. .f16{font-size:16px}  
  6. .f20{font-size:20px}  
  7. .fb{font-weight:bold}  
  8. .fn{font-weight:normal}  
  9. .t2{text-indent:2em}  
  10. .lh150{line-height:150%}  
  11. .lh180{line-height:180%}  
  12. .lh200{line-height:200%}  
  13. .unl{text-decoration:underline;}  
  14. .no_unl{text-decoration:none;}  
  15. /*定位*/  
  16. .tl{text-align:left}  
  17. .tc{text-align:center}  
  18. .tr{text-align:right}  
  19. .bc{margin-left:auto;margin-right:auto;}  
  20. .fl{float:left;display:inline}  
  21. .fr{float:right;display:inline}  
  22. .cb{clear:both}  
  23. .cl{clear:left}  
  24. .cr{clear:right}  
  25. .clearfix:after{content:".";display:block;height:0;clear:both;visibility:hidden}  
  26. .clearfix{display:inline-block}* html .clearfix{height:1%}.clearfix{display:block}  
  27. .vm{vertical-align:middle}  
  28. .pr{position:relative}  
  29. .pa{position:absolute}  
  30. .abs-right{position:absolute;right:0}  
  31. .zoom{zoom:1}  
  32. .hidden{visibility:hidden}  
  33. .none{display:none}  
  34. /*長度高度*/  
  35. .w10{width:10px}  
  36. .w20{width:20px}  
  37. .w30{width:30px}  
  38. .w40{width:40px}  
  39. .w50{width:50px}  
  40. .w60{width:60px}  
  41. .w70{width:70px}  
  42. .w80{width:80px}  
  43. .w90{width:90px}  
  44. .w100{width:100px}  
  45. .w200{width:200px}  
  46. .w250{width:250px}  
  47. .w300{width:300px}  
  48. .w400{width:400px}  
  49. .w500{width:500px}  
  50. .w600{width:600px}  
  51. .w700{width:700px}  
  52. .w800{width:800px}  
  53. .w{width:100%}  
  54. .h50{height:50px}  
  55. .h80{height:80px}  
  56. .h100{height:100px}  
  57. .h200{height:200px}  
  58. .h{height:100%}  
  59. /*邊距*/  
  60. .m10{margin:10px}  
  61. .m15{margin:15px}  
  62. .m30{margin:30px}  
  63. .mt5{margin-top:5px}  
  64. .mt10{margin-top:10px}  
  65. .mt15{margin-top:15px}  
  66. .mt20{margin-top:20px}  
  67. .mt30{margin-top:30px}  
  68. .mt50{margin-top:50px}  
  69. .mt100{margin-top:100px}  
  70. .mb10{margin-bottom:10px}  
  71. .mb15{margin-bottom:15px}  
  72. .mb20{margin-bottom:20px}  
  73. .mb30{margin-bottom:30px}  
  74. .mb50{margin-bottom:50px}  
  75. .mb100{margin-bottom:100px}  
  76. .ml5{margin-left:5px}  
  77. .ml10{margin-left:10px}  
  78. .ml15{margin-left:15px}  
  79. .ml20{margin-left:20px}  
  80. .ml30{margin-left:30px}  
  81. .ml50{margin-left:50px}  
  82. .ml100{margin-left:100px}  
  83. .mr5{margin-right:5px}  
  84. .mr10{margin-right:10px}  
  85. .mr15{margin-right:15px}  
  86. .mr20{margin-right:20px}  
  87. .mr30{margin-right:30px}  
  88. .mr50{margin-right:50px}  
  89. .mr100{margin-right:100px}  
  90. .p10{padding:10px;}  
  91. .p15{padding:15px;}  
  92. .p30{padding:30px;}  
  93. .pt5{padding-top:5px}  
  94. .pt10{padding-top:10px}  
  95. .pt15{padding-top:15px}  
  96. .pt20{padding-top:20px}  
  97. .pt30{padding-top:30px}  
  98. .pt50{padding-top:50px}  
  99. .pb5{padding-bottom:5px}  
  100. .pb10{padding-bottom:10px}  
  101. .pb15{padding-bottom:15px}  
  102. .pb20{padding-bottom:20px}  
  103. .pb30{padding-bottom:30px}  
  104. .pb50{padding-bottom:50px}  
  105. .pb100{padding-bottom:100px}  
  106. .pl5{padding-left:5px}  
  107. .pl10{padding-left:10px}  
  108. .pl15{padding-left:15px}  
  109. .pl20{padding-left:20px}  
  110. .pl30{padding-left:30px}  
  111. .pl50{padding-left:50px}  
  112. .pl100{padding-left:100px}  
  113. .pr5{padding-right:5px}  
  114. .pr10{padding-right:10px}  
  115. .pr15{padding-right:15px}  
  116. .pr20{padding-right:20px}  
  117. .pr30{padding-right:30px}  
  118. .pr50{padding-right:50px}  
  119. .pr100{padding-right:100px} 

 【編輯推薦】

  1. 使用CSS樣式化HTML 5
  2. 用CSS 3將你的設(shè)計(jì)水平帶入下個(gè)高度
  3. Javascript中CSS屬性float特殊寫法

新聞標(biāo)題:CSS模塊化編碼 讓開發(fā)事半功倍
本文鏈接:http://www.5511xx.com/article/dhhhgho.html