CSS flex: 0 0 auto 正在创建一个 1px 的间隙。

huangapple go评论72阅读模式
英文:

CSS flex: 0 0 auto is creating a 1px gap

问题

我在CSS中使用了flex: 0 0 auto;,在某些浏览器上,div之间会出现1px的间隙。

问题仅在使用Edge和Safari时出现。在这些浏览器上,它看起来像这样:

CSS flex: 0 0 auto 正在创建一个 1px 的间隙。

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

英文:

I am using flex: 0 0 auto; in CSS and on some browsers there is a 1px gap between the divs.

<!-- begin snippet: js hide: false console: true babel: false -->

<!-- language: lang-css -->

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 &gt; * {
    background-color: white;
    height: 10%;
    width: 100%;
    flex: 0 0 auto;
}

<!-- language: lang-html -->

&lt;div class=&quot;scrollWrapper&quot;&gt;
    &lt;div&gt;&lt;/div&gt;
    &lt;div&gt;&lt;/div&gt;
    &lt;div&gt;&lt;/div&gt;
    &lt;div&gt;&lt;/div&gt;
    &lt;div&gt;&lt;/div&gt;
    &lt;div&gt;&lt;/div&gt;
    &lt;div&gt;&lt;/div&gt;
    &lt;div&gt;&lt;/div&gt;
    &lt;div&gt;&lt;/div&gt;
    &lt;div&gt;&lt;/div&gt;
    &lt;div&gt;&lt;/div&gt;
    &lt;div&gt;&lt;/div&gt;
    &lt;div&gt;&lt;/div&gt;
    &lt;div&gt;&lt;/div&gt;
    &lt;div&gt;&lt;/div&gt;
    &lt;div&gt;&lt;/div&gt;
    &lt;div&gt;&lt;/div&gt;
    &lt;div&gt;&lt;/div&gt;
    &lt;div&gt;&lt;/div&gt;
    &lt;div&gt;&lt;/div&gt;
&lt;/div&gt;

<!-- end snippet -->

The issue only occurs when using Edge and Safari. On these browsers it looks like:

CSS flex: 0 0 auto 正在创建一个 1px 的间隙。

Is there anything to fix this issue?

答案1

得分: 0

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

英文:

Solution with box-shadow: 0 0 0 1px white;:

<!-- begin snippet: js hide: false console: true babel: false -->

<!-- language: lang-css -->

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 &gt; * {
    background-color: white;
    height: 10%;
    width: 100%; 
    flex: 0 0 auto;
    box-shadow: 0 0 0 1px white;
}

<!-- language: lang-html -->

&lt;div class=&quot;scrollWrapper&quot;&gt;
    &lt;div&gt;&lt;/div&gt;
    &lt;div&gt;&lt;/div&gt;
    &lt;div&gt;&lt;/div&gt;
    &lt;div&gt;&lt;/div&gt;
    &lt;div&gt;&lt;/div&gt;
    &lt;div&gt;&lt;/div&gt;
    &lt;div&gt;&lt;/div&gt;
    &lt;div&gt;&lt;/div&gt;
    &lt;div&gt;&lt;/div&gt;
    &lt;div&gt;&lt;/div&gt;
    &lt;div&gt;&lt;/div&gt;
    &lt;div&gt;&lt;/div&gt;
    &lt;div&gt;&lt;/div&gt;
    &lt;div&gt;&lt;/div&gt;
    &lt;div&gt;&lt;/div&gt;
    &lt;div&gt;&lt;/div&gt;
    &lt;div&gt;&lt;/div&gt;
    &lt;div&gt;&lt;/div&gt;
    &lt;div&gt;&lt;/div&gt;
    &lt;div&gt;&lt;/div&gt;
&lt;/div&gt;

<!-- end snippet -->

Special thanks to @G-Cyrillus.

huangapple
  • 本文由 发表于 2023年6月16日 15:50:46
  • 转载请务必保留本文链接:https://go.coder-hub.com/76488045.html
匿名

发表评论

匿名网友

:?: :razz: :sad: :evil: :!: :smile: :oops: :grin: :eek: :shock: :???: :cool: :lol: :mad: :twisted: :roll: :wink: :idea: :arrow: :neutral: :cry: :mrgreen:

确定