Ответ 1
То, что тип HTML5 и он должен хорошо работать во всех браузерах, включая IE6.
JSF официально указан для создания разметки, совместимой с XHTML 1.0 (с здесь и существует несколько нарушений в реализациях, которые исправлены в JSF 2.2 и/или управляемы с помощью параметров контекста). JSF может по дизайну не генерировать non-XML sytnax (например, <br>
вместо <br/>
), и поэтому старый тип документа HTML4 никак не совместим с выходным HTML-выходом JSF (то есть, когда вы уважаете стандарты и/или опасайтесь W3 validator, однако большинство, если не все браузеры, очень прощают на нем). В отличие от старого документа HTML4, doctype HTML5 допускает синтаксис XML и поэтому совместим с доктринами XHTML. Поэтому страницы JSF могут быть написаны с помощью документа HTML5.
Доктрипт имеет значение только для того, как webbrowser интерпретирует и представляет HTML-разметку (как это сделано JSF в вашем конкретном случае, но HTML не обязательно должен быть создан JSF, и поэтому представление браузера технически полностью не связано с JSF). В частности, Microsoft IE имеет серьезную проблему с некоторыми доктринами или полным отсутствием doctype. В нижней части этой страницы вы можете найти краткий обзор поведения браузера в сочетании с определенными доктринами. Существует три стандартных поведения:
- Q - Quirksmode. Вы действительно этого не хотите. В IE запускается ошибка модели коробки. CSS
width
иheight
затем неправильно покрываетpadding
иborder
. - A - Режим почти стандартов. Доступный, только вертикальный размер ячейки таблицы не соответствует спецификации CSS2. Полезно, если вы хотите избежать таинственных пробелов изображений в ячейках таблицы.
- S - режим стандартов. Браузер пытается полностью соответствовать стандарту w3 HTML/CSS. Предпочтительный режим, поскольку это единственный режим, в котором вы можете быть менее или более уверенным, что ваш веб-сайт будет выглядеть одинаково во всех браузерах.
В вашем конкретном случае, с изменением переходного doctype XHTML 1.0 до типа HTML5, Firefox, Chrome, Safari и IE >= 8 будут идти от "А" до "S". Итак, вы должны обязательно просмотреть презентацию вашего веб-сайта на своем веб-сайте в отношении заполнения изображений в ячейках таблицы, если вы намерены создать идеальный пиксель.
Что касается важности doctype в IE, вот фрагмент HTML, который демонстрирует ошибку в коробке, вызванную "Q" в IE6-9 (обратите внимание, что это больше не проявляется в IE10):
<!DOCTYPE html>
<html lang="en">
<head>
<title>Remove DOCTYPE to trigger quirksmode</title>
<style>
#box {
background: yellow;
width: 100px;
padding: 20px;
border: 20px solid black;
margin: 20px;
}
</style>
</head>
<body>
<div id="box">box</div>
</body>
</html>
Скопируйте'paste'n'run это. При наличии <!DOCTYPE html>
вы увидите прямоугольник. Без линии doctype вы увидите подлинный квадрат (в IE10 вам понадобится набор инструментов webdeveloper (нажмите F12), чтобы изменить "Режим браузера", например, IE9, чтобы увидеть его).