下面我就為大家分享一篇vue裡面父元件修改子元件樣式的方法,具有很好的參考價值,希望對大家有幫助。 在使用 vue 的開發中,我們有時會引用外部元件,包括 UI 元件(ElementUI、iview)。 當 標籤有 scoped 屬性時,它的 CSS 只作用於目前元件中的元素。 </p> <p>但是在父元件中加入 scoped 之後,父元件的樣式將不會滲透到子元件中,所以在父元件中書寫子元件的樣式是無效果的。 </p> <p><span style="color: #ff0000"><strong>一、去掉scoped</strong></span></p> <p>在父元件的<style> 去掉scoped 後,父元件中可以書寫子元件的樣式,但是你會擔心這樣會污染全域樣式。 </p> <p>【因為我們知道正確使用全域樣式的姿勢是使用一個全域的app.css】</p> <p><span style="color: #ff0000"><strong>二、混用本地和全域樣式</strong></span> </p> <p>你可以在一個元件中同時使用有作用域和無作用域的樣式:</p><div class="code" style="position:relative; padding:0px; margin:0px;"><pre class="brush:php;toolbar:false;"><style> /* 全局样式 */ /* 本地样式 */ 登入後複製我們把需要修改子元件的樣式寫在上面那個全域樣式裡面三、使用深度作用選擇器如果你希望scoped 樣式中的一個選擇器能夠作用得“更深”,例如影響子組件,你可以使用>>> 運算子: .a >>> .b { /* ... */ } 登入後複製有些像SASS 之類的預處理器無法正確解析>>>。這種情況下你可以用 /deep/ 運算子取代 —— 這是一個 >>> 的別名,同樣可以正常運作。 OK,主要內容就是以上幾點。 需要額外補充的是: 1、透過v-html 建立的DOM 內容不受作用域內的樣式影響,但你仍然可以透過深度作用選擇器來為他們設定樣式 2、CSS 作用域不能取代class 3、在遞歸元件中小心使用後代選擇器 上面是我整理給大家的,希望今後對大家有幫助。 相關文章: 在JS中指令模式概念與用法(詳細教學) 使用selenium抓取淘寶資料資訊 使用百度地圖如何實作地圖網格#