关于li之间存在空白字符的问题

关于li之间存在空白字符的问题

出现的问题如下图所示,可以很容易的看出来,就是在相邻的li之间是存在空的字符的
这里写图片描述

一、出现该问题的原因

当我们使用JS的children和childNodes这个属性的时候,是否发现了她们在FF浏览器下的结果并不相同,那么原因是什么呢?就是对于文本节点的处理的不同,上面的图也就很容易解释了9这个结果

这里写图片描述

那么对于就今天的问题,li之间出现距离的原因,就是因为空白字符的出现,也就是说因为我们在写li标签的时候的换行,而且空的字符的大小,就等于字体的大小,那么该如何解决呢?我们继续往下看

二、解决空白字符的问题

1. 设置font-size

在ul上面设置font-size为0,在li上设置需要的font-size的大小

    ul {
        font-size: 0;
    }
    ul li {
        font-size: 1.2rem;
    }

但是这种方法会使得在li的下面出现下边距

2. 将li的开始标签和结束标签不写在一行

<ul>
  <li><a href="#">首页</a>
  </li><li><a href="#">关于我们</a>
  </li><li><a href="#">帮助</a>
  </li><li><a href="#">更多</a>
  </li>
</ul>

3.li不闭合

<ul>
  <li><a href="#">首页</a>
  <li><a href="#">关于我们</a>
  <li><a href="#">帮助</a>
  <li><a href="#">更多</a>
</ul>

未闭合的li会被浏览器解析为正确的形式

4. 设置负边距

ul li + li {
  border-left: 1px solid #999;
  margin-left: -3px;
}
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值