【问题标题】:IE and Edge does not respect the text-transformIE 和 Edge 不尊重文本转换
【发布时间】:2019-03-12 18:43:57
【问题描述】:

我有以下情况我无法解释但微软浏览器的错误......

我有一个符号字体,并使用不同的字母来显示符号。例如,“z”字母是显示“减小字体大小”的符号,而“Z”则是显示“增大字体大小”的符号……

但是,Microsoft 浏览器将我的字母小写,并且我在 Edge 和 IE 中具有相同的“z”,但在普通浏览器中是正确的行为。

可以在here(在 IE 或 Edge 中)观察到该错误。

我能做些什么来解决它?

PS。

我试图在这个片段中重现这个,但实际上是固定的...... 但是,在下面的链接中,该错误被重现...

body {
  text-transform: uppercase;
}

span.symbol.a::before {
  content: " <A-xample of UPPERCASE text> ";
}
span.symbol.b::before {
  content: " <B-xample of UPPERCASE text> ";
}

.symbol::before {
  text-transform: none !important;
}
<div>
  this is a text div
  <span class="symbol a"></span>
  <span class="symbol b"></span>
</div>

【问题讨论】:

  • 请将相关的 CSS 添加到代码 sn-p 而不是图像中。 IE 和 Edge 也是“普通”浏览器
  • 您应该在 sn-p 中添加相关代码,因为如果网站离线或代码更改,没有它,问题将毫无意义。我们也不挖掘外部源代码
  • 我们不需要一个工作示例,只需要代码 sn-p。我的意思是,如果它有效,那不是问题。是的,它们是普通浏览器,只是糟糕的浏览器。希望 Edge 在开始使用 chromium 时会有所改变
  • @SuperDJ,我添加了sn-p,但现在你会说没有问题,但是工作站点有问题......
  • 那么,你会结束这个问题,因为我无法在 sn-p 中重现它,如果我理解得很好......?

标签: css internet-explorer-11 microsoft-edge


【解决方案1】:

我为这个问题找到的唯一(也是丑陋的)解决方案是使用 Unicode 代码而不是字母。这意味着,即使 有缺陷的 Microsoft 浏览器 将符号小写,它们也不能将大写代码字母小写。

例如。而不是使用content: "Z" 我会使用content: "\005A" 而不是content: "z" => content: "\007A" 在这种情况下,即使是“糟糕”的 Microsoft 浏览器(Edge 和 IE)也会显示正确的大小写字符。

【讨论】:

  • 我尝试使用 IE 和 Edge 测试上述示例代码,但无法产生问题。但是,您已经发布了问题的答案。我建议您尝试将自己的答案标记为该问题的可接受答案。它可以在未来帮助其他社区成员解决类似的问题。感谢您的理解。
  • @Deepak-MSFT 正如 OP 中所说,样本不会重现问题,因为在尝试重现样本中的问题时,我可能遗漏了一些东西。我无法在示例中重现它。但是我发布的链接中确实存在问题。它确实存在,并且只存在于 EGDE 和 IE 上。实际上,它是使用 unicode 代码作为我发布的解决方案进行修复的,但如果您使用 F12 工具放置字母而不是代码,则很容易复制。感谢您的理解。
  • 我发布的解决方案不是真正的修复,而是一种变通方法,因此浏览器有一些错误需要修复以对应普通浏览器,如 Chrome 或 Firefox。
  • 我提供了样本,因为像@SuperDJ 这样的管理员要求我提供样本。但不幸的是,该示例无法重现该问题。
  • 您可以尝试修改您的原始帖子并尝试提供详细的分步信息以产生问题。我们将再次尝试产生问题并尝试检查问题。感谢您的理解。
猜你喜欢
  • 2016-10-13
  • 2012-04-07
  • 1970-01-01
  • 1970-01-01
  • 2016-04-15
  • 2016-01-20
  • 1970-01-01
  • 2013-09-22
  • 2018-06-30
相关资源
最近更新 更多