在SHTML页面的HTML部分中,我有以下内容:
<div class="block_center_1000_text_left">
<p class="anchor2" >
...
<a class="standard_paragraph_18">
<ul>
<li>Robert Schumann: Papillons Op.2</li>
<li>Frédéric Chopin: Preludio in do diesis minore Op.45</li>
<li>Claude Debussy: “Pour le Piano” (Prélude - Sarabande - Toccata)</li>
<li>Franz Liszt: Sonata in si minore R21</li>
</ul>
...
</a>
</p>
</div>
我从Dreamweaver收到验证错误: 文档类型不允许元素“ul”在这里;缺少“object”,“applet”,“map”,“iframe”,“button”,“ins”,“del”start-tag [XHTML 1.0 Transitional]
我不确定如何解释错误。我想要用子弹或类似东西订购的古典作曲家名单。
感谢您查看此内容。
答案 0 :(得分:3)
锚点(<ul>
)内不允许列表(<a>
)。正式就是这样。尽管如此,浏览器仍会显示它。
此外:HTML5规范describes将锚的内容模型(元素内允许或预期的内容)视为透明。透明意味着允许或预期的内容源自其父级。
示例:如果主播的父级是<p>
,您应该查看<p>
以查看允许的内容。如果它的直接父母会成为<div>
,那么您应该查看<div>
。
在这种情况下,锚元素是段落的直接后代。段落允许phrasing content,即文本或标记文本的元素(例如<strong>
)。但是<ul>
不是短语内容,因此应该放在<p>
之外。
总而言之,理论上这是正确的:
<p class="anchor2">Some text about birds or something totally unrelated to birds</p>
<a href="#">
<ul>
<li>Johann Sebastian Bach</li>
...
</ul>
</a>
但是在您的特定示例中,您只为锚指定了一个类。但是没有id
属性的锚点(可用于链接到文档中的特定点)或href
元素基本上不做任何事情。如果要为列表设置样式,请将类应用于列表本身,而不是应用于某些父元素。