zoukankan      html  css  js  c++  java
  • 关于element ui input、以及button样式不能覆盖的解决办法(登录页面)

    在做登录界面的时候,因为没有进行手写html以及样式,使用了elementui的样式,我页面的需求是要自适应屏幕的,所以就要将所有的元素都要进行宽高写成百分比的形式,

    这个时候就需要修改element ui  中元素的样式,

    以用户名输入框为例子   首先想到的就是重写input样式,找到页面中元素的class,然后重新写上一个样式,

    如下:

        .login-form__item{
            margin-bottom: 20px;
            
            .el-input__inner {
                height: 60px !important;
                background-color:red !important;
            }
        }

    但是写上之后,问题来了怎么都不生效  important 我也加上了

    原因:

      因为我在页面中样式写了 scoped,vue-load官网中有说明,使用了scoped之后父组件中写的样式将不会渗透到子组件中去

    参照官网地址:

      https://vue-loader.vuejs.org/zh/guide/scoped-css.html 

    截图:

     解决办法:

    第一种:可以混用style   混用本地的和全局样式

    你可以在一个组件中同时使用有 scoped 和非 scoped 样式:

    <style>
    /* 全局样式 */
    </style>
    
    <style scoped>
    /* 本地样式 */
    </style>

    这种可以解决问题,但是容易搞混淆,将input的样式写在全局当然就不合适了

    第二种:深度作用选择器

    如果你希望 scoped 样式中的一个选择器能够作用得“更深”,例如影响子组件,你可以使用 >>> 操作符:

    <style scoped>
    .a >>> .b { /* ... */ }
    </style>

    编译之后

    .a[data-v-f3f3eg9] .b { /* ... */ }

    但是有一个问题

    有些像 Sass 之类的预处理器无法正确解析 >>>。这种情况下你可以使用 /deep/::v-deep 操作符取而代之——两者都是 >>> 的别名,同样可以正常工作。

        .login-form__item{
            margin-bottom: 20px;
            
            /deep/ .el-input__inner {
                height: 60px;
                background-color:red;
            }
        }

    完美解决问题

  • 相关阅读:
    C++中的explicitkeyword
    SQLite数据库查看工具(免费)
    C Tricks(十九)—— 求以任意数为底的对数
    分治法(divide & conquer)与动态规划(dynamic programming)应用举例
    分治法(divide & conquer)与动态规划(dynamic programming)应用举例
    C++组合数(combination)的实现
    C++组合数(combination)的实现
    算法求解方法与思路的总结
    算法求解方法与思路的总结
    使用 STL 辅助解决算法问题
  • 原文地址:https://www.cnblogs.com/pengfei25/p/12309967.html
Copyright © 2011-2022 走看看