.box{
創(chuàng)新互聯(lián)建站是一家專注于成都網(wǎng)站設(shè)計(jì)、網(wǎng)站制作與策劃設(shè)計(jì),石城網(wǎng)站建設(shè)哪家好?創(chuàng)新互聯(lián)建站做網(wǎng)站,專注于網(wǎng)站建設(shè)十多年,網(wǎng)設(shè)計(jì)領(lǐng)域的專業(yè)建站公司;建站業(yè)務(wù)涵蓋:石城等地區(qū)。石城做網(wǎng)站價(jià)格咨詢:18982081108
border:1px solid;
}
div className='box' /div
在組件中使用scoped屬性,父組件的style樣式將不會(huì)滲透到子組件中,然而子組件的根節(jié)點(diǎn)元素會(huì)同時(shí)被設(shè)置了scoped的父css樣式和設(shè)置了scoped的子css樣式影響,這么設(shè)計(jì)的目的是父組件可以對(duì)子組件根元素進(jìn)行布局
最近項(xiàng)目中要求實(shí)現(xiàn)夜間模式,整理一下實(shí)現(xiàn)方法。
ps. 我們的項(xiàng)目是混合開(kāi)發(fā),所以夜間模式要通過(guò)原生交互實(shí)現(xiàn),如果直接是h5項(xiàng)目,則可省去原生交互這塊。
step1?原生交互方法
step2? 獲取模式方法
step3?實(shí)現(xiàn)方法
1、使用css大類區(qū)分
2、針對(duì)不同class類定義css屬性全局變量
3、全局引入樣式文件(main.js中引入)
4、頁(yè)面中可定義css私有變量(包含頁(yè)面中特殊的顏色屬性,不止涉及亮度更改的圖片)
變量定義規(guī)范:--(頁(yè)面名稱)-自定義
???建議將白天與夜間模式圖片區(qū)分兩個(gè)文件夾存儲(chǔ)
5、變量使用規(guī)范
總結(jié):
1、注意css變量的使用的兼容性,例如安卓5的手機(jī)可能識(shí)別不了變量,解決方法:postcss可以試試看
2、如果項(xiàng)目中已使用less,可直接用less來(lái)實(shí)現(xiàn),現(xiàn)未發(fā)現(xiàn)其兼容性問(wèn)題(下一篇文章我會(huì)寫(xiě)less實(shí)現(xiàn)夜間模式)
可能是因?yàn)闉g覽器緩存了樣式文件導(dǎo)致。
可以在css文件引用的末尾隨便加個(gè)請(qǐng)求參數(shù),如:main.css?v=201804091834,瀏覽器就以為是個(gè)新文件,然后從服務(wù)器重新下載該文件。
el-table-column并不是一個(gè)dom節(jié)點(diǎn),所以infotext這個(gè)類究竟用在哪,需要看下el-table-column這個(gè)組件的實(shí)現(xiàn)才知道。
用了第三方組件的必然都會(huì)遇到你這樣的問(wèn)題,我說(shuō)下我的解決方法,不一定是好的。
一個(gè)vue文件可以寫(xiě)多個(gè)style/style,加上socped代表本組件的樣式,不污染全局。如果需要覆蓋第三方組件樣式,則不能加scoped,因此需要另寫(xiě)一個(gè)style.xxx-component{...}/style,這里用一個(gè)大類包裹防止污染全局。
接著,我用比較笨的方法(有好的方法請(qǐng)告知),就是打開(kāi)f12檢查究竟要覆蓋哪些樣式,然后寫(xiě)在沒(méi)有加scoped的style里即可。
其實(shí)一些好的第三方UI庫(kù)都有提供自定義樣式的方法的,這樣實(shí)現(xiàn)起來(lái)才是最便捷的。