插入<li>...</li>页面而不将项目封入<ul>块中有什么危险?例如:
<div style="border:solid 1px red;">
<li>Item</li>
<li>Another Item</li>
<li>Yet Another Item</li>
</div>
Run Code Online (Sandbox Code Playgroud)
验证是我最不关心的问题,我想知道在浏览器中这可能会破坏最终用户按预期查看页面的能力.
Gre*_*osz 36
它根本不是有效的标记.如果它显示正确,那只是运气问题.
因为你似乎通过"在浏览器中打破最终用户按预期查看页面的能力"来定义危险,然后是的,这是危险的.
浏览器正在尽力弥补无效标记,但无法保证您的所有页面都能正确显示.
您说验证是您最不关心的问题,请重新考虑并查看为什么验证?.如果您关心的页面是否正确显示而没有怪癖,那么请验证.
最后,HTML Tidy可以帮助您修复现有的HTML.
编辑:我将你的片段提交到browsershots.org,看看它是如何被不同的浏览器呈现的.
Ner*_*mer 12
像示例一样使用无效标记可能会导致不同页面出现意外行为.如果您使用有效标记,浏览器将(或应该)根据规范显示您的内容.但是如果你使用无效标记,浏览器将尝试插入标记并显示页面它认为你的意思.有时他们会以你想要的方式展示它,有时却不会.以下是Mac上Firefox 3.5的示例.

第一个列表是您的代码,但使用正确的<ul>标记替换<div>标记.第二个列表是您的代码.请注意,第二个列表缺少左侧和项目符号的默认边距.
基本上,如果你使用这样的无效标记,什么都不会死,但这是非常糟糕的做法,因为它会导致意外和不一致的结果.
这和<td>在里面使用标签一样<p>.当然,它可能在某些浏览器上以某种方式工作,但它肯定会被打破.这种构造的行为是未定义的,不能保证它在不同浏览器上的工作方式.更不用说可访问性,屏幕阅读器程序会对这种结构感到非常困惑.
为什么你不能使用正确的<ul>或<ol>标签?它的样式和处理方式与a相同<div>.