uni-app input样式height无效
uni-app input样式height无效
开发环境 | 版本号 | 项目创建方式 |
---|---|---|
HBuilderX | 1.2.1 |
关于 input 组件设置高度不生效的问题:input 组件上有默认的 min-height 属性,要一起修改,如果 min-height 的值大于 height 那么高度以 min-height 为准。(相关知识点:https://developer.mozilla.org/zh-CN/docs/Web/CSS/min-height)
更多关于uni-app input样式height无效的实战教程也可以访问 https://www.itying.com/category-93-b0.html
这个问题从uni出生到现在都没改,我认为是官方没有能力修改那几行样式,或者他们的电脑坏了
这个问题还没有解决,顶起来
input 框外面加一层view,设置view的高度,用flex布局垂直居中对齐,设置超出隐藏
<view class="search-input">
<input class="input-controller" type="text" />
<button class=“btn-search” @click=“getList”><text class="cuIcon-search icon-search"></text></button>
</view>
.search-input {
display: flex;
align-items: center;
height: 50px;
padding: 12px 13px;
border-radius: 5px;
}
.input-controller {
flex: 1;
}
这个问题还没有解决大家顶起来啊
现在input想去设置背景色没门,丑死了,高度没法缩小,容器稍小一点全溢出去了,这么久了,这个问题能解决不了?
这个input组件确实没办法设置高度,建议官方去掉input组件的样式,让用户自定义
这个问题对于开发 PC或者H5的小伙伴来说,简直就是灾难性的…
为什么要预设一个固定高度呢?
可以设置PC端不显示呀.
希望uniapp官方可以帮我们解决这个问题.
官方难道看不到这个帖子吗?为什么不回一句呢?不回也好,那你倒是默默的把input的内联样式的最低高度去掉啊!整整一年了!!!
uni-input {
height: 112upx;
line-height: 112upx;
div{
height: inherit;
}
}
这么大的bug,我 在 群里 @ 官方各位管理,没有人回应啊! 估计官方解决不了
这不是bug吗, 就应该这样?
回复 3***@qq.com:uni-app 我知道input组件的高度问题解决方案,在input外部嵌套一层view,然后input设置很高就可以了’
@mail@95jw.cn:你试试把input背景色改一下,看看变成神马样子
请提供一下测试demo,这边测试的结果只是 H5 上浏览器的光标高度不太一样,组件的高度是正确的。
应该是有最小高度。我在1440的浏览器上面 element.style { height: 98px; line-height: 98px; color: rgb(0, 0, 0); }。最小高度是98 .如果我写的小于98都是98. 大于98就按我写的
一个input98px高度。 很好看么
回复 3***@qq.com:我测试的是50px和100px,以及你提到的98px,都是预期高度。
回复 3***@qq.com:切换成手机模拟器,并不会适配PC的大屏浏览器。
手机上,input组件的高度没法缩小(似乎有最小高度,大概一指宽)。如果没有背景色或边框,从布局上看不出来什么,但加上边框和背景色,您再看看成什么样了?
顶起来.
没有解决
强列建议官方的/src/core/view/components/input/index.vue的第173~181行代码不要设置input及里面的元素高度,用户自已定义就行了哇。。。
我也遇到类似问题,input在初始化时如果是隐藏的,结果计算出placeholder的height=0 line-height=0,我都赋值高度了还被改成0,建议官方高度由用户自己定义,不要把我改了
这个输入框搞死我了,高度死活自定义不了
直接给input加上一个类名,通过类名去设置高度和行高好像能行
这个该死的问题,我倒是一直觉得我css还不够纯熟……但也没有这样打击人的。
对于h5的话,我用这个代码就可以操作uni-input里的input元素
input div, input div * {
min-height: 0;
height: 100% !important;
line-height: 100% !important;
}
input的样式也无法覆盖
uni-input {
height: inherit !important;
min-height: 40px !important;
border: 1px solid red;
}
uni-input>div {
min-height: inherit !important;
}
uni-input>div>input {
height: 40px !important;
line-height: 40px !important;
min-height: 40px !important;
}
uni-input>div>div {
min-height: 40px !important;
font-size: 14px;
}
uni-input,
uni-input input {
font-family: UICTFontTextStyleBody;
min-height: 40px !important;
}
uni-input, uni-input *{
font-family:PingFangSC-Regular !important;
height:inherit;
min-height:14px !important;
}
试过能改
height: 50px;
minhight: 50px;
这两个样式同时使用可改高度,再把改为flex布局,把显示的内容上下居中
height: 50px;
minhight: 50px;
这两个样式同时使用可改高度,再把改为flex布局,把显示的内容上下居中
height: 50px;
minhight: 50px;
这两个样式同时使用可改高度,再把改为flex布局,把显示的内容上下居中
height: 50px;
minhight: 50px;
这两个样式同时使用可改高度,再把改为flex布局,把显示的内容上下居中
我也 出现这个问题,H5端审查发现 input高度控制不生效,而uni-input 确实是我设置的尺寸,子元素input就不是。
使用less,/deep/ 穿透 .text是我input 的class ,强制选择下面的 所有元素
.text {
width: 100%;
position: absolute;
z-index: 2;
left: 0;
box-sizing: border-box;
/deep/ {
height:10upx!impotant; (这里必须加important。因为他是行内元素)
position: absolute;
width: 100%;
left: 0;
padding-left: 180upx;
box-sizing: border-box;
}
}
我是这样改的。。目前没找到很好的办法。。。。这个有问题点恶心
/deep/ 后面有个 星号没显示出来,就是小键盘减号旁边的那个
参考最佳回复
在uni-app中,input组件的高度设置确实有一些需要注意的地方。以下是解决方案:
- 使用padding替代height:
.input-class {
padding: 20rpx 0;
}
- 如果需要精确控制高度,可以配合line-height使用:
.input-class {
height: 60rpx;
line-height: 60rpx;
padding: 0 10rpx;
}
- 对于H5平台,可以尝试添加box-sizing:
.input-class {
box-sizing: border-box;
height: 60rpx;
}
- 如果使用uni-ui的input组件,建议通过props设置高度:
<uni-easyinput type="text" :styles="{height:'60rpx'}"></uni-easyinput>