如何停止在HTML列表项中添加空格的新行
我有以下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>
当我在他们自己的行上添加列表项时,它们之间会出现水平间距,但是当我这样做时;
<li>Item 1</li><li>Item 2</li><li>Item 2</li>
他们不。
无论如何阻止新行显示为空格,还是我需要使用负余量?
究其原因,它们之间的空间,因为它们之间存在的空间。 :-)
您可以浮动li
的左,那将摆脱它:
li { float: left; }
的Ciao!
该空间对于内联内容是正确的。你有两种选择:
- 把它们放在同一条线上,就像你在做的一样;或
- 使用浮动。
例如:
ul { overflow: hidden; }
li { float: left; border: solid 1px blue; margin: 0px; }
的overflow: hidden
确保含<ul>
不会崩溃。如果您将红色边框添加到<ul>
,比较有和没有它的区别。
您可以通过使用HTML注释删除空间:
<ul>
<li>Item 1</li><!--
--><li>Item 2</li><!--
--><li>Item 2</li>
</ul>
也有较新的浏览器支持的CSS属性,但我不记得它叫什么(这是一个很难的搜索查询)。
这是一个非常独特的替代方案,像所有人所暗示的那样混乱代码。 – 2014-07-30 13:38:47
您可能指的是['text-space-collapse:discard;'](https://drafts.csswg.org/css-text-4/#propdef-text-space-collapse),它尚未实现任何浏览器呢。 – 2017-02-16 03:20:46
澄清“...因为它们之间存在空间...”: HTML会将所有空格合并为单词或元素之间的单个空格元素。它不会完全删除所有的空白区域,否则事情就会变得混乱。 :-) – 2009-12-19 04:24:59
这很好,但有没有其他的解决方案,而不使用浮动? – 2017-06-28 05:22:56