在<li>标签之间放置<h2>标签是否在语义上不正确?</li> </h2>

时间:2011-07-02 03:56:16

标签: html

我打算做这样的事情:

<ul class="menu">
 <li><h2>Contact</h2></li>
 <li>my email</li>
 <li>my phone</li>
</ul>

语义上是不正确的(或不好的做法?)

如果答案是肯定的,我应该这样做吗?

<ul class="menu">
 <li><strong>Contact</strong></li>
 <li>my email</li>
 <li>my phone</li>
</ul>

(我不能只放置一个标题标签,因为没有div来对它们进行分组):

<div id="branding">
<h1>
<ul class="menu">
<ul class="menu">
<ul class="menu serif">
<ul id="lang">
</div>

3 个答案:

答案 0 :(得分:9)

根据W3C Validator使用<h2>标记内的<li>标记完全有效。这是首选使用带有样式的<strong>标签,因为它传达了文本的语义意图(因此有助于SEO)。

答案 1 :(得分:5)

是否有特殊理由将“联系人”置于li内?它似乎是列表的标题而不是列表的一部分,所以我会这样做:

<h2>Contact</h2>
<ul>
 <li>my email</li>
 <li>my phone</li>
</ul>

答案 2 :(得分:0)

是的,它可以用作默认情况下li是块元素。块元素下的嵌套块元素是有效的,并且在li标签内使用诸如h2,h3等标题标签的方法使得代码更具可读性。这是一个例子:

parfor ii=1:5
    % Specify the changing bound
    %copy broadcast variable prob to a temporary variable prob2
    %this way the iteration has writing capabilities
    prob2=prob
    prob2.blc = testBounds(ii);

    % Optimize the problem. 
    [r,res]=mosekopt('minimize',prob2);

    % Display the primal solution.
    res.sol.itr.xx'
end