vue對插件(iview,elementui,treeselect)樣式的局部修改方式
(iview,elementui,treeselect)樣式的局部修改
學(xué)習(xí)描述
在vue的使用過程中,我們知道插件的使用可以大大的提高我們的開發(fā)效率,這寫插件都是經(jīng)過很多人的驗證和修改的,要比我們自己寫方便的很多。
但是在開發(fā)的過程中,有些插件一些在特定的頁面我們可能不要原來的樣式,需要進行修改。然而我們在使用vue的過程中都會使用scope防止當(dāng)前頁面的樣式污染到其它的頁面,可是這樣也就導(dǎo)致了我們修改了插件的樣式無法起到作用。只有全局修改才能起到作用。
那么有沒有別的方式,既能修改插件的樣式而且有不會污染到全局的樣式呢? 答案是:有的
具體方法
1> /deep/ 深層穿透
scoped能有效的方式樣式的全局污染,但是同時也是阻止了我們對第三方插件樣式的修改,使用/deep/樣式穿透既可以達(dá)到修改第三方插件樣式的效果,而且不會對全局造成污染。
? /deep/ .ivu-tooltip-light .ivu-tooltip-inner {
? ? background-color: #ecc9e2;
? ? color: #f30000;
? }2> >>>
其實這個就是/deep/的另外一種寫法,只不過,可能有些sass,less之類的預(yù)處理無法正確的解析,所以最好是使用/deep/.
? >>> .ivu-tooltip-light .ivu-tooltip-inner {
? ? background-color: #ecc9e2;
? ? color: #f30000;
? }注意:穿透方法實際上違反了scoped屬性的意義。而且在vue中過多使用scoped導(dǎo)致頁面打包文件體積增大。
vue+iview 樣式穿透-修改第三方插件樣式
修改第三方插件樣式
方法一:
在以前沒有用深度選擇器的時候,當(dāng)想修改第三方插件樣式時,通常做法都是在公共樣式表文件中,加一個.zujian-parent-class .disanfang-class來修改。
例如我想修改iview單元格樣式:
common.styl文件中這樣寫
.first-table .ivu-table-cell ?? ?padding-left: 10px;
方法二:
和方法一差不多的還可以在組件內(nèi)寫一個無scoped的
<style lang="stylus"> /*此處寫覆蓋樣式*/ .first-table .ivu-table-cell ?? ?padding-left: 10px; </style> <style lang="stylus" scoped> /*此處寫局部樣式*/ </style>
方法三:
用深度選擇器形成樣式穿透是一個更好的選擇,這樣不用擔(dān)心同名類造成樣式污染
page.vue組件中
<style lang="stylus" scoped>
? ? /*樣式穿透 可以使用/deep/ >>> ::v-deep?
? ? 具體使用哪個根據(jù)不同的語言、版本以及webpack版本(webpack2.X的一般不能用 >>>)有所不同 */
? ? .first-table ?/deep/ .ivu-table-cell {
? ? ? ? height: 37px;
? ? ? ? line-height:37px;
? ? }
</style>注意:/deep/ >>> ::v-deep 注意事項:
組件內(nèi)部類無法穿透成功。
例如下單菜單組件,最外層的.ivu-dropdown可以,但是其下一層.ivu-dropdown-rel是無法穿透的。
經(jīng)驗證,以ivewui為例,組件最外層的類都是可以的,但是組件內(nèi)部的類通過第三種方法有些是無法生效的。其實這也是根據(jù)具體組件的加載先后決定的。
以上為個人經(jīng)驗,希望能給大家一個參考,也希望大家多多支持腳本之家。
- Vue+EleMentUI實現(xiàn)el-table-colum表格select下拉框可編輯功能實例
- vue+elementUI的select下拉框回顯為數(shù)字問題
- vue之elementUi的el-select同時獲取value和label的三種方式
- vue elementui表格獲取某行數(shù)據(jù)(slot-scope和selection-change方法使用)
- Vue+ElementUI?封裝簡易PaginationSelect組件的詳細(xì)步驟
- 解決vue elementUI 使用el-select 時 change事件的觸發(fā)問題
- vue中echarts的用法及與elementui-select的協(xié)同綁定操作
- vue elementUI select下拉框如何設(shè)置默認(rèn)值
相關(guān)文章
Vue3將虛擬節(jié)點渲染到網(wǎng)頁初次渲染詳解
這篇文章主要為大家介紹了Vue3將虛擬節(jié)點渲染到網(wǎng)頁初次渲染詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進步,早日升職加薪2023-03-03
vue3?element-plus實現(xiàn)圖片預(yù)覽功能實例
這篇文章主要給大家介紹了關(guān)于vue3?element-plus實現(xiàn)圖片預(yù)覽功能的相關(guān)資料,在項目中我們經(jīng)常會碰到圖片預(yù)覽的功能需求,文中通過代碼示例介紹的非常詳細(xì),需要的朋友可以參考下2023-09-09
vue報錯Failed to execute 'appendChild&apos
這篇文章主要為大家介紹了vue報錯Failed to execute 'appendChild' on 'Node'解決方法詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進步,早日升職加薪2022-11-11
element中datepicker日期選擇器選擇周一到周日并實現(xiàn)上一周和下一周的方法
最近項目中需要用到日期選擇器,所以這里給大家總結(jié)下,這篇文章主要給大家介紹了關(guān)于element中datepicker日期選擇器選擇周一到周日并實現(xiàn)上一周和下一周的相關(guān)資料,需要的朋友可以參考下2023-09-09
vue實現(xiàn)文章內(nèi)容過長點擊閱讀全文功能的實例
下面小編就為大家分享一篇vue實現(xiàn)文章內(nèi)容過長點擊閱讀全文功能的實例,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧2017-12-12
解決vue-cli項目開發(fā)運行時內(nèi)存暴漲卡死電腦問題
最近開發(fā)一個vue項目時遇到電腦卡死問題,突然間系統(tǒng)就非???,然后卡著卡著就死機了,鼠標(biāo)也動不了了,只能冷啟動。這篇文章主要介紹了vue-cli項目開發(fā)運行時內(nèi)存暴漲卡死電腦問題,需要的朋友可以參考下2019-10-10

