是什么导致Chrome在边界之间散发差距?

发布于 2025-02-13 15:43:14 字数 1867 浏览 0 评论 0原文

在Chrome中,在Firefox中不存在的边界之间有红线(从背景颜色)。

chrome vs firefox

*,
*::before,
*::after {
  box-sizing: border-box;
  margin: 0;
}

html,
body {
  display: flex;
  flex-direction: column;
  height: 100%;
}

body {
  background: red;
  color: #ccc;
  font-family: Roboto, Garuda;
  border: 12px solid seagreen;
}

header {
  display: flex;
  flex-direction: row;
  border: 8px solid mediumpurple;
}

header #logo {
  flex-grow: 0;
  flex-basis: auto;
  border: 8px solid gold;
}

header nav {
  flex-grow: 1;
  flex-basis: auto;
  border: 8px solid mediumspringgreen;
}

main {
  display: flex;
  flex-direction: row-reverse;
  flex-grow: 1;
  border: 8px solid greenyellow;
}

main article {
  flex-grow: 1;
  flex-basis: auto;
  border: 8px solid salmon;
}

main aside {
  border: 8px solid violet;
}

footer {
  border: 8px solid hotpink;
}
<header>
  <div id="logo">Header</div>
  <nav>Navigation</nav>
</header>
<main>
  <article>
    <h1>Header 1</h1>
    <p>Paragraph text <abbr title="Hypertext Markup Language">HTML</abbr>.</p>
  </article>
  <aside>Sidebar</aside>
</main>
<footer>Footer
</footer>

我认为CSS会阻止这种情况的发生:

*, *::before, *::after {
    box-sizing: border-box;
    margin: 0;
}

我还没有找到解释为什么这些差距被呈现出来,并且我怀疑我没有搜索正确的关键字。您知道为什么在基于铬的浏览器中会发生这种情况还是什么解决方案?

更新: 在Ubuntu 22.04和Windows 11中的Chrome上,它显示了边界之间的差距,但是Fedora 36上的Chrome却不是。所有浏览器版本均为103.0.5060.114,不启用扩展名,并且处于100%缩放。我可以测试的是什么来找出可能导致这种行为的原因?

In Chrome there are red lines (from the background colour) between the borders which aren't there in firefox.

Chrome vs Firefox

*,
*::before,
*::after {
  box-sizing: border-box;
  margin: 0;
}

html,
body {
  display: flex;
  flex-direction: column;
  height: 100%;
}

body {
  background: red;
  color: #ccc;
  font-family: Roboto, Garuda;
  border: 12px solid seagreen;
}

header {
  display: flex;
  flex-direction: row;
  border: 8px solid mediumpurple;
}

header #logo {
  flex-grow: 0;
  flex-basis: auto;
  border: 8px solid gold;
}

header nav {
  flex-grow: 1;
  flex-basis: auto;
  border: 8px solid mediumspringgreen;
}

main {
  display: flex;
  flex-direction: row-reverse;
  flex-grow: 1;
  border: 8px solid greenyellow;
}

main article {
  flex-grow: 1;
  flex-basis: auto;
  border: 8px solid salmon;
}

main aside {
  border: 8px solid violet;
}

footer {
  border: 8px solid hotpink;
}
<header>
  <div id="logo">Header</div>
  <nav>Navigation</nav>
</header>
<main>
  <article>
    <h1>Header 1</h1>
    <p>Paragraph text <abbr title="Hypertext Markup Language">HTML</abbr>.</p>
  </article>
  <aside>Sidebar</aside>
</main>
<footer>Footer
</footer>

I thought this css would prevent that from happening:

*, *::before, *::after {
    box-sizing: border-box;
    margin: 0;
}

I haven't found an explanation why these gaps are rendered and I suspect I haven't searched for the right keywords. Do you know why this happens in chromium-based browsers or what a solution is?

UPDATE:
On Chrome in Ubuntu 22.04 and Windows 11 it's showing the gaps between the borders, but Chrome on Fedora 36 isn't. All browser versions are 103.0.5060.114, don't have extensions enabled and are at 100% zoom. What would be something I could test for to find out what could cause this behaviour?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。
列表为空,暂无数据
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文