我正在尝试根据发现此主题的建议使用IE条件注释。 "[ !IE]" conditional comments in Haml 然而,它不起作用,我不知道为什么。
我正在尝试编辑Ruby on Rails应用程序,我是HAML和Rails的新手。任何帮助,将不胜感激。
以下是我尝试使用的HAML代码。
%section#audio-controls
=surround '<!--[if !IE]> -->'.html_safe, '<!-- <![endif]-->'.html_safe do
= audio_tag( '/audios/elder.wav', :controls => 'controls', :id => 'elder_audio' )
=surround '<!--[if IE]> -->'.html_safe, '<!-- <![endif]-->'.html_safe do
= audio_tag( '/audios/elder.mp3', :controls => 'controls', :id => 'elder_audio' )
我也试过这段代码,认为这可能是audio_tag的问题
%section#audio-controls
=surround '<!--[if !IE]> -->'.html_safe, '<!-- <![endif]-->'.html_safe do
%p
This is not IE
=surround '<!--[if IE]> -->'.html_safe, '<!-- <![endif]-->'.html_safe do
%p
This is IE
答案 0 :(得分:3)
HAML使用/[]
syntax支持条件评论。
将您的示例更改为类似的内容,它应该按预期工作:
%section#audio-controls
/[if !IE]
%p This is not IE, but this won't be rendered as all other browsers don't know about conditional comments
/[if IE]
%p This is IE
答案 1 :(得分:0)
使用html2haml
命令行实用程序将HTML转换为HAML。
例如:
alhafoudh@Aluminium:~$ html2haml
<!--[if IE 6]>
Special instructions for IE 6 here
<![endif]-->
^D
/[if IE 6]
Special instructions for IE 6 here
答案 2 :(得分:0)
对于我来说,条件很少:
!!!
:plain
<!--[if lt IE 7]> <html class="no-js lt-ie9 lt-ie8 lt-ie7" lang="en"> <![endif]--><!--[if IE 7]><html class="no-js lt-ie9 lt-ie8" lang="en"><![endif]--><!--[if IE 8]><html class="no-js lt-ie9" lang="en"> <![endif]--> <!--[if IE 9]><html class="no-js lt-ie10" lang="en"> <![endif]--> <!--[if gt IE 9]><!-->
%html.no-js{:lang => 'en'}
/ <![endif]
%head
%title Yinlang