问题:

login.vue中引入<style lang="postcss" src="./login.css" scoped></style>

login.css中

.el-input__inner {
    background-color: rgba(255,255,255,.2);
}

设置el-input的样式没有效果。

解决方法:

是因为scoped的原因。去掉scoped就可以显示样式。

但此时会污染全局样式,所以将该样式放在控制全局样式的文件里(比如app.css)。

为了不让所有的el-input都变透明,所以给需要透明的el-input添加一个类lucencyInput

.lucencyInput .el-input__inner {
    background-color: rgba(255,255,255,.2);
}

 原因:

elementUI默认样式修改不成功的问题

 

组件的scoped会给写的每一个样式添加一个唯一的过滤器[data-],对应的模板也会加一个data-属性,这样就保证了样式只对当前组件有效。

这样我们写的.el-input__inner会带一个过滤器,但是element组件中却没有,自然样式就不生效了。

ps:还有一种情况,像el-button这种,写在scoped的样式是生效的。因为el-button属于第一层,也会被当前组件加一个data-,

        而上面el-input__inner是属于el-input里面的类,当前组件只能给第一层el-input加一个data-,但是里层的相当于是子组件内部的东西了,是不会加data-的。

        (这里比较绕,可以打开浏览器,自己调试一下就明白了了)

相关文章:

  • 2021-08-14
  • 2021-05-30
  • 2022-12-23
  • 2022-12-23
  • 2022-12-23
  • 2021-11-08
  • 2022-12-23
  • 2021-06-21
猜你喜欢
  • 2021-12-30
  • 2022-12-23
  • 2022-12-23
  • 2021-05-02
  • 2022-12-23
  • 2022-12-23
  • 2021-09-29
相关资源
相似解决方案