如何阻止新行在HTML中的列表项之间添加空格

cos*_*van 10 html

我有以下HTML;

li 
{
    list-style: none;
    border: solid 1px blue;
    display: inline;
    margin: 0px 0px 0px 0px;
}
...
<ul>
    <li>Item 1</li>
    <li>Item 2</li>
    <li>Item 2</li>
</ul>
Run Code Online (Sandbox Code Playgroud)

当我在他们自己的行上添加列表项时,它们之间会出现一个水平空格,但是当我这样做时;

<li>Item 1</li><li>Item 2</li><li>Item 2</li>
Run Code Online (Sandbox Code Playgroud)

他们不.

无论如何都要阻止新线显示为空白区域,还是需要使用负边距?

Kev*_*eal 20

您可以使用HTML注释删除该空间:

<ul>
   <li>Item 1</li><!--
--><li>Item 2</li><!--
--><li>Item 2</li>
</ul>
Run Code Online (Sandbox Code Playgroud)

新浏览器还支持css属性,但我不记得它的名称(这是一个硬搜索查询).

  • 您可能指的是[`text-space-collapse:discard;`](https://drafts.c​​sswg.org/css-text-4/#propdef-text-space-collapse),这些内容尚未实现浏览器了. (3认同)
  • 这是一个非常独特的替代方案,可以像每个人都建议的那样将代码杂乱无章。 (2认同)

doc*_*hat 9

它们之间存在空间的原因是它们之间存在空间.:-)

你可以将它们浮动li到左边,然后就可以摆脱它了:

li { float: left; }
Run Code Online (Sandbox Code Playgroud)

再见!


小智 5

为了避免这些空格,您可以使用flex css属性

ul {
    display: flex;
}
Run Code Online (Sandbox Code Playgroud)

参见示例