css - 這種零碎的重復樣式該怎樣寫最優~
問題描述
問題解答
回答1:沒有必要對一個個的零散的重復屬性糾結,而應該把重心放到可重用的模塊上。不然你會越來越無法自拔,題目中開頭那段代碼我覺得就是最好的
回答2:可以利用js
回答3:可以花個10分鐘了解一下sass
回答4:看公共代碼的代碼量 和 功能
假如你有3個元素
.demo1{position: absolute;border: 1px solid #000; } .demo2{position: absolute;border: 2px solid #f55; } .demo3{position: absolute;border: 3px solid #f30; }
它們都有一個公共的postion:absolute;然后你提取出來單獨寫
.demo1,.demo2,.demo3{position: absolute; }
可以看出,這樣毫無意義,就一條代碼,提不提出來都無所謂。。最多增強一點微不足道的可讀性
但是如果是一大串功能性代碼,比如清除浮動,那么肯定要提取出來方便復用,比如SASS的做法:
%clearfix { *zoom: 1; &:before, &:after {display: table;content: ’’; } &:after {clear: both;overflow: hidden; }}
那么隨便你再哪里調用它,比如
.demo1{@extend %clearfix;.....其他代碼}.nav{@extend %clearfix;......其他代碼}sub-nav{@extend %clearfix;......其他代碼}最后都會自動合并為.demo1,.nav,.sub-nav{清除浮動公共代碼}
其實這和JS的function一樣,大量復用的自然做成插件,單獨一句console.log(XXX),雖然也到處寫,難道你還需要給它做成個插件么?直接寫就行了,不用糾結
相關文章:
1. java中返回一個對象,和輸出對像的值,意義在哪兒2. javascript - Img.complete和img.onload判斷圖片加載完成有什么區別?3. css - chrome下a標簽嵌套img 顯示會多個小箭頭?4. vim - docker中新的ubuntu12.04鏡像,運行vi提示,找不到命名.5. docker網絡端口映射,沒有方便點的操作方法么?6. mysql - 在不允許改動數據表的情況下,如何優化以varchar格式存儲的時間的比較?7. mysql 為什么主鍵 id 和 pid 都市索引, id > 10 走索引 time > 10 不走索引?8. css3 - 純css實現點擊特效9. css - 網頁div區塊 像蘋果一樣可左右滑動 手機與電腦10. javascript - 有適合開發手機端Html5網頁小游戲的前端框架嗎?
