欢迎来到代码驿站!

vue

当前位置:首页 > 网页前端 > vue

vue如何使用vant组件的field组件disabled修改默认样式

时间:2023-03-13 12:13:19|栏目:vue|点击:

使用vant组件的field组件disabled修改默认样式

由于vue开发时会在style加上scoped避免全局污染,所以正常开发时直接修改外部组件(vant)的样式时会不生效,我们把scoped删除后会发现样式是可以生效的。

但是scoped是肯定不能不要的。

所以我们可以用 /deep/(深度)来修改样式

举例 —— 修改vant —— field组件disabled情况下的字体默认样式

  /deep/.van-field__control:disabled,
  /deep/.van-field__control[disabled] {
    color: #000;
    opacity: 1;
    -webkit-text-fill-color: #000; // ios 和 安卓9.0 必须添加此属性,才会生效
    -webkit-opacity: 1;
  }

/deep/ 方法已经舍弃 建议用最新的 

vue+vant修改样式

1.当<style>没有scoped时

在浏览器的开发者工具(F12)里定位到你要修改的组件上

在这里插入图片描述

比如说我需要修改这个span里的文字大小,可以找到class=".van-tab__text–ellipsis",然后在你的<style>里直接写样式他会覆盖原来vant组件默认的样式

在这里插入图片描述

2.有scoped时

很多时候我们只想要修改当前页面的这个组件样式,就不可避免要用到scoped,但如果还是像上面的方法修改的话会发现修改无效,这时需要用到深度选择器

.>>>

可用于項目中的css原生样式,那么可以直接使用 >>>

.a >>> .b { 
}

/deep/(同::v-deep)

项目中使用预处理器,如sass less等 都可以用 /deep/

/*这样*/
.a {
 /deep/ .b { 
 }
} 
/*或者这样*/
.a /deep/ .b { 
 
 }

比如此处:

在这里插入图片描述

在这里插入图片描述

有一个注意点:有小伙伴可能没有找到此时class的上一级class,比如上图的.van-tabs–card,那么自己动手把要修改的组件用一个div包起来,给它自定义一个class就好了

上一篇:vue如何通过props方式在子组件中获取相应的对象

栏    目:vue

下一篇:没有了

本文标题:vue如何使用vant组件的field组件disabled修改默认样式

本文地址:http://www.codeinn.net/misctech/227393.html

推荐教程

广告投放 | 联系我们 | 版权申明

重要申明:本站所有的文章、图片、评论等,均由网友发表或上传并维护或收集自网络,属个人行为,与本站立场无关。

如果侵犯了您的权利,请与我们联系,我们将在24小时内进行处理、任何非本站因素导致的法律后果,本站均不负任何责任。

联系QQ:914707363 | 邮箱:codeinn#126.com(#换成@)

Copyright © 2020 代码驿站 版权所有