Html 这两个ul标签有什么区别

Html 这两个ul标签有什么区别,html,css,Html,Css,有些事让我抓狂 我有一个大的HTML模板,我不能发布,但问题是,当我像这样写ul标签时,一切都正常 <ul><li>something</li><li>something</li><li>something</li></ul> 某物某物某物 但是当我这样写的时候,我得到了+4像素,我不知道从哪里来的 <ul> <li>something</li> <li&

有些事让我抓狂 我有一个大的HTML模板,我不能发布,但问题是,当我像这样写ul标签时,一切都正常

<ul><li>something</li><li>something</li><li>something</li></ul>
  • 某物
  • 某物
  • 某物
但是当我这样写的时候,我得到了+4像素,我不知道从哪里来的

<ul>
<li>something</li>
<li>something</li>
<li>something</li>
</ul>
  • 某物
  • 某物
  • 某物
当我使用第二种方法时,我确信我在某个地方没有多余的空间,但我认为这是来自它们之间的“回车”

有解决办法吗?可能是css

::额外信息

我发现问题来自于关闭和启动li tag,这样就解决了

<ul>
<li>
something
</li><li>
something
</li><li>
something
</li>
</ul>
  • 某物
  • 某物
  • 某物

有什么想法吗?

我不知道是什么导致了这个问题,但是你可以用CSS解决它。为li元素编写一个样式,并指定适当的边距。

您可能会注意到这样的间隙,因为您正在使用CSS创建水平菜单;当创建
  • 内联元素时,它们之间的空白不会被忽略。

    我会首先使用一个类似这样的重置CSS您注意到的是(x)html将空白压缩为单个空格的“功能”。大多数情况下,这不是一个太大的问题,但对于水平菜单来说,这是一个恼人的问题

    有两种方法可以解决这个问题(除了第一个示例之外):

    • 某物 >某物 >什么
    (请注意,前两个
    标记直到下一行才关闭。)

    • 某物

    在我更喜欢的两个选项中,第一个选项不会抛出任何错误,在XHTML1.0严格的环境下可以非常愉快地进行验证。这不是一个理想的情况,但它比尝试将整个列表放入一行(x)html中要好一些。

    从哪里获得+4像素?在左边?像素出现在哪里,可能是一些特殊的字符吗?使用firefox的firebug插件,检查哪种风格给了你这个空白。不知道这会毁了我的设计,我只是在它的父元素上添加了4个像素,你使用的是哪种IDE。您是否也签入了不同的IDE?什么不起作用?我没有提出任何建议。我的猜测是否正确?尝试将样式应用于ul和li:li{margin:0;}ul{margin:0;}这应该可以。
    <ul>
    <li>something</li
    ><li>something</li
    ><li>something</li>
    </ul>
    
    <ul>
    <li>something</li><!-- hiding the whitespace
    --><li>something</li><!-- hiding the whitespace again
    --><li>something</li>
    </ul>