html - 如何删除具有内联 block 样式的列表项之间的空格

标签 html css

我有一个无序列表,我需要将其放在 div 中居中,但也需要并排。为此,我使用了 text-align: center;在 div 上,以及 display: inline-block;在列表项上。但是,当我这样做时,列表项之间会出现一些空格。 Here is a demo

html

<div class="wrap">
    <ul>
      <li>hello</li>
      <li>buddy</li>
      <li>good</li>
      <li>morning</li>
    </ul>
</div>

CSS

li {
    margin: 0px;
    padding: 0px;
    display: inline-block;
    border: 1px solid green;
}

ul {
    list-style-type: none;
    margin: 0px;
    padding: 0px;
    width: 95%;

}

div.wrap {
    width: 500px;
    border: 1px solid red;
    text-align: center;
}

最佳答案

问题的出现是因为当设置为 display: inline-block 时,元素现在被视为单词,因此元素之间的换行符被视为空格。

你有几个选择,1是删除元素之间的换行符:http://jsfiddle.net/26eg9/8/

或者您也可以将父元素中的字体大小设置为 0 并在列表项中重置,如下所示:http://jsfiddle.net/26eg9/3/

我个人更喜欢第二种,因为它可以使 HTML 文档看起来整洁。

编辑:新行可以通过将其放入列表项中来保留在第一个选项中,只是我仍然认为这看起来很草率

关于html - 如何删除具有内联 block 样式的列表项之间的空格,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19913332/

相关文章:

html - 覆盖 “a” 标签应用的 CSS

javascript - 如果页面上的不同元素具有特定类,如何将类添加到元素

html - CSS 设计文本对齐显示更多

javascript - 如何从多个元素复制属性值并将每个元素复制到不同的元素?

html - 如何通过格式化的 json 在 pre 标签中显示中断?

javascript - 在网页中模拟 DOS 或终端屏幕的最佳方法是什么?

javascript - 如何在 AngularJs ui-select-match 元素中的最终 html 元素上应用类?

html - 如何在 HTML 中留出空格

html - hr标签的自定义CSS

html - 轻松从另一个网站导入元素