css - 這種零碎的重復(fù)樣式該怎樣寫(xiě)最優(yōu)~
問(wèn)題描述
問(wèn)題解答
回答1:沒(méi)有必要對(duì)一個(gè)個(gè)的零散的重復(fù)屬性糾結(jié),而應(yīng)該把重心放到可重用的模塊上。不然你會(huì)越來(lái)越無(wú)法自拔,題目中開(kāi)頭那段代碼我覺(jué)得就是最好的
回答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;然后你提取出來(lái)單獨(dú)寫(xiě)
.demo1,.demo2,.demo3{position: absolute; }
可以看出,這樣毫無(wú)意義,就一條代碼,提不提出來(lái)都無(wú)所謂。。最多增強(qiáng)一點(diǎn)微不足道的可讀性
但是如果是一大串功能性代碼,比如清除浮動(dòng),那么肯定要提取出來(lái)方便復(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),雖然也到處寫(xiě),難道你還需要給它做成個(gè)插件么?直接寫(xiě)就行了,不用糾結(jié)
相關(guān)文章:
1. [前端求職必看]前端開(kāi)發(fā)面試題與答案精選_擴(kuò)展問(wèn)題2. javascript - 在top.jsp點(diǎn)擊退出按鈕后,right.jsp進(jìn)行頁(yè)面跳轉(zhuǎn),跳轉(zhuǎn)到login.jsp3. javascript - 下面的這段算法代碼求解釋4. mac連接阿里云docker集群,已經(jīng)卡了2天了,求問(wèn)?5. css3 - 在sublime text里, 如何讓emmet生成的帶前綴css屬性垂直對(duì)齊?6. javascript - js 有什么優(yōu)雅的辦法實(shí)現(xiàn)在同時(shí)打開(kāi)的兩個(gè)標(biāo)簽頁(yè)間相互通信?7. java - spring-data Jpa 不需要執(zhí)行save 語(yǔ)句,Set字段就可以自動(dòng)執(zhí)行保存的方法?求解8. android - 哪位大神知道java后臺(tái)的api接口的對(duì)象傳到前端后輸入日期報(bào)錯(cuò),是什么情況?求大神指點(diǎn)9. javascript - angular中如何創(chuàng)建一個(gè)能被不同模塊中組件都能訪問(wèn)其屬性和方法的對(duì)象10. 想找個(gè)php大神仿個(gè)網(wǎng)站。
