UL标签周围的垂直间距

问题描述:

<div>标签和<ol><ul>标签之间的意外差异之一是列表标签在块的顶部和底部添加了20px的填充,以指定在样式属性中指定的任何值。UL标签周围的垂直间距

实际上,使用<div><li></li><li></li></div>可以给出所需的结果。虽然这种解决方法显然是非法的 - (问题2031725)。我猜这个解决方法是海报想到的。

Firefox/Safari/IE共享此行为。这个问题是否源于HTML规范?还有其他明显的解决方法吗?这似乎是一个明显的缺陷,我听到很多抱怨。

+0

您不能拥有没有列表的列表项目。首先是鸡蛋或鸡肉类的东西。使用标准的HTML和CSS来达到预期的效果。这也不是一个解决方法,它只是格式不正确的HTML。 – 2010-09-13 19:59:22

+0

HTML用于标记某些文本*是*(列表,段落,表格等),CSS用于控制它的外观。尝试并坚持这种思维方式,你会活得更久。 – 2010-09-13 20:16:25

<ol><ul>附近的垂直空间标记不是HTML的一部分,而是浏览器的默认样式。如果您不喜欢该风格,请使用change it而不是使用无效的HTML。

我也会反对“无意识的差异”。 <ol><ul>具有固有的语义含义(分别是有序列表和无序列表),因此浏览器默认使用它们来支持该含义。 <div>几乎没有语义含义,所以默认情况下是无风格的。