uni-app 设置view的border后出现类似padding的间距
uni-app 设置view的border后出现类似padding的间距
操作步骤:
如上所述
预期结果:
如上所述
实际结果:
如上所述
bug描述:
view加了border和没加border的区别
图片
6 回复
你把这一块的代码发一下 是 border: 1rpx solid red;这种么
我用的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;
}