В принципе, я хотел бы знать, если этот код нормально,Могу ли я включить IE условные комментарии в открывающий тег?
<body id="some_id" <!--[if lt IE 7 ]>class="ie6"<![endif]--> >
</body>
В принципе, я хотел бы знать, если этот код нормально,Могу ли я включить IE условные комментарии в открывающий тег?
<body id="some_id" <!--[if lt IE 7 ]>class="ie6"<![endif]--> >
</body>
No. HTML комментарии не может быть внутри тега. Попытка:
<!--[if gte IE 7]>--> <body id="some_id"> <!--<![endif]-->
<!--[if lt IE 7]> <body id="some_id" class="ie6"> <![endif]-->
Нет - комментарии не могут быть вставлены внутри тегов.
Нет, и это не обязательно. Всегда дают класс к элементу тела и оставить определение CSS .ie
пустым для всех браузеров, но IE6:
.ie6 {
<!--[if lt IE 7]-->
... ugly ie6 hack ...
<!--[endif]-->
}
</style>
<body class="ie6">
хорошая мысль, но это ограничивает меня одной версией, т.е. в классе Если бы я хотел добавить и т. Д. Или т. Е. Класс в будущем, я не знаю, было ли это лучшим решением. – mjr
Почему? Вы можете добавить столько классов к одному элементу, сколько вам нужно (разделите их по пробелу), или вы можете использовать 'ie' в качестве общего класса, а затем добавить много' if 'внутри CSS. –
Нет, вы не можете, так что вам придется повторить тег и все его атрибуты.
Многие люди добавляют класс идентификатора браузера в тег <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
тега.
спасибо, моя проблема в том, что тело может иметь или не иметь идентификатор в зависимости от сценария на стороне сервера, похоже, мне нужно найти другое решение – mjr
@mjr, почему бы не позволить серверному скрипту обрабатывать его тогда? –
ya ... Я не знаком с обнюхиванием браузеров на стороне сервера – mjr