请问移动 h5 overflow-y: scroll +下边距为什么会导致内容高度偏移(失真?)如何解决?

作者站长头像
站长
· 阅读数 23

父级容器 48px 高度,子容器 44px 高度 + 4px 下边距请问移动 h5 overflow-y: scroll +下边距为什么会导致内容高度偏移(失真?)如何解决?

一、父容器设置 overflow-y: auto,高度应该是刚刚好容纳第一个子容器的,但是却展示了第二个子容器大约 1px 的内容

.father {
    height: 48px;
    overflow-y: auto;
}

.child {
    color: #fff;
    font-size: 14px;
    margin-bottom: 4px;
    padding: 2px 8px;
    border-radius: 12px;
    display: inline-block;
    background-color: rgba(0, 0, 0, 0.4);
}

请问移动 h5 overflow-y: scroll +下边距为什么会导致内容高度偏移(失真?)如何解决?

二、父容器去掉滚动能够解决问题

.father {
    height: 48px;
}

请问移动 h5 overflow-y: scroll +下边距为什么会导致内容高度偏移(失真?)如何解决?

问:在保留 overflow-y: scroll 的前提下,能否解决掉 1px 的问题呢?谢谢请问移动 h5 overflow-y: scroll +下边距为什么会导致内容高度偏移(失真?)如何解决?

回答一楼的问题:父容器确实是 48px,我在 codepen 和重写一个 html 都没有问题

请问移动 h5 overflow-y: scroll +下边距为什么会导致内容高度偏移(失真?)如何解决?请问移动 h5 overflow-y: scroll +下边距为什么会导致内容高度偏移(失真?)如何解决?

然后去调整下边距发现奇数的时候会消失,偶数的时候会出现。请问移动 h5 overflow-y: scroll +下边距为什么会导致内容高度偏移(失真?)如何解决?

非 h5 环境下没有这个问题请问移动 h5 overflow-y: scroll +下边距为什么会导致内容高度偏移(失真?)如何解决?

回复
1个回答
avatar
test
2024-07-20

我在codepen里面没能复现OP你的情况,你尝试一下在codepen是否能复现看看?然后贴出来的样式代码中 .child 没有设置 line-height 可能和行高有关系?或者可以尝试查看一下 .father 容器的高度是否是设置的 height:48px;

回复
likes
适合作为回答的
  • 经过验证的有效解决办法
  • 自己的经验指引,对解决问题有帮助
  • 遵循 Markdown 语法排版,代码语义正确
不该作为回答的
  • 询问内容细节或回复楼层
  • 与题目无关的内容
  • “赞”“顶”“同问”“看手册”“解决了没”等毫无意义的内容