当前位置: 首页 > 面试题库 >

如何删除列表项之间的空格

袁开宇
2023-03-14
问题内容

如何摆脱列表项之间的空白?我正在努力使图像彼此相邻。即使我将样式设置为margins: 0;,它们仍然分开。

CSS

ul.frames{
  margin: 20px;
  width: 410px;
  height: 320px;
  background-color: grey;
  float: left;
  list-style-type: none;
}

ul.frames  li {
  display:inline;
  margin: 0;
  display: inline;
  list-style: none;
}

ul.frames li img {
  margin: 0 0 0 0;
}

HTML

<li>
  <img id="myImg" src="img.jpg" width="102.5px" height="80px"/>
</li>
<li>
  <img id="myImg2" src="img.jpg" width="102.5px" height="80px"/>
</li>
<li>
  <img id="myImg3" src="img.jpg" width="102.5px" height="80px"/>
</li>
<li>
  <img id="myImg4" src="img.jpg" width="102.5px" height="80px"/>
</li>

问题答案:

2014年9月1日更新

在现代浏览器中,flex-box是执行此操作的首选方法。就像这样简单:

ul {
  display: flex;
}

在这里查看JSFiddle

对于旧版浏览器的支持,请参考下面的其他选项,尽管稍微复杂一些,但它们仍然不错。

尽管每个其他答案至少提供了一个好的解决方案,但似乎没有一个提供 所有 可能性。这就是我将在这里尝试做的。

首先,要回答关于 为什么 存在间距的隐式问题,它 之所以 存在,是因为您已将LI设置为显示为嵌入式元素。

inline是我所知道的所有浏览器中文本和图像的默认显示值。只要代码中有空格,内联元素就会以它们之间的间隔呈现。当涉及到文本时,这是一件好事:由于我在代码中包含的空格,因此我将这些键入的单词分隔开。每行之间也有间隔。正是内联元素的这种行为使Web上的文本完全可读。

但是有时我们希望非文本元素能够inline利用此显示样式的 其他
属性。这通常包括我们的元素紧密贴合在一起的愿望,这与文本完全不同。这似乎是您的问题。

事不宜迟,以下是我所知道的摆脱间距的所有方法:

保持内联

  1. 不建议 )对LI施加负边距以将其移开。
    li { margin: -4px; }
    

请注意,您将需要“猜测”空间的大小。不建议这样做,因为正如Arthur在下面的注释中所指出的那样,用户可以更改其浏览器的Zoom,这很可能会弄乱代码的呈现。此外,此代码需要太多的猜测和计算。有更好的解决方案可以在所有条件下工作。

  1. 摆脱空白

    <li>One</li><li>Two</li>
    
  2. 使用注释使空白成为注释

    <li>One</li><!--
    

    –>

  3. Two
  4. 跳过结束标记(对HTML4有效]/对[HTML5有效

    <li>One
    

  5. Two
  6. 将空白放在标签本身中( 注意:早期的Internet Explorer不会这样

    <li>One</li
    

  7. Two</li

  8. 利用这样的事实,即元素之间的间距是按父字体大小的百分比计算的。因此,将父级的字体大小设置为0将导致没有空格。只需记住在上设置非零字体大小,以li使文本本身具有非零字体大小。在JSFiddle上查看。

漂浮他们

  1. 浮动他们。如果这样做,您可能需要清除父项。
    li { float: left; display: block; }
    


 类似资料:
  • 问题内容: 如何删除表格中行和列之间的多余空间。 我尝试过更改表格以及tr和td的边距,填充和各种边框属性。 我希望所有图片都紧挨着看起来像一张大图片。 我该如何解决? CSS HTML 问题答案: 将此CSS重置添加到您的CSS代码中: 它将有效地重置CSS,摆脱填充和边距。

  • 问题内容: 如何删除表格中行和列之间的多余空间。 我尝试过更改表格以及tr和td的边距,填充和各种边框属性。 我希望所有图片都紧挨着看起来像一张大图片。 我该如何解决? CSS HTML 问题答案: 将此CSS重置添加到您的CSS代码中: 它将有效地重置CSS,摆脱填充和边距。

  • 问题内容: 我有一个清单,里面有空清单: 如何删除空列表,以便获得: 我尝试了list.remove(’‘),但这不起作用。 问题答案: 尝试 如果您想摆脱所有“虚假”的东西,例如空字符串,空元组,零,您也可以使用

  • 问题内容: 我在线性布局中有一堆按钮。但是有空格按钮。我将padding设置为0,但是没有变化。在http://www.mail- archive.com/android- developers@googlegroups.com/msg51104.html上 已经有相同的问题,但那里没有答案。请你帮我一下。 问题答案: 尝试使用属性。例如,要减少左侧/右侧的空间(假设您有一组水平的按钮),可以执行

  • 我正在使用回收器视图显示具有多个视图的项目。每当我启动应用程序时,就会显示一些空白。正好等于我的列表项。我提供了截图,请浏览一下。 我想我的代码没有问题。下面是我的代码RecycerView 适配器代码 请帮帮我。谢谢。

  • 为什么两个 标记之间有空格?当我设置 标记的宽度时,它不起作用。我将其设置为 ,但两个 标记之间仍有空格。如何从 标记中删除空格? 以下是HTML和CSS代码: null null