针对问题vue + element-ui/ iview 不能调整input高度
上面以element-ui举例。
如:在页面中写了一个<el-input>
加上类名,在<style>标签中设置class,高度没有扭转(但宽度设置有成果),间接在el-input上设置style属性也没有成果,甚至加上了!important还是没有成果。
查看网页html元素发现
实际上<el-input>是创立了一个<div>,而原生的<input>是这个<div>的子元素,
<input>的属性是 display: inline-block; width: 100%; height: 40px; line-height: 40px;
width: 100%; 可能继承父元素的宽度,因而给<el-input>设置宽度无效。
而设置高度有效,会被el-input的默认款式 .el-input__inner笼罩
解决办法是利用vue的 深度选择器 >>> 默认类名 笼罩掉默认款式。
(官网阐明文档里也用的是>>>),如果遇到sass/less (Sass 3就变成了Scss)之类的预处理器无奈辨认>>>,能够改写为::v-deep 或者 /deep/ 这两者都是>>>的别名。
应用办法:
在<style>标签上加上scope属性,找到ui框架的原生款式类名(能够通过html页面中f12找到元素来获取)
(深度选择器是vue的个性,应用不依赖sass或less等css预编译器)
实测在"scss"预编译器中 >>> 换成::v-deep或者/deep/也能够失效。
(注:必须在编译环境中,通过编译器解决后才能够,纯前端引入vue、element-ui是不行的)
搬运自本人的语雀
https://www.yuque.com/diracke...