提问人: 提问时间:3/6/2023 更新时间:3/6/2023 访问量:276
两个角的边框半径会导致视觉故障 CSS
Border radius on two corners causes visual glitch CSS
问:
故障:
它应该是什么样子的
编辑:显然该栏没有出现在我的示例中,所以我更新了它。StackBlitz 上的最小示例
很抱歉造成混淆,这是我的最小示例,而不是我的项目。
您将在大约 4 秒左右后看到故障。该条只会在左侧渲染一些垂直部分,然后它会出现故障。
现在,如果您在 StackBlitz 中进入 index.css/style.css 并将样式从
.innerBar {
...
border-top-left-radius: .25em;
border-bottom-left-radius: .25em;
}
自
.innerBar {
...
border-radius: .25em;
}
它将正确呈现。但是,如果您查看底部的 index.css,我有一个用于栏已满时的类,因为我只想在栏已满时对右侧角进行圆角。
我试过弄乱外部 div(条形图)和内部 div(内条形图或滑块)上的边框半径。这就是我发现原因的原因。
编辑:我尝试放大我的示例,却注意到这样做会删除伪影。在正常缩放下重新开始条形增长后,我可以再次看到它。
它在 Firefox 上可以正确呈现,但在我尝试过的任何 Chrome 浏览器上都无法正确呈现。我需要它在 Chrome 上运行,因为我正在制作一个 Electron 应用程序。
答:
0赞
Brett Donald
3/6/2023
#1
只需让外部做圆角并隐藏任何溢出物。那么你根本不需要任何圆角!.bar
.innerBar
.bar {
border-radius: .25em;
overflow: hidden;
}
.innerBar {
border-radius: 0; /* this is the default value */
}
评论