【问题标题】:Semantically correct XHTML markup语义正确的 XHTML 标记
【发布时间】:2010-06-14 16:31:05
【问题描述】:

只是试图掌握使用语义正确的 XHTML 标记的窍门。

只是为一个小导航项编写代码。每个按钮实际上都有一个标题和一个描述。因此,我认为定义列表会很棒,所以我写了以下内容

<dl>
    <dt>Import images</dt>
    <dd>Read in new image names to database</dd>

    <dt>Exhibition Management</dt>
    <dd>Create / Delete an exhibition </dd>

    <dt>Image Management</dt>
    <dd>Edit name, medium and exhibition data  </dd>
</dl>

但是...我希望上面是 3 个按钮,每个按钮包含 dt 和 dd 文本。我怎样才能用正确的代码做到这一点?通常我会将每个按钮设为一个 div 并将其用于可视按钮行为(onHover 和当前页面选择内容)。

请给点建议

谢谢

【问题讨论】:

  • &lt;input type="button" /&gt;&lt;button&gt; 这样的按钮或&lt;a&gt; 的超链接(有些人错误地将其称为按钮)?

标签: html css xhtml semantic-markup


【解决方案1】:
<ul>
    <li><a href="#" title="Read in new image names to database">Import images</a></li>
    <li><a href="#" title="Create / Delete an exhibition">Exhibition Management</a></li>
    <li><a href="#" title="Edit name, medium and exhibition data">Image Management</a></li>
</ul>

这就够了。 使用&lt;dl&gt; 进行导航不是很聪明。或者在 &lt;li&gt; 中使用 &lt;span&gt; 和描述。 &lt;dd&gt; 会让你很头疼,因为它们不在 &lt;dt&gt; 内,也不关心它的位置和样式

【讨论】:

  • 很好,感谢您的建议。那么在链接中添加 ul 就足够了吗?很高兴知道。
  • 鉴于 - 这仅供参考,我个人同意您使用 ul/ol 进行导航 - cssplay.co.uk 的 Stu Nicholls 提倡使用 &lt;dl&gt;导航菜单:cssplay.co.uk/menus/definition.html
【解决方案2】:

我对您使用的术语“按钮”感到有些困惑。如果您的意思是链接,那么您可以这样做:

<a href="dest.html" title="Read in new image names to database">Import images</a>

但是,如果您指的是输入标签,那么执行此操作的一种方法是使用 input type=image,然后提供 alt 描述。

例如:

<input type="image" src="image.jpg" value="Import images" alt="Read in new image names to database"/>

【讨论】:

    【解决方案3】:

    您可以使用&lt;label&gt; 元素代替&lt;dt&gt; 元素:

    <ul>
        <li>
            <a href="#">
                <label for="import-images">Import images</label>
                <span id="import-images">Read in new image names to database</span>
            </a>
        </li>
        <li>
            <a href="#">
                <label for="exhibition-management">Exhibition Management</label>
                <span id="exhibition-management">Create / Delete an exhibition</span>
            </a>
        </li>
        <li>
            <a href="#">
                <label for="image-management">Image Management</label>
                <span id="image-management">Edit name, medium and exhibition data</span>
            </a>
        </li>
    </ul>
    

    ...&lt;label&gt; 元素的for 属性只需匹配文档中另一个元素的id 即可。

    【讨论】:

    • 谢谢!如果你真的需要像“将新图像名称读入数据库”这样的小信息显示为工具提示(就像他们使用 title 属性所做的那样),你可以使用像 jQuery 工具提示插件 docs.jquery.com/Plugins/Tooltip 这样的东西,然后你会能够在其中包含标记。
    猜你喜欢
    • 2015-06-25
    • 2011-06-23
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-03-18
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多