vue组件中的style标签标有scoped属性时表明style里的css样式只适用于当前组件元素 (我是在子组件里面修改样式 发现class没有添加成功)
一、 如何解决
很简单将去掉 style 的 scoped 属性。
问题是解决了 但又衍生出新的问题 这样会污染全局样式
二、关于子组件的根元素
使用了scoped属性之后,父组件的style样式将不会渗透到子组件中,然而子组件的根节点元素会同时被设置了scoped的父css样式和设置了scoped的子css样式影响,这么设计的目的是父组件可以对子组件根元素进行布局。
.vue模板中的样式是根据需要按需加载,访问一个页面该组件中的样式就会追加到head标签中,如果父子组件中都对某个子组件根节点元素进行了控制,则父组件里的样式会被后来的覆盖。
三、vue开发中,父组件添加scoped之后。解决在父组件中无法修改子组件样式问题
在vue的开发中,我们需要引用子组件,包括ui组件(element、iview)。但是在父组件中添加scoped之后,在父组件中书写子组件的样式是无效果的。去掉scoped之后,样式可以覆盖。但这样会污染全局样式,为了解决这个问题,vue-loader新增书写方式。 一些预处理程序,例如sass不能解析>>>属性,这种情况下可以用::v-deep,它是>>>的别名,工作原理相同。