【问题标题】:Mix-blend-mode bug on text文本上的混合模式错误
【发布时间】:2020-03-24 15:27:01
【问题描述】:

我正在使用mix-blend-mode 属性处理敲除文本。当我打开控制台以使用开发人员工具测试响应能力时,混合文本的上方和下方会出现和消失的小线条。在每次选择时,我在开发人员工具控制台的设备选择器上都会出现这个错误。以下是一些示例:

页面调整为 iPad Pro 尺寸

页面大小调整为 Pixel 2XL 大小

这是我用来创建此文本的代码:

.backdrop {
  background: url("https://rpsthecoder.github.io/img-repo/Taitō%20by%20Jezael%20Melgoza.jpg") center;
  background-size: contain;
  margin: auto;
  margin-top: 40px;
  width: 75vw;
}

.text {
  font: bolder 20vw "Arial";
  text-align: center;
  margin: 0;
}

.screen {
  color: black;
  mix-blend-mode: screen;
  background-color: #fff;
}
<div class="backdrop">
  <p class="text screen">Taitō</p>
</div>

我注意到当您在 Codepen 上运行代码时不会发生此错误,我不知道为什么会这样。但是,它可以发生在一个简单的静态 HTML 文件上。

我尝试使用will-change: opacity 描述here 和here,但我没有运气。

我的 chrome 版本是版本 78.0.3904.108。此错误仅发生在 Chrome 上。如果有人能就此提供建议,我将不胜感激。

【问题讨论】:

  • 您是否在 HTML 文件中包含文档类型?
  • 这是一个抗锯齿 错误。您可以通过按像素的分数在桌面上进行复制:jsfiddle.net/93daepz0。您可以在bugs.chromium.org/p/chromium/issues/list 上打开一个问题,但请注意,即使 FF 和 Safari 也有相同的错误,并且您在真实设备上的用户可能不会在您的配置中遇到它(因为他们不会有开发工具的奇怪转换模拟不同的监视器)。

标签: html css google-chrome mix-blend-mode


【解决方案1】:

如果您以结果为导向,那么此解决方案可能会帮助您摆脱此问题。我也检查过mix-blend-mode,但正如你所说,Chrome 存在问题。

我使用background-clip: text 来达到同样的效果。

页面调整为 iPad Pro 尺寸

页面大小调整为 Pixel 2XL 大小

如果这有帮助,请告诉我。

.backdrop {
  margin: auto;
  margin-top: 40px;
  width: 75vw;
}
.text {
  font: bolder 20vw "Arial";
  text-align: center;
  margin: 0;
}
.screen {
  color: transparent;
  background: url("https://rpsthecoder.github.io/img-repo/Taitō%20by%20Jezael%20Melgoza.jpg") center;
  -webkit-background-clip: text;
  background-clip: text;
  background-size: contain;
}
<!DOCTYPE html>
<html>
<head>
<title>Page Title</title>
</head>
<body>
  <div class="backdrop">
    <p class="text screen">Taitō</p>
  </div>
</body>
</html>

【讨论】:

  • 谢谢。但是,我需要保持这种方法,因为我需要将背景与文本分开
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2015-08-09
  • 2021-08-01
  • 1970-01-01
  • 2011-09-22
  • 2012-10-21
  • 2016-10-19
相关资源
最近更新 更多