use*_*595 23 html twitter-bootstrap-3
在最新的Bootstrap 3导航栏的示例中,我在Web上找到了外部导航栏标记所在的各种示例
<div class="navbar navbar-default navbar-static-top">...</div>
Run Code Online (Sandbox Code Playgroud)
和其他例子正在使用
<nav class="navbar navbar-default" role="navigation">...</nav>
Run Code Online (Sandbox Code Playgroud)
所有示例都执行正常,文档调用NAV.这让我想知道网上的很多例子是不是版本3没有重写的版本2剩余,或者可以使用周围的标记.
Ban*_*ord 19
<nav> is the semantic HTML5 container element for you main navigation elements.
The nav is a block level element used to denote a section of major navigational links on a page. Not all links should be wrapped within a nav element. The nav should be reserved for primary navigation sections including universal navigation, a table of contents, breadcrumbs, previous/next links, or other noteworthy groups of links.
来自http://learn.shayhowe.com/html-css/elements-semantics
如果您使用的是HTML5,那么您应该使用nav.
如果你考虑" div ",它是一个块元素,什么都不包含,它是空白的,一个空盒子准备填充各种html- #X代码的好东西.
" Nav "元素大致相同,但它被保留为处理特定html5代码集的块!因此它保留用于导航链接(在实践中可以被破坏的规则).不过,你可以在任一标签中做同样的事情,它的CSS属性和在大多数情况下控制和操纵这两个框的类.
(在实践中可以被破坏的规则) 您甚至可以在整个网页中用导航替换所有div,如果浏览器支持导航,它将呈现相同的.但它只会让编码人,你和其他人感到困惑.
虽然我不确定是否有任何特定的指令来调节,限制或压缩导航到div,但它们似乎在所有透视图中都是相同的标记,一个空盒子容器.
这两种导航和DIV支持全球和事件属性,所以有没有没有区别.但!由于nav和div都是一个全局框(一个容器),你作为一个疯狂的科学家编码器有很多潜在的可能性.
对不起弱的参考,但(W3学校)
提供了一个非常好的洞察力,以更多的外行人的术语.
简而言之:NAV(HTML5)被作为生产经历的一个补充双胞胎来的div,以缓解视觉标签编码,使之更容易识别,易于阅读和理解给开发者.BTW:div不作为html5 /中的标签折旧,永远不会是IMO.跨度是另一个!
创建导航容器/盒子的旧方法是 -
<div id="navigate"><a href="whatever">link</a></div>
or
<div id="navigate" class="nav"><a href="whatever">link</a></div>
Run Code Online (Sandbox Code Playgroud)
并且属性,css和类完成了所有工作.
但是在html 5的精彩世界中,div标签诞生了克隆nav标签.
<nav> <a href="Home" class="xxx">my anchor/button/list of links with sprinkles</a></nav>
Run Code Online (Sandbox Code Playgroud)
该导航标签提供的它是干什么用的"更具体的指示(标识)导航 ".它只是元素的非语义(div)和语义(nav) ; 以及复制和抄袭w3学校的解释....
语义元素清楚地描述了它对浏览器和开发人员的意义.
nav清楚地在代码中描述它是一个块标签/容器,用于保存带有ul-li,a/href,按钮的导航链接(内容)......导航不会获取或发布任何内容,因为它只是一个空盒子容器,直到您将代码和链接放入其中.即使那时导航也什么也没做,它的链接就是这项工作.与nav标签相关联的属性对标签进行操作,例如,在其位置"隐藏或显示"它.
Div(除)是"非语义"的,因为除了在页面主体内划分区域之外,它没有(太多)在语义上描述它是专门用于或做的.
导航(导航)确实将自己描述为仅用于导航,因此它被视为语义.
最后和关系中的旁注,html5作为新标准正在流行,但它不是(在原始发布时间2016-17?)所有新浏览器都支持,因为它尚未最终确定为官方发布.IE还没有将它包含在他们的新版本中(我相信10).但它的到来!
但是因为nav>是较新的html 5(仅支持一些),我们仍然需要依靠div标签来包围/封装
<nav>...</nav>
Run Code Online (Sandbox Code Playgroud)
标签,它有点重要.因此我们仍然必须使用
<div> <nav> links 1</nav> </div>
Run Code Online (Sandbox Code Playgroud)
旧版浏览器的未来之路是因为导航标记无法识别,旧浏览器会忽略这些标记,否则内容可能只是浮动或推到边框之外或产生其他不良副作用.虽然在较新的浏览器中支持导航将是安全的.同时使用div和nav不会伤害ting或将外观改为任何明显的程度.
简而言之,我们不能排除支持较低版本的html(3.x和4.1)以支持HTML5的早期版本的浏览器,我们必须考虑所有浏览器并向后兼容.
由于较旧的操作系统(如Windows XP),有许多用户无法使用支持html5的新浏览器.所以请记住,仍有许多用户被迫运行IE 6,7,8垃圾,这些垃圾无法识别或呈现新的html5导航和其他标签.那就是如果你想要覆盖所有潜在的受众.
我希望通过我理解div和nav的问题和目的,这提供了更多的洞察力.