我在joomla2.5模板中找到以下代码令人惊讶的惊讶:beez5为什么必须使用html5?
<?php if(!$templateparams->get('html5', 0)): ?>
<div id="header">
<?php else: ?>
<header id="header">
<?php endif; ?>
呀!这是HTML5的年龄,但代码是询问浏览器是否支持html5,然后添加<header id="header">
标签,否则添加<div id="header">
。为什么模板不使用<div id="header">
而不是两者?
问题:旧标记<div id="header">
和新标记<header id="header">
有什么区别?如果浏览器支持html5,那么当使用<header id="header">
时,它的行为与<div id="header">
不同吗?
Afaik的主要区别在于它更清晰这种方式。一个div可以是任何东西,但是标题是标题,并且不应该在某个页面上更频繁地出现。此外,它可能会帮助你的CSS,但我不太确定这个...。 – Shimu
“但代码是问浏览器是否支持html5” - 这看起来不像是检查浏览器,它看起来像检查配置(仅适用于服务器端配置)。 – hvd
[W3C本身说](http://www.w3.org/wiki/Generic_containers_-_the_div_and_span_elements)(关于div和span)“它们是”最后一招“的标记,只能用于没有其他HTML元素符合法案,因为它们对于辅助技术,搜索引擎等毫无意义。“ –