为了编写语义和实体标记,我可以在nav元素中定位徽标图像吗?就在ul元素之前。
<nav>
<img id="logo" />
<ul>
<li>a</li>
<li>b</li>
</ul>
</nav>
或者我应该将它全部包装在另一个元素中:
<section id="navigation">
<img id="logo" />
<nav>
<ul>
<li>a</li>
<li>b</li>
</ul>
</nav>
</section>
我更希望第一个最小化标记。
答案 0 :(得分:3)
是的,将图像放在<nav>
标记内没有问题。根据{{3}}和MDN,流标准内容是此标记的允许内容,其他许多元素包含<img>
标记。
答案 1 :(得分:3)
我只会在nav
中插入图片,如果...
h1
)
nav
元素表示链接到其他页面或页面中部分内容的页面部分:带导航链接的部分。
因此,本节不应包含与导航无关的内容。
你的第二个例子不是你想要的,因为你会创建一个错误的轮廓(因为外部section
)。
如果它是页面的主导航,而图像是网站徽标,我会使用此标记:
<header>
<h1><a href="index.html" title="Home page"><img src="logo.png" alt="ACME Inc."></a></h1>
<nav>
<ul>
<li>a</li>
<li>b</li>
</ul>
</nav>
</header>
如果您要将徽标链接到主页和,主页未在ul
中关联,我会将其插入nav
:
<nav>
<ul>
<li><a href="index.html" title="Home page"><img src="logo.png" alt="ACME Inc."></a></li>
<li>a</li>
<li>b</li>
</ul>
</nav>
但这是一种罕见的情况,因为你仍然需要一个页面标题,在大多数情况下,这将是徽标,在大多数情况下,这应该链接到网站的主页。