这三个内容很简单,因为它们只是普通的HTML注释,你可以使用
Haml对条件注释的支持:
/[if lt IE 8] <html class="no-js ie7 oldie" lang="en">
/[if IE 8] <html class="no-js ie8 oldie" lang="en">
/[if IE 9] <html class="no-js ie9 oldie" lang="en">
最后一个略有不同。将其分解,您想要的是两个评论围绕html
开放标签,因此第二个评论是html
元素的第一个内容。另外,您不能使用Haml语法进行条件注释,您必须使用文字注释。在Haml中,它看起来像:
<!--[if gt IE 9]><!-->
%html{:class => 'no-js', :lang => 'en'}
<!--<![endif]-->
这将生成类似以下的HTML代码:
<!
<html class='no-js' lang='en'>
<!
如果您愿意,您可以使用
删除空格语法来使生成的HTML更像您的示例:
<!
%html{:class => 'no-js', :lang => 'en'}<>
<!
将所有东西放在一起:
!!!
/[if lt IE 8] <html class="no-js ie7 oldie" lang="en">
/[if IE 8] <html class="no-js ie8 oldie" lang="en">
/[if IE 9] <html class="no-js ie9 oldie" lang="en">
<!
%html{:class => 'no-js', :lang => 'en'}<>
<!
content here
这将产生:
<!DOCTYPE html>
<html class='no-js' lang='en'>
content here</html>
另一种技术是使用Haml的surround辅助函数:
= surround "<html class='no-js' lang='en'>", "</html>" do
content here
<!--[if gt IE 8]|!(IE)]><!-->
吗? - Noz!(IE)
部分吗?不一定 - 非 IE 浏览器无论如何都会忽略条件并呈现内容,而 IE 浏览器将由现有条款覆盖。我想你可以添加它以供文档使用。 - matt