首页 > 其他分享 >li标签设置inline-block后元素间产生间隙

li标签设置inline-block后元素间产生间隙

时间:2022-11-02 01:11:51浏览次数:62  
标签:元素 li 设置 inline font block

参考文章
li 与 li 之间设置display: inline-block;后有看不见的空白间隔如何形成的,相应的解决办法

1. 问题描述

当使用 li 作为导航栏时,通常需要将 li 设置为一行显示,其中一种方法就是将 li 元素设置为 display: inline-block; 行内块元素

但是,使用这种方法后可以发现,在每个 li 元素下面会有一点间隙,既不是 padding 产生的,也不算 margin 产生的。

image

2. 产生原因

在我们使用 inline-block 元素的时候,浏览器默认把 inline 元素之间的空白字符 ( Tab、回车、空格换行 ) 渲染为一个空格。上面效果中两个 li 元素间的换行符被转换为了一个空格,所以产生了一个字符宽度的间隙

3. 解决办法

3.1 删除换行符

直接将元素中间的所有空白符删除,让所有的 li 紧挨着。

<ul>
  <li>01</li><li>02</li><li>03</li>
</ul>

<!-- 代码不够美观,可读性较差 -->

3.2 使用 margin 属性

将第一个 li 后面的 li 都设置 margin-left: 负值

li:nth-child(n + 2) {
  margin-left: -5.2px;
  background-color: red;
}

/* 需要单独照顾第一个 li */

3.3 设置 font-size

设置父元素的 font-size 设置为 0; 再将每个 li 的字体大小恢复

ul {
  font-size: 0;
}

li {
  font-size: 16px;
}

3.4 使用浮动

li {
  float: left;
}

/* 不推荐使用浮动,页面渲染时性能消耗较大,每次都需要重排与重绘 */

3.5 使用 table 布局

ul {
   display: table;
   word-spacing: -1em;
}

标签:元素,li,设置,inline,font,block
From: https://www.cnblogs.com/bkzj/p/16849710.html

相关文章

  • 一些Clion使用记录
    一些Clion使用记录编译链设置在设置“工具链”中可以按需增加不同的编译链访问越界溢出debug借助了clion里面打开addresssanitizer,但是自己折腾了挺久都没在windows......
  • 记录一次实验室linux系统的GPU服务器死机排查过程——某显卡满负荷导致内核进程超时导
    在自己没有管理多台高负荷的ubuntu显卡服务器之前,我是万万想不到linux服务器居然也是如此容易死机的。什么每个版本的TensorFlow调用显卡驱动时和内核不兼容,什么系统自动......
  • python之matplotlib
    matplotlib可以将数据绘制成图像呈现,风格与matlab画图相似,是一款很好用的python库。这篇文档记录matplotlib的学习过程。主要参考见参考1。1概述Matplotlib代码库十分......
  • android miui ActivityInjector: get life cycle exception java.lang.ClassCastExcep
    切换主题样式时,抛出的异常(虽然抛出了异常,但功能未受影响,也未崩溃)。原异常代码:E/ActivityInjector:getlifecycleexceptionjava.lang.ClassCastException:androi......
  • Git & Linux
    Git资源下载技巧:所有需要外网下载的资源可以去找对应的国内镜像进行下载。基本Linux命令学习cd改变目录cd..回退上一级cd进入默认目录pwd显示当前目录路径......
  • 数组转list
    1.  ArrayList[] result = new ArrayList[len];   数组泛型类型erase,不能定义泛型数组2.  Arrays.asList(result)  返回的不是ArrayList类型,而是一......
  • Linux第七节课
    shell脚本:学习SHELL脚本,三要素是脚本声明,脚本注释,以及脚本的命令等,脚本的声明一般是#!/bin/bash的写法,而注释则因内容而异,也可不写,命令的写法就比较多了,常需要看是用于做什......
  • Codeforces - 1391C - Cyclic Permutations(思维 + 组合数学 + 数论 + 图论、*1500)
    1391C-CyclicPermutations(⇔源地址)目录1391C-CyclicPermutations(⇔源地址)tag题意思路AC代码错误次数:0tag⇔思维、⇔组合数学、⇔数论、⇔......
  • Linux系统的Power States
    实验室的ubuntu服务器不知怎么的突然又崩溃了,死机重启,然后查看日志,发现了下面的情况:    由于从其他的日志中知道是显卡的问题引起的死机,而这个显卡的地址正好是D......
  • Linux命令
    #linus/终端的常用快捷键【ll】显示当前目录的所有文件【详】【ls】显示当前目录的所有文件【略】【ls/路径】显示该路径下的所有文件【cd..】进入上级目录【./】......