<div class="my-test">
  <ul>
    <li>1</li>
    <li>2</li>
    <li>3</li>
  </ul>
</div>
<Style>
.my-test { width: 100%; height: 50px;}
.my-test ul li { 
  list-style: none; 
  display: inline-block; 
  vertical-align: middle; 
  font-size: 12px; 
  text-align: center; 
  width: 20%;
  height: 100%; 
  line-height: 50px; 
  background: rgba(0,0,0,.4)}
</style>

效果如下:
inline-block的间距问题

为什么会出现间距呢?
把html换成如下:

<div class="my-test">
  <ul >
    <li>1</li>
    <li>2</li><li>3</li>
  </ul>
</div>

效果如图:
inline-block的间距问题

获取UL的子节点:
inline-block的间距问题

可以看到,第一个li和第二个li之间有一个text的节点,而第二个li和第三个li之间并没有节点。

这是因为 换行符被浏览器解析为text节点

  • li标签不换行
  • font-size:0px

相关文章:

  • 2021-11-02
  • 2021-12-25
  • 2022-12-23
  • 2022-12-23
  • 2022-12-23
  • 2021-08-29
猜你喜欢
  • 2022-02-06
  • 2021-12-15
  • 2021-11-17
  • 2021-11-07
  • 2021-12-27
  • 2019-03-30
  • 2021-07-12
相关资源
相似解决方案