css - 這種零碎的重復(fù)樣式該怎樣寫最優(yōu)~
問題描述
問題解答
回答1:沒有必要對(duì)一個(gè)個(gè)的零散的重復(fù)屬性糾結(jié),而應(yīng)該把重心放到可重用的模塊上。不然你會(huì)越來越無法自拔,題目中開頭那段代碼我覺得就是最好的
回答2:可以利用js
回答3:可以花個(gè)10分鐘了解一下sass
回答4:看公共代碼的代碼量 和 功能
假如你有3個(gè)元素
.demo1{position: absolute;border: 1px solid #000; } .demo2{position: absolute;border: 2px solid #f55; } .demo3{position: absolute;border: 3px solid #f30; }
它們都有一個(gè)公共的postion:absolute;然后你提取出來單獨(dú)寫
.demo1,.demo2,.demo3{position: absolute; }
可以看出,這樣毫無意義,就一條代碼,提不提出來都無所謂。。最多增強(qiáng)一點(diǎn)微不足道的可讀性
但是如果是一大串功能性代碼,比如清除浮動(dòng),那么肯定要提取出來方便復(fù)用,比如SASS的做法:
%clearfix { *zoom: 1; &:before, &:after {display: table;content: ’’; } &:after {clear: both;overflow: hidden; }}
那么隨便你再哪里調(diào)用它,比如
.demo1{@extend %clearfix;.....其他代碼}.nav{@extend %clearfix;......其他代碼}sub-nav{@extend %clearfix;......其他代碼}最后都會(huì)自動(dòng)合并為.demo1,.nav,.sub-nav{清除浮動(dòng)公共代碼}
其實(shí)這和JS的function一樣,大量復(fù)用的自然做成插件,單獨(dú)一句console.log(XXX),雖然也到處寫,難道你還需要給它做成個(gè)插件么?直接寫就行了,不用糾結(jié)
相關(guān)文章:
1. html5 - ElementUI table中el-table-column怎么設(shè)置百分比顯示。2. python - 使用readlines()方法讀取文件內(nèi)容后,再用for循環(huán)遍歷文件與變量匹配時(shí)出現(xiàn)疑難?3. 對(duì)mysql某個(gè)字段監(jiān)控的功能4. css3 - less或者scss 顏色計(jì)算的知識(shí)應(yīng)該怎么學(xué)?或者在哪里學(xué)?5. 注冊(cè)賬戶文字不能左右分離6. javascript - table列過多,有什么插件可以提供列排序和選擇顯示列的功能7. css - 網(wǎng)頁div區(qū)塊 像蘋果一樣可左右滑動(dòng) 手機(jī)與電腦8. javascript - 數(shù)組的過濾和渲染9. html - vue項(xiàng)目中用到了elementUI問題10. JavaScript事件
