2010-08-20 4 views

ответ

6

No. HTML комментарии не может быть внутри тега. Попытка:

<!--[if gte IE 7]>--> <body id="some_id"> <!--<![endif]--> 
<!--[if lt IE 7]> <body id="some_id" class="ie6"> <![endif]--> 
+0

спасибо, моя проблема в том, что тело может иметь или не иметь идентификатор в зависимости от сценария на стороне сервера, похоже, мне нужно найти другое решение – mjr

+1

@mjr, почему бы не позволить серверному скрипту обрабатывать его тогда? –

+0

ya ... Я не знаком с обнюхиванием браузеров на стороне сервера – mjr

1

Нет - комментарии не могут быть вставлены внутри тегов.

2

Нет, и это не обязательно. Всегда дают класс к элементу тела и оставить определение CSS .ie пустым для всех браузеров, но IE6:

.ie6 { 
<!--[if lt IE 7]--> 
    ... ugly ie6 hack ... 
<!--[endif]--> 
} 
</style> 
<body class="ie6"> 
+0

хорошая мысль, но это ограничивает меня одной версией, т.е. в классе Если бы я хотел добавить и т. Д. Или т. Е. Класс в будущем, я не знаю, было ли это лучшим решением. – mjr

+0

Почему? Вы можете добавить столько классов к одному элементу, сколько вам нужно (разделите их по пробелу), или вы можете использовать 'ie' в качестве общего класса, а затем добавить много' if 'внутри CSS. –

0

Нет, вы не можете, так что вам придется повторить тег и все его атрибуты.

Многие люди добавляют класс идентификатора браузера в тег <html>. Использование тега body также прекрасное, но я бы использовал тот, который имеет наименьшее количество символов в его атрибутах.

WordPress «тело» тег может выглядеть следующим образом

<body class="home page page-id-38 page-template page-template-template-homepage page-template-template-homepage-php woocommerce-demo-store storefront-full-width-content right-sidebar woocommerce-active has-site-logo">

Таким образом, вы бы поставил класс в <html> теге так сохранить повторяя, что длинная строка.

<!DOCTYPE html> 
<!--[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> <!--<![endif]--> 
    <head> 
    </head> 
    <body class="home page page-id-38 page-template page-template-template-homepage page-template-template-homepage-php woocommerce-demo-store storefront-full-width-content right-sidebar woocommerce-active has-site-logo"> 

A html тег может выглядеть следующим образом.

<html class="" lang="en" xml:lang="en" dir="ltr" prefix="og: http://ogp.me/ns#" itemscope itemtype="http://schema.org/Webpage">

В этом случае вы можете поместить класс в <body> тега.

<!DOCTYPE html> 
<html lang="en" xml:lang="en" dir="ltr" prefix="og: http://ogp.me/ns#" itemscope itemtype="http://schema.org/Webpage"> 
    <head> 
    </head> 
    <!--[if lt IE 7 ]> <body class="ie6"><![endif]--> 
    <!--[if IE 7 ]> <body class="ie7"><![endif]--> 
    <!--[if IE 8 ]> <body class="ie8"><![endif]--> 
    <!--[if IE 9 ]> <body class="ie9"><![endif]--> 
    <!--[if (gt IE 9)|!(IE)]><!--> <body> <!--<![endif]--> 

Если у меня было что-то, что оставило меня не optio, но повторить огромную строку несколько раз, вот так.

<!DOCTYPE html> 
<html class="" lang="en" xml:lang="en" dir="ltr" prefix="og: http://ogp.me/ns#" itemscope itemtype="http://schema.org/Webpage"> 
<head> 
</head> 
<body class="home page page-id-38 page-template page-template-template-homepage page-template-template-homepage-php woocommerce-demo-store storefront-full-width-content right-sidebar woocommerce-active has-site-logo"> 

Тогда я бы, вероятно, использовать Javascript

<!DOCTYPE html> 
<html class="" lang="en" xml:lang="en" dir="ltr" prefix="og: http://ogp.me/ns#" itemscope itemtype="http://schema.org/Webpage"> 
<head> 
<script> 
    (function(){ 
     var d=document, 
      h=d.documentElement, 
      v = 3, 
      p = d.createElement('p'), 
      i = p.getElementsByTagName('i'), 
      u; 
      while (
       p.innerHTML = '<!--[if gt IE ' + (++v) + ']><i></i><![endif]-->', 
       i[0] 
      ); 
      h.className += (v > 4 ? ' ie'+v : ''); 
    })() 
</script> 
</head> 
<body class="home page page-id-38 page-template page-template-template-homepage page-template-template-homepage-php woocommerce-demo-store storefront-full-width-content right-sidebar woocommerce-active has-site-logo"> 

Этот сценарий является доработанная версия James Padolsey's сценария, который добавляет класс к html тега.

Смежные вопросы