vue裡面父元件如何修改子元件樣式
在使用 vue 的開發中,我們有時會引用外部元件,包括 UI 元件(ElementUI、iview)。
當
<style>
標籤有
scoped
屬性時,它的 CSS 只作用於當前元件中的元素。
但是在父元件中新增
scoped
之後,父元件的樣式將不會滲透到子元件中,所以在父元件中書寫子元件的樣式是無效果的。
一、去掉 scoped
在父元件的 <style>
中去掉 scoped
後,父元件中可以書寫子元件的樣式,但是你會擔心這樣會汙染全域性樣式。
【因為我們知道正確使用全域性樣式的姿勢是使用一個全域性的 app.css】
二、混用本地和全域性樣式
你可以在一個元件中同時使用有作用域和無作用域的樣式:
<style>
/* 全域性樣式 */
</style>
<style scoped>
/* 本地樣式 */
</style>
我們把 需要修改子元件的樣式 寫在上面那個全域性樣式裡面
三、使用深度作用選擇器
如果你希望 scoped
樣式中的一個選擇器能夠作用得“更深”,例如影響子元件,你可以使用 >>> 操作符:
<style scoped>
.a >>> .b {
/* ... */
}
</style>
有些像 SASS 之類的前處理器無法正確解析 >>>。這種情況下你可以用 /deep/ 操作符取而代之 —— 這是一個 >>> 的別名,同樣可以正常工作。
需要額外補充的是:
1、通過 v-html 建立的 DOM 內容不受作用域內的樣式影響,但是你仍然可以通過深度作用選擇器來為他們設定樣式
2、CSS 作用域不能代替 class
3、在遞迴元件中小心使用後代選擇器
相關文章
- vue父元件中修改子元件樣式Vue元件
- vue2.0子元件修改父元件資料Vue元件
- vue 子元件為何不可以修改父元件傳遞的值?Vue元件
- Vue 子元件呼叫父元件方法總結Vue元件
- vue子元件向父元件傳遞值Vue元件
- Vue子元件接收父元件傳值方式Vue元件
- vue元件巢狀之 - 父元件向子元件傳值Vue元件巢狀
- vue裡面修改title樣式Vue
- 【VUE入門】父元件給子元件傳值Vue元件
- Vue.js子元件向父元件通訊Vue.js元件
- 2.Vue子元件給父元件通訊Vue元件
- VUE 父元件動態傳值給子元件Vue元件
- vue子元件怎麼呼叫父元件的方法Vue元件
- vue子元件向父元件傳值(實戰)Vue元件
- vue子元件怎麼向父元件傳值Vue元件
- vue 基礎入門筆記 13:父元件向子元件傳值、父元件向子元件傳遞方法Vue筆記元件
- Vue子元件與父元件之間的通訊Vue元件
- Vue(13)子元件與父元件超詳細解析Vue元件
- Angular元件——父元件呼叫子元件方法Angular元件
- React 父元件如何主動“聯絡”子元件React元件
- 如何實現子元件向父元件傳值元件
- 小程式 | 如何在頁面修改元件樣式?渲染出來的元件列表,如何個性化樣式?元件
- 元件(子傳父)元件
- 父元件向子元件傳值元件
- 子元件向父元件傳參元件
- Vue 子元件不重新整理,父元件資料改變子元件不變化Vue元件
- VUE父級使用子元件以插槽的形式,在父級修改內容任意向子級插入Vue元件
- 2018-04-04(Vue父元件獲取子元件的值)Vue元件
- vue 父元件props傳值子元件時 的更新問題Vue元件
- vue 父元件在created中傳值給子元件,子元件去監聽props變化Vue元件
- 子元件給父元件傳資料元件
- Vue : props 使用細節(父元件傳遞資料給子元件)Vue元件
- vue3 父元件給子元件傳遞泛型(不用JSX)Vue元件泛型JS
- Vue 子元件和父元件傳遞資料與方法的例子Vue元件
- vue3 父元件【屬性】傳值給子元件【props】接收Vue元件
- vue中子元件傳遞父元件$emitVue元件MIT
- 筆記1:vue 利用props 父到子元件傳值(初識元件)筆記Vue元件
- vue中在父元件點選按鈕觸發子元件的事件Vue元件事件