html - 如何去除行内li元素的默认外边距?

标签 html css

我有以下 HTML 和 CSS:

li {
  display: inline-block;
  padding: 10px;
  border: 1px solid red;
  margin: 0;
}
<ul>
  <li>one</li>
  <li>two</li>
  <li>three</li>
</ul>

我试图通过设置 margin: 0; 来移除 li 元素之间的边距,但它并没有移除边距。

result of HTML and CSS showing gap

如何消除这个差距?

最佳答案

将所有 li 组合在一行中可以解决问题。但是如果您想了解更多去除这些边距的技术,您可以访问:http://davidwalsh.name/remove-whitespace-inline-block .

它列出了这些技术:

1。元素之间没有空格

<ul><li>Item content</li><li>Item content</li><li>Item content</li></ul>

2。字体大小:父级为 0

.inline-block-list { /* ul or ol with this class */
font-size: 0;
}

.inline-block-list li {
font-size: 14px; /* put the font-size back */
}

3。 HTML 注释

<ul>
 <li>Item content</li><!--
 --><li>Item content</li><!--
 --><li>Item content</li>
</ul>

4。负边距

.inline-block-list li {
margin-left: -4px;
}

5。下降闭合 Angular

<ul>
 <li>Item content</li
 ><li>Item content</li
 ><li>Item content</li>
</ul>

关于html - 如何去除行内li元素的默认外边距?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20805028/

相关文章:

javascript - 如何在调整内部 div 大小后设置相对于单击事件和初始滚动的滚动位置?

javascript - 我想将我的数据附加到表格下方并在用户单击产品 ID 字段时进行搜索

jquery - 不透明度 0.5 除了这个 dd

javascript - 循环中 document.getElementById 的结果保持不变

html - CSS 响应式页脚

html - flex-basis 的列边距为 33.33%?

html - 试图在页面上居中固定菜单 div

html - 无法使div在html中 float

javascript - 使用 jQuery 的 animate with css 过滤器。

javascript - 如何调用嵌套在表格单元格中的文本区域的属性?