<output id="qn6qe"></output>

    1. <output id="qn6qe"><tt id="qn6qe"></tt></output>
    2. <strike id="qn6qe"></strike>

      亚洲 日本 欧洲 欧美 视频,日韩中文字幕有码av,一本一道av中文字幕无码,国产线播放免费人成视频播放,人妻少妇偷人无码视频,日夜啪啪一区二区三区,国产尤物精品自在拍视频首页,久热这里只有精品12

      談 CSS 模塊化

      以前看過模塊化的相關資料以及解釋,對模塊化有了一個表皮的了解,自己也做了一些相關的實踐,由于接觸到的項目交小,所以也沒能更好的去體現和理解模塊化,但總體還是有那么一些感悟,但是如果要說怎么才能算是好的模塊化,自己內心還是一個疑問。

      前幾天接到一個電話面試,談到了css模塊化的問題,覺得自己的回答太模棱兩可,自己回答過后對自己的答案也不滿意,沒有一個周全的思考和考慮。

      下面總結一下自己對css模塊化的理解,盡可能的表達完善自己的想法以及對所查找到的資料的一個總結。

      ——————————————————————————————————————————————

      1. 什么是模塊化

      百度詞條解釋的“ 模塊化 ”:

      模塊化是指解決一個復雜問題時自頂向下逐層把軟件系統劃分成若干模塊的過程。每個模塊完成 一個特定的子功能,所有的模塊按某種方法組裝起來,成為一個整體,完成整個系統所要求的功能。模塊具有以下幾種基本屬性:接口、功能、邏輯、狀態,功能、 狀態接口反映模塊的外部特性邏輯反映它的內部特性。在軟件的體系結構中,模塊是可組合、分解和更換的單元?!?/p>

      我們所借鑒的是一種思維的方式。

      2. CSS面向對象思想

        封裝、繼承、多態

      封裝:表意即包裝,要點就是不同的特性抽象到一個基于類的模塊里,封裝是實現CSS模塊化的最基本要求,封裝成的各個單元就是基本的CSS模塊,可靈活用于組建頁面的各種顯示樣式。

      css中的繼承:指我們設置上級(父級)的CSS樣式,上級(父級)及以下的子級(下級)都具有此屬性

      多態:多態主要用于同一模塊在頁面的不同部分或者不同頁面之間呈現出不同的樣式。

      例如:我們可以將按鈕這一類型封裝成button類,但是會發現這一個button類并不會滿足一個網站內所有按鈕的樣式,這時候我們就要觀察按鈕的樣式,將按鈕的公共樣式提取出來,然后根據不同的需要再添加另外一個類,比如公共樣式的類名為“btn-default”,藍色的為“btn-info”,綠色的為“btn-successful”(這是借鑒bootstrap中的,也即多態),特殊需要也可以寫類覆蓋掉公共類中的一些樣式,根據他的權值大小,。

      但這樣寫出來的模塊化也有弊端,有時候自己想想也都覺得矛盾(前臺人員在寫頁面時挺方便使用,但是在后期維護中,需要調整樣式,就不是在css里調整,而是可能需要到html結構中去調代碼,甚至需要多處調整,也不便于維護)

       

       

      2. CSS組織方式

      目前見過有幾種組織方式

      base.css(reset功能,底層) + common.css(組件級的CSS類,中間層) + page.css(提供頁面級的樣式,高層,page層是頁面級的,每個頁面都可能會有自己的page層css)

       

      這種第一次嘗試寫的時候,公共樣式提出來放入common中,多態的放到哪?頁面都可能會有自己的page層的放入page中,common和page層寫著寫著自己就完全混亂了,為什么混亂?因為公共樣式和多態分開了,多態的放到哪?有時候自己都忘記了自己寫的代碼都在什么地方,哪一塊是怎么樣的,多態出來的或許可也把多態的放入一個新的css里,總之歸結自己經驗還太淺太淺。

      header.css+container.css(中間可再細分)+footer.css+print.css+ie.css

      此種劃分以自己理解就是因為后臺人員在處理時,往往是把頭部和底部抽出成一個公共結構,然后各個頁面都引入這個結構,(對于后期的維護是相當有效的, 因為涉及導航欄的修改僅需修改一次即可)

      此種的弊端是什么?自己雖然不是處女座,但是如果一個頁面內樣式很少,一個超級多,自己內心也是崩潰的,少的你不浪費資源嗎?感覺這個,頭部和底部可以共用一個css文件,至于container,覺得全都裝在這里面,不好找,還容易造成很亂的感覺,感覺可以在此基礎上再分出來幾個,可以結合第一種的組織方式

      3. CSS如何劃分模塊——單一職責原則

       從視覺上進行劃分,樣式和功能相對獨立且穩定的一部分就可以視為模塊,將這些相似的部分提取出來,再進一步拆分成更小的模塊,模塊與模塊之間盡量不要包含,相同的部分,如果有相同部分,應將它們提取出來,拆分成一個獨立的模塊。應將模塊拆得盡可能簡單,以提高彈性。

      第一次嘗試這個時候,自以為還行,結果后來客戶需求不明確,整個網站各個板塊樣式布局都要改,那叫一個慘不忍睹,血淚史,最后用繼承和多態思想解決掉了。

       

       

       

      4. 聚合/組合

      這個建議查看http://blog.csdn.net/hacke2/article/details/21707133,很多都是借鑒此博主的,里面加了一些自己的主觀感受,現在自己還不太確定,到底是掛多個calss還是新建的好,所以自己選擇適當就好(缺少大項目經驗啊,缺少對網站優化的經驗)

      http://blog.csdn.net/hacke2/article/details/21707885

       

      posted @ 2015-06-20 15:35  夏目の-の  閱讀(287)  評論(0)    收藏  舉報
      主站蜘蛛池模板: 思思99热精品在线| 日韩一区二区三区精品区| 久久不见久久见免费视频观看| 福利视频一区二区在线| 久久亚洲精品天天综合网| 性男女做视频观看网站| 亚洲日韩成人av无码网站| 玩两个丰满老熟女久久网| 起碰免费公开97在线视频| 成人性做爰aaa片免费看| 色婷婷五月综合久久| 国内精品一区二区不卡| 欧美一区二区三区性视频| 亚洲区日韩精品中文字幕| 办公室强奷漂亮少妇视频| 亚洲AV成人片在线观看| 99re6这里有精品热视频| 亚洲黄日本午夜一区二区| 欧美性大战xxxxx久久久| 国产欧美另类久久久精品不卡| 国产精品天天看天天狠| 日韩成人无码影院| 女的被弄到高潮娇喘喷水视频| 福利一区二区1000| 欧美人与性动交ccoo| 又大又粗欧美成人网站| 精品剧情V国产在线观看| 青青青爽在线视频观看| 综合图区亚洲另类偷窥| 午夜精品久久久久久久2023| 久久青草国产精品一区| 亚洲精品中文字幕在线观| 国产精品视频一区不卡| 狠狠做五月深爱婷婷天天综合| 综合在线 亚洲 成人 欧美| www成人国产高清内射| 免费A级毛片无码A∨蜜芽试看 | 久久亚洲精品中文字幕| 久久av中文字幕资源网| 四虎影视一区二区精品| 富民县|