这是Chrome中的渲染错误吗?

使用Google Chrome 107.0.5304.32(官方版本)测试版(64位)

.meters {
  display: grid;
  grid-template-columns: 4rem 1fr 3rem;
  grid-auto-rows: 1.3rem;
  align-items: center;
  gap: 0.8rem;
}
.meter {
  display: flex;
  height: 100%;
  border: solid 3px black;
}
.fill {
  background: blue;
}
<div class="meters">
  <p>0 Sterne</p>
  <div class="meter">
    <div class="fill" style="width: 100%;"></div>
  </div>
  <p>27%</p>
  <p>1 Sterne</p>
  <div class="meter">
    <div class="fill" style="width: 10.989%;"></div>
  </div>
  <p>11%</p>
  <p>2 Sterne</p>
  <div class="meter">
    <div class="fill" style="width: 32.4176%;"></div>
  </div>
  <p>32%</p>
  <p>3 Sterne</p>
  <div class="meter">
    <div class="fill" style="width: 11.5385%;"></div>
  </div>
  <p>12%</p>
  <p>4 Sterne</p>
  <div class="meter">
    <div class="fill" style="width: 17.5824%;"></div>
  </div>
  <p>18%</p>
</div>

我看到蓝色div周围是白色的:

如果我将边界设置为4px或更多,白色将消失.对于1px,它也运行得很好.对于2px,我只看到底部的白色,顶部和底部有3px个白色.

Amaury Hanser在 comments 中提到了zoom ,所以我判断了一下,当放大到110%时,白色也消失了.

我甚至try 在.meter上设置overflow: hidden;,在fill上设置height: 150%;,这样在判断器中可以看到填充比容器大,但它仍然显示白色边框:

推荐答案

我不确定出了什么问题,但你可以用Outline来代替

 .meters {
            display: grid;
            grid-template-columns: 4rem 1fr 3rem;
            grid-auto-rows: 1.3rem;
            align-items: center;
            gap: 0.8rem;
          }
          .meter {
            display: flex;
            height: 100%;
            outline: 3px solid black !important;
          }
          .fill {
            background: blue;
          }
 <div class="meters">
        <p>0 Sterne</p>
        <div class="meter">
          <div class="fill" style="width: 100%;"></div>
        </div>
        <p>27%</p>
        <p>1 Sterne</p>
        <div class="meter">
          <div class="fill" style="width: 10.989%;"></div>
        </div>
        <p>11%</p>
        <p>2 Sterne</p>
        <div class="meter">
          <div class="fill" style="width: 32.4176%;"></div>
        </div>
        <p>32%</p>
        <p>3 Sterne</p>
        <div class="meter">
          <div class="fill" style="width: 11.5385%;"></div>
        </div>
        <p>12%</p>
        <p>4 Sterne</p>
        <div class="meter">
          <div class="fill" style="width: 17.5824%;"></div>
        </div>
        <p>18%</p>
      </div>

Css相关问答推荐

添加Angular 17的Stackblitz项目的Angular material 主题?

Vue3日期 Select 器:禁用向左和向右箭头

React呈现多个css文件

如何防止css边框缩小div?

为什么 KaTeX 的彩虹文本只能在 Firefox 上运行?

如何使按钮:之后像按钮:之前一样可见

为什么align-content:start应用于单行项目?

使用 flexbox 使图像与内容高度相同

问题定位位置:Tailwindcss 中的绝对元素

如何在 CSS 中更改 ::marker SVG colored颜色 ?

如何在每一行周围放置不同大小的阴影?

Bootstrap:在列之间添加边距/填充空间

rotate3d 速记

CSS图像最大宽度设置为原始图像大小?

CSS 插入边框

当子元素水平溢出时,为什么忽略父元素的右填充?

了解 Bootstrap 3 中的网格类( col-sm-# 和 col-lg-# )

删除行内块元素中大文本上方和下方的空白

100% 高度减go 标题?

height: 100% 或 min-height: 100% 用于 html 和 body 元素?