В jade я хочу добавить условный тег html согласно , этот метод , который помещает
в начало файла HTML.
Я пробовал
//[if lt IE 7]>
Этот метод работает с закрывающим тегом html: strike>
!!! 5
//if lt IE 7
<html class="no-js lt-ie9 lt-ie8 lt-ie7">
//if IE 7
<html class="no-js lt-ie9 lt-ie8">
//if IE 8
<html class="no-js lt-ie9">
// [if gt IE 8] <!
html(class="no-js", lang="en")
// <![endif]
head
title= title
body!= body
из: https://gist.github.com/kmiyashiro/1140425#comment- 675550
Обновление:
Как указывает kumar-harsh , это поведение теперь не рекомендуется, если вам нужна эта функциональность, теперь вы должны использовать обычный html:
<!--[if IE]>
<html class="ie">
<![endif]-->
<![if !IE]>
<html class="not-ie">
<![endif]>
</html>
от: https://github.com/visionmedia/jade/issues/1345?source=cc#issuecomment-31920732
Это то, что вы ищете, и оно также даст закрывающий тег html.
!!! 5
//[if lt IE 7]><html lang="en" class="no-js oldie lt-ie9 lt-ie8 lt-ie7"><![endif]
//[if IE 7]><html lang="en" class="no-js oldie lt-ie9 lt-ie8"><![endif]
//[if IE 8]><html lang="en" class="no-js oldie lt-ie9"><![endif]
//[if gt IE 8]><!
html(class='no-js', lang='en')
//<![endif]
head
В версии 1.0.0
(выпущенной 22 декабря 2013 г. ) Jade больше не анализирует содержимое комментариев, и поддержка условных комментариев IE была удалена (//if lt IE 7
не будет работать, как в версии 0.35.0
и ниже).
Новый подход заключается в использовании хорошо отформатированных условных комментариев IE. Таким образом, чтобы сгенерировать выше условные комментарии IE, шаблон Jade должен быть следующим:
<!--[if lt IE 7 ]> <html class="ie6"> <![endif]-->
<!--[if IE 7 ]> <html class="ie7"> <![endif]-->
<!--[if IE 8 ]> <html class="ie8"> <![endif]-->
<!--[if IE 9 ]> <html class="ie9"> <![endif]-->
<!--[if (gt IE 9)|!(IE)]><!-->
html(class="")
<!--<![endif]-->
...
Обратите внимание, что первые четыре элемента html
являются хорошо отформатированными элементами HTML. Последний использует синтаксис Jade. Также последний комментарий <!--<![endif]-->
должен быть с отступом.
С версией Jade 1.0.0 и выше можно безопасно использовать комментарии HTML, поскольку Jade будет игнорировать любую строку, начинающуюся с символа <
.
Вы также можете посетить этот пост в условных комментариях IE в Jade, где говорится о разнице между версией Jade 0.35.0
и 1.0.0
. Также показан альтернативный подход использования механизма Jade Mixins для условных комментариев.
Начиная с версии 1.0.0, конструкция // if
больше не волшебна . Либо отредактируйте HTML дословно (любая строка, начинающаяся с < передается Jade как есть), либо используйте mixin, как указано в блоге Тома , который цитируется в другом ответе:
mixin ie(condition)
| <!--[!{condition}]>
block
| <![endif]-->
doctype html
html
head
title= My title
+ie('if IE 8')
link(rel='stylesheet', href='/stylesheets/style-ie8-1.css')
Насколько я знаю, вы не можете поместить html-теги, подобные этой, в jade. для этого либо вам нужно включить html, либо использовать трейлинг (.) в тегах, поддерживающих текст, например:
p. <html><script></script>....
Так что тег html не поддерживает текст, поэтому вы не можете это сделать. другое решение:
-if IE==6
html.ie6
-if IE==7
html.ie7
-if IE==8
html.ie8
-if IE==9
html.ie9
head
body
h1 My sit