样式冲突解决
在vue文件中封装的组件,其他的组件也都使用,其中要想在其中一个组件中添加样式,使用的是标签选择器,这时候,这个标签就会被全局化,不仅这个vue文件里的组件修改了样式,页面中的所有对应的标签都会修改样式。
- 在当前组件中添加独一无二的属性,类名,id等。
- 在当前组件中的style标签中添加一个scoped属性,不赋任何值,这时候vue底层就会默认为这个组件里面的所有标签添加一个data-v-数字加英文的属性,再用标签选择器使用就只对本vue文件里的组件产生样式。
vue文件中父组件为子组件添加样式
再解决vue组件样式后,如果使用的是为style标签中添加一个scoped属性,
那么在为子组件添加样式时不起作用,需要在操作子组件样式的前面添加一个 /deep/ 。
/deep/ 标签名{
}
- 前者必须要在style中要有scoped属性,两者必须一起使用,否则添加样式失效。
- 两者都不加就会全局为所有的相同的标签添加样式。