【问题标题】:What is the commented backlash hack?评论的反弹黑客是什么?
【发布时间】:2018-09-04 17:24:30
【问题描述】:

注释的反斜杠 hack 究竟是如何工作的? 我有一个模糊的想法,由于反斜杠(出于某种原因),Mac 忽略了 以下规则。

这就是我在这里读到的:http://www.sam-i-am.com/work/sandbox/css/mac_ie5_hack.html

#isnotMacIE5 { display: none;  }
#isMacIE5 { display: block; background-color: #060; color: #fff; }

/* commented backslash hack v2 \*/
#isnotMacIE5 { display: block; background-color: #060; color: #fff; }
#isMacIE5 { display: none; }
/* end hack */

如果 Mac 还是看不到 \#isMacIE5 { display: none; },为什么我们还要包含它?

【问题讨论】:

  • 认为您需要查看更多最新的教程,而不是尝试支持 15 年未发布的浏览器
  • 是的...只是阅读一些旧博客,并不太了解它们,所以我想我会问。 :)
  • 只是不同的浏览器在阅读 css 时有不同的怪癖,大多数都有一些怪癖,可以让你只针对那个浏览器 - 大多数这些黑客只是暴露了这些怪癖,所以如果你的元素看起来不同在一个浏览器中,您可以仅为该浏览器添加额外的样式,使其与其他浏览器保持一致。大多数现代浏览器都相当不错,而且渲染已经接近了很多,因此不再需要这些类型的 hack - 主要是现在需要它们的 ie11 和 safari
  • 我们如何在css中指定特定的浏览器?
  • 哦,对了...感谢您的回答:)

标签: html css macos css-hack


【解决方案1】:

注释的反斜杠hack实际上是如何工作的?

IE for Mac(不能在现代 Mac 上运行,并且在将近 15 年的时间里一直没有得到 Microsoft 的支持)无法将 \*/ 识别为评论的结尾。

这意味着您示例中的最后两个规则集被视为位于以/* commented backslash hack v2 开头的注释中,而来自recover from hack */*/ 被视为第一个注释的结尾。

如果 Mac 还是看不到 #isMacIE5 { display: none; },为什么我们还要包含它?

对非 IE5/Mac 浏览器隐藏应仅在 IE5/Mac 上显示的内容。

【讨论】:

  • 谢谢!那么这个黑客仍然有效吗?还有更好的方法吗?
  • @Portable — 如果您能找到仍在运行 IE5/Mac 的任何人,那么,是的,它仍然可以工作(他们应该得到一台新计算机)。
猜你喜欢
  • 1970-01-01
  • 2018-05-04
  • 2017-09-27
  • 2015-02-09
  • 2011-03-29
  • 2011-11-18
  • 2011-04-01
  • 2021-06-20
  • 2015-10-08
相关资源
最近更新 更多