uni-app 设置view的border后出现类似padding的间距
uni-app 设置view的border后出现类似padding的间距
操作步骤:
如上所述
预期结果:
如上所述
实际结果:
如上所述
bug描述:
view加了border和没加border的区别
图片


更多关于uni-app 设置view的border后出现类似padding的间距的实战教程也可以访问 https://www.itying.com/category-93-b0.html
6 回复
你把这一块的代码发一下 是 border: 1rpx solid red;这种么
更多关于uni-app 设置view的border后出现类似padding的间距的实战教程也可以访问 https://www.itying.com/category-93-b0.html
我用的vw,就会这样。用px不会。 但是px不适用移动端, 用rpx也是会。只有px不会
给段代码我试下 我也很好奇,为什么会这样
你写一个box,里面在写一个定位右上角的。 然后对box写边框。就复现了。
我没有遇到这种情况,主要是
在 uni-app 中,如果你为 view 设置了 border 后,发现出现了类似 padding 的间距,可能是由于以下几个原因导致的:
1. 默认的 box-sizing 属性
- 默认情况下,
box-sizing的值为content-box,这意味着border和padding会添加到元素的宽度和高度之外。如果你设置了border,那么元素的整体尺寸会增加,可能会导致布局发生变化。 - 解决方法:将
box-sizing设置为border-box,这样border和padding会包含在元素的宽度和高度之内。
view {
box-sizing: border-box;
}
2. margin 或 padding 的影响
- 检查是否有默认的
margin或padding影响了布局。某些情况下,浏览器或框架可能会为元素添加默认的margin或padding。 - 解决方法:显式地设置
margin和padding为0,或者根据需要调整。
view {
margin: 0;
padding: 0;
}
3. line-height 的影响
- 如果
view内部有文本内容,line-height可能会影响元素的垂直对齐,导致出现类似padding的间距。 - 解决方法:调整
line-height或使用display: flex来更好地控制布局。
view {
display: flex;
align-items: center;
}
4. border 的宽度
- 如果你设置了
border,确保border的宽度不会影响布局。例如,如果你设置了border: 1px solid black;,那么元素的宽度和高度会增加2px(左右或上下各1px)。 - 解决方法:如果需要精确控制布局,可以在计算宽度和高度时考虑
border的宽度。
5. flex 布局的影响
- 如果
view是flex容器的一部分,flex布局可能会导致一些意外的间距。检查flex相关的属性,如justify-content、align-items等。 - 解决方法:根据需要调整
flex布局的属性。
.container {
display: flex;
justify-content: space-between;
}
6. border-collapse 的影响
- 如果你在表格中使用
border,border-collapse属性可能会影响边框的显示方式。 - 解决方法:将
border-collapse设置为collapse。
table {
border-collapse: collapse;
}
7. outline 的影响
outline和border类似,但outline不会影响布局。如果你同时使用了outline和border,可能会导致视觉上的间距。- 解决方法:检查是否有
outline属性,并根据需要调整。
view {
outline: none;
}
8. transform 或 position 的影响
- 如果你使用了
transform或position属性,可能会导致元素的位置发生变化,从而出现类似padding的间距。 - 解决方法:检查
transform和position属性,并根据需要调整。
view {
position: relative;
top: 0;
left: 0;
}

