我可以在定义列表中包含标题元素吗?
示例:
<dl>
<h4> heading </h4>
<dt> title </dt> <dd> content </dd>
<dt> title </dt> <dd> content </dd>
<dt> title </dt> <dd> content </dd>
<h4> heading </h4>
<dt> title </dt> <dd> content </dd>
<dt> title </dt> <dd> content </dd>
<dt> title </dt> <dd> content </dd>
</dl>
它似乎在我的浏览器中按预期工作:)
答案 0 :(得分:6)
没有;在dl
中可能有效的仅元素为dd
和dt
。
它可能看起来有效的原因是浏览器的错误处理,这是不可预测的,据我所知,大部分都没有记录,因此不可以依赖。
虽然有趣的是,正如ŠimeVidas在评论(下文)中指出的那样,Firefox,Chrome,Safari,Opera和Internet Explorers 7和9不会更正结构并允许标题元素保留在dl
内。这让我很奇怪。
参考文献:
答案 1 :(得分:1)
FWIW,您可以在直接输入模式下使用w3c markup validator来检查代码段。
浏览器非常容忍糟糕的HTML,并且不符合规则,即使它现在有效,也可能意味着您的页面/布局会因未来的浏览器更新而中断。
我添加了所需的其他元素以使您的代码验证,如下所述。抱怨David Thomas所说的确切内容。
<!DOCTYPE html>
<html>
<head>
<title>asdf</title>
</head>
<body>
<dl>
<h4> heading </h4>
<dt> title </dt> <dd> content </dd>
<dt> title </dt> <dd> content </dd>
<dt> title </dt> <dd> content </dd>
<h4> heading </h4>
<dt> title </dt> <dd> content </dd>
<dt> title </dt> <dd> content </dd>
<dt> title </dt> <dd> content </dd>
</dl>
</body>
</html>
答案 2 :(得分:0)
你可以添加2个dt标签,其中一个带有类
dt.heading {
font-weight: bold
}
&#13;
<dl>
<dt class="heading">Heading</dt>
<dt>milk</dt>
<dd>white discharge</dd>
</dl>
&#13;
允许您拥有多个,因为多个术语可以具有相似但不相同的定义。同样聪明的你可以有多个,因为一个术语可以有几个不同的含义。 即使你通过CSS改变它看起来的方式这不会是一个真正的标题,并且会被搜索引擎等跳过...也许有一个带有seo内容的隐藏的h1标签