html - 条件注释和有效的 XHTML

标签 html zend-framework xhtml conditional-comments

给定代码(看起来应该是有效的):

<!--[if lt IE 7]> <style type="text/css" media="screen">
<!--
div.stuff { background-image: none; }
--></style><![endif]-->

W3C 验证器引发了一个问题:

  • 注释声明中的S分隔符
  • 无效的评论声明:在评论声明之外但在评论声明之内找到名称开始字符
  • 此处不允许使用字符数据

等等等等

我不太确定发生了什么。是“嵌套”评论吗?该标记由 Zend Framework Viewhelper headStyle 生成

$this->headStyle()->prependStyle('div.stuff { background-image: none; }',
                                 array('conditional' => 'lt IE 7')
                                );

最佳答案

您不能在注释中包含 --,除非它是 --> 的一部分,并且以有效的 XML/XHTML 结尾。就像评论的工作方式一样。

来自 this source :

For Compatibility, the string "--" (double-hyphen) MUST NOT occur within comments.

您应该找到一种更标准的方式来区分浏览器(或者,更理想的是,拥有一种根本不需要区分浏览器的布局)。

关于html - 条件注释和有效的 XHTML,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/951596/

相关文章:

javascript - 从场外 Iframe 的 child 设计 parent 的样式?

css - 骨架响应网格损坏 - 列下降

javascript - 我如何使用 jquery 在文本字段中添加不同的字体颜色

php - 向 Zend_Db_Select 添加复杂的 WHERE 条件

zend-framework - 设置自定义模板路径以呈现而不是标准路径

php - 带有 phpSettings.display_errors 的 zend 模块特定 ini

javascript - 在 MS Word 文件中嵌入 HTML

asp.net - 如何显示数据库中的所有图像?

javascript - 如何使用angularjs动态调整窗口大小

html - Outlook 2013 向单元格添加不需要的填充