css - 实心渐变不是真的实心?在色标处不要有清晰的边缘

标签 css gradient linear-gradients

在 CSS 中,这似乎是创建纯色渐变的最简单方法,其中颜色在颜色停止处突然结束和开始。示例 -

background-image:linear-gradient(to bottom, gray 100px, white 0);/*让浏览器决定*/

background-image:linear-gradient(to bottom, gray 100px, white 100px);/*明确指定。*/

发生的情况是生成了渐变,但在颜色相遇的地方并没有真正清晰的边缘。我的假设是代码会导致灰色在 100px 处停止,而白色紧随其后。

但结果还是有点模糊。我在下面整理了一个示例(将其视为整页)。在灰色和白色相交的屏幕中央,您可以看到差异。

  • 为什么会这样?是因为浏览器需要做的计算吗?
  • 有什么方法可以在颜色相遇的地方获得绝对清晰的边缘?

编辑 - 即使是像素值也不是很好。

* {
  margin: 0;
  padding: 0;
  box-sizing:border-box;
}
html,
body {
  height: 100%;
}
body {
  background: linear-gradient(to bottom, #999 10em, white 0)
}
.container {
  width: 50%;
  height: 100%;
}
.gradient {
  background: #999;
  height: 10em;
}
<div class="container">
  <div class="gradient"></div>
</div>

最佳答案

正如@Mr Lister 在评论中提到的,看起来像是 Chrome 的一个错误。找个 Mac 机器看看 safari 是不是也一样。这样我就可以为两者提出错误。

关于css - 实心渐变不是真的实心?在色标处不要有清晰的边缘,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33151371/

相关文章:

html - 我需要有关渐变斜体文本的建议

iphone - iPhone中折线图的渐变效果

html - 如何设置单个 WordPress 菜单项的样式?

html - 保持按钮的事件状态,直到单击另一个按钮

html - div溢出问题

html - 在 CSS 中为线性渐变动态设置背景 url

javascript - css 动画仅在元素失去焦点时触发

python - Python中的"m x n"维渐变式数组

internet-explorer - IE 7-10 的多站线性渐变