我在css中使用的是flex: 0 0 auto;,在一些浏览器上,div之间有1px的差距.

body {
    overflow: hidden;
    position: relative;
    height: 100vh;
    width: 100vw;
    background-color: black;
}

.scrollWrapper {
    position: relative;
    overflow-x: hidden;
    overflow-y: scroll;
    display: flex;
    flex-direction: column;
    height: 100%;
    width: 100%;
}

.scrollWrapper > * {
    background-color: white;
    height: 10%;
    width: 100%;
    flex: 0 0 auto;
}
<div class="scrollWrapper">
    <div></div>
    <div></div>
    <div></div>
    <div></div>
    <div></div>
    <div></div>
    <div></div>
    <div></div>
    <div></div>
    <div></div>
    <div></div>
    <div></div>
    <div></div>
    <div></div>
    <div></div>
    <div></div>
    <div></div>
    <div></div>
    <div></div>
    <div></div>
</div>

此问题仅在使用Edge和Safari时出现.在这些浏览器上,它看起来如下所示:

blackLinesBetweenDivs

有什么办法可以解决这个问题吗?

推荐答案

box-shadow: 0 0 0 1px white;的解决方案:

body {
    overflow: hidden;
    position: relative;
    height: 100vh;
    width: 100vw;
    background-color: black;
}

.scrollWrapper {
    position: relative;
    overflow-x: hidden;
    overflow-y: scroll;
    display: flex;
    flex-direction: column;
    height: 100%;
    width: 100%;
}

.scrollWrapper > * {
    background-color: white;
    height: 10%;
    width: 100%; 
    flex: 0 0 auto;
    box-shadow: 0 0 0 1px white;
}
<div class="scrollWrapper">
    <div></div>
    <div></div>
    <div></div>
    <div></div>
    <div></div>
    <div></div>
    <div></div>
    <div></div>
    <div></div>
    <div></div>
    <div></div>
    <div></div>
    <div></div>
    <div></div>
    <div></div>
    <div></div>
    <div></div>
    <div></div>
    <div></div>
    <div></div>
</div>

特别感谢@G-Cyrillas.

Html相关问答推荐

当ul为Flex时,使ul元素在指定高度内可垂直滚动

将容器水平偏离中心放置在桌面上;在移动设备上平稳地集中缩小规模

新用户登录时无法从cookie中获取当前用户信息

如何将grid—template—column应用于元素中的子元素

当使用浮动标签和大小时,如何在 Select 组件中有更多可见选项?

带有多种 colored颜色 的HTML按钮

Div内容防止同级大小增加

如何在用css使用网格视图时设置宽度?

具有可展开行的棱角material 表(垫子表),折叠时行之间仍有间隙

带有图像的虚线边框

在Firefox中使用keySplines时,SVG: <animateMotion>不起作用

白色栏超出页面100%的右侧

Tailwind:父母动态适应子元素的身高

Angular:从服务器下载 HTML 并打印

HTML画布放大/缩小算法与CSS(图像处理)

为什么 text-align 应用于 span 而不是 CSS 中的 img

获取 div 中每个元素的 href 并使用它

正确使用视频作为背景

动态使用时波浪号不转换为绝对路径

我可以将两个元素之间的所有空间都放在弹性框或网格中吗?