【问题标题】:Rotating border with radius in firefox, anti aliasing?在Firefox中使用半径旋转边框,抗锯齿?
【发布时间】:2020-09-05 11:46:57
【问题描述】:

.dice {
      margin: 4.5px auto;
      width: 40px;
      height: 34px;
      border: 1px solid black;
      border-radius: 9px;
      background-color: ghostwhite;
      transition: 900ms ease all;
      text-align: center;
      line-height: 10px;
      padding-top: 5px;
    }
<div class="dice">1</div>
<div class="dice" id="rotated" onclick="this.style.transform = 'rotate('+ (1*-90) +'deg)';">2</div>

我有一个想要旋转 90 度的骰子(单击“2”)。它的边界半径在变换旋转之前看起来很好,但之后看起来很乱。尤其是变换后的 FF 中弯曲的边缘很脏。

这是一个应该说明问题的图像,左上角骰子有锯齿/抗锯齿边框。 image

[显然嵌入图像很难]

这是一个示例,虽然可能有点难以理解: https://jsfiddle.net/39m2wqua/

我已经阅读了一些关于亚像素/半像素渲染的帖子,尝试添加阴影框或 translateZ(1px) 到变换,但似乎没有任何东西可以解决这个问题。这是一个类似的线程:Anti-aliasing on rotated div with border image in firefox

【问题讨论】:

标签: javascript css firefox


【解决方案1】:

我自己测试了它(在 Firefox 上),它看起来非常好。
我建议使用高清或矢量图像。

否则,请检查此post。 (可能有帮助)

【讨论】:

  • 感谢您的回复!我没有使用图像,只是 html/css 来制作骰子。什么是“高清”?
  • 高清图像(例如 1000x1000)
  • 我强烈推荐使用矢量图像。它通常比图像更快地加载到网页中,并且可以在不损失任何质量的情况下按比例放大(这有助于抗锯齿)。
  • CSS 应该可以正常工作 - 我不确定是什么导致了锯齿状边缘。
  • 感谢您的意见! (仅供参考,我没有否决您的回复)我会考虑使用矢量图像,但真的希望看到它仅适用于 CSS 边框和边框半径。 Chrome 没有问题,但最近似乎没有很多关于 FF 中类似问题的报告......
猜你喜欢
  • 2013-12-22
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多