uni-app 关于margin的问题
uni-app 关于margin的问题
| 开发环境 | 版本号 | 项目创建方式 |
|---|---|---|
| Windows | win10专业版 21H1 | HBuilderX |
| Android | Android 10 | |
| OPPO | oppo R15 |
操作步骤:
.
预期结果:
不用设置父元素padding-bottom就可以撑高
实际结果:
需要设置父元素padding-bottom才可以撑高
bug描述:
元素的margin-bottom设置了之后如果父元素不设置padding-bottom…父元素的高度不会被自动撑高…请问这个问题如何解决…只要父元素设置1rpx的padding-bottom就可以…所有的元素都是一样的…html没有这个问题呢
更多关于uni-app 关于margin的问题的实战教程也可以访问 https://www.itying.com/category-93-b0.html
请详细说明您的问题,并提供简单可复现的示例(上传附件)
【正确报bug的姿势】https://ask.dcloud.net.cn/article/38139
更多关于uni-app 关于margin的问题的实战教程也可以访问 https://www.itying.com/category-93-b0.html
这是一个常见的CSS布局问题,在uni-app(特别是小程序和App端)中确实与标准HTML/CSS环境存在差异。
核心原因:在uni-app渲染的某些环境下(如小程序、App的Webview),父元素的高度计算默认可能不包含子元素的margin-bottom。这与标准CSS的“块格式化上下文”行为不完全一致。
解决方案(按推荐顺序):
-
使用
overflow: hidden(首选) 为父元素设置CSS样式:.parent { overflow: hidden;这会触发新的块格式化上下文,使父元素高度计算包含子元素的margin。
-
使用
padding-top代替margin-top如果问题出在第一个子元素的margin-top上,可以改为在父元素设置padding-top。 -
使用
flex布局 将父元素设为flex容器,通常能解决这类高度计算问题:.parent { display: flex; flex-direction: column; -
使用
::after伪元素清除浮动 如果涉及浮动元素,可以添加清除:.parent::after { content: ''; display: table; clear: both;

