九九热线视频精品99-动漫高h纯肉无码视频在线观看-午夜理论无码片在线观看免费-99精品国产在热久久无码-亚洲国产成人乱码

重構中樣式的作用域,模塊化設計樣式的作用域

2012/3/16 15:35:03   閱讀:2713    發布者:2713

 

要做好模塊化,我覺得理解好樣式的作用域是很重要的,所以將這部分作為這個系列的第一篇。

寫過程序的同學應該都知道,變量是有作用域的,樣式的定義也同樣存在著作用域的問題,即定義的作用范圍,很容易就能理解,如下面的p的作用域:

/*作用域:全局*/ p{text-indent:2em;}

/*作用域:.demo這個類中*/ .demo p{color:#000000;}

樣式選擇器的優先級是學習樣式的基礎知識,一起簡單回顧下:

    標簽的權值為0,0,0,1
    類的權值為0,0,1,0
    屬性選擇的權值為0,0,1,1
    ID的權值為0,1,0,0
    important的權值為最高1,0,0,0

使用的規則也很簡單,就是 選擇器的權值加到一起,大的優先;如果權值相同,后定義的優先 。雖然很簡單,但如果書寫的時候沒有注意,很容易就會導致CSS的重復定義,代碼冗余。

從上面我們可以得出兩個關鍵的因素:

    權值的大小跟選擇器的類型和數量有關
    樣式的優先級跟樣式的定義順序有關

了解樣式的權值后有什么作用呢?比如可以這樣用:舉一個最簡單的例子,

body{color:#555555;}.demo{color:#000000;}

<p>這里的文字顏色受全局定義的影響</p>
<div class="demo"><p>這里的文字顏色受類demo定義的影響</p></div>
<p class="demo">這里的文字顏色受類demo定義的影響</p>

知道了樣式的權值,你就知道上面例子的表現是怎樣的了。進一步的應用,就是模塊化了,比如《 從宜家的家具設計講模塊化 》中的例子,詳細請移步。

再來說說“作用域”,相信大家很容易就會想到“全局”、“公共”這些詞,關注過模塊化的同學應該都知道,網上說得最多的一種“模塊化”,就是像header、footer這樣的以大區域劃分。在去年web標準交流會(頁面重構合理化討論)上,克軍提出了“樣式的三層架構”——公共規則層、公共模塊層、項目層。這些都有它們適用的范圍,而且最大的優點是容易理解和應用。這里也不再做重訴了,感興趣的同學可以找找相關的文章。

我在這一塊的劃分上,有點類似克軍的“樣式的三層架構”,有一點小的差別,我是以“作用域”來分的: 公共級(全局)、欄目級(局部公共)、頁面級 。如何劃分這個“作用域”呢?很簡單,全局的global就是公共級的;只在欄目中用到的局部global是屬于欄目級的;只影響單個頁面的就是屬于頁面級的了。

最后幾點要特別注意的:

    除了標簽選擇器之外,哪些類是使用于公共級、欄目級中的,如

    .tx_hit{color:#FF0000 !important;}

    的適用范圍是公共級的,應該放于全局的定義中。但,如果它只影響于某個欄目,那么就應該把它放于欄目級的作用域中。
    標簽選擇器一般屬于欄目定義,有時會用于公共級作用域中,除了最基礎的reset之外,應盡可能少使用在公共級定義中
    可繼承的屬性定義使用時須注意影響的范圍,特別是在標簽選擇器中使用時

主站蜘蛛池模板: 特级av毛片免费观看| 亚洲影院天堂中文av色| 欧美成人欧美va天堂在线电影| 亚洲熟妇久久精品| 人体内射精一区二区三区| 国产av激情无码久久| 国产精品久久久久久久久人妻 | 亚洲精品人成网线在线播放va| 精品人妻av一区二区三区| 精品国产sm最大网站| 少妇人妻中文字幕hd| 中文字幕在线亚洲日韩6页 | 欧洲多毛裸体xxxxx| 产后漂亮奶水人妻无码| 国内女人喷潮完整视频| 131美女mm爱做爽爽爽视频| 久久午夜无码鲁丝片直播午夜精品| 在线麻豆精东9制片厂av影现网| 美女被张开双腿日出白浆 | 在线日韩av免费永久观看| 国产精品99久久久久久宅男小说| 久久理论片琪琪电影院| 免费国产高清在线精品一区| 国产精品成人影院久久久| 日韩无套内射视频6| 无码专区一ⅴa亚洲v天堂| 欧美亚洲色欲色一欲www| 国产freexxxx性播放麻豆| a√天堂中文字幕在线熟女| 中文字幕人妻熟女av| 影音先锋女人av鲁色资源网久久| 一二三四视频在线观看日本| 日韩 亚洲 制服 欧美 综合| 97在线无码免费人妻短视频| 亚洲日本va午夜蜜芽在线电影| av在线中文字幕不卡电影网| 五月开心播播网| 欧美丰满熟妇xxxx性ppx人交| 大j8黑人w巨大888a片 | 日本不卡一区二区三区在线| 亚洲精品无码鲁网午夜|