Xin's blog Xin's blog
首页
  • 前端文章

    • HTML
    • CSS
    • JavaScript
    • Vue
    • 组件与插件
    • CSS扩展语言
  • 学习笔记

    • 《JavaScript教程》笔记
    • 《JavaScript高级程序设计》笔记
    • 《ES6 教程》笔记
    • 《Vue》笔记
    • 《TypeScript 从零实现 axios》
    • 《Git》学习笔记
    • TypeScript笔记
    • JS设计模式总结笔记
  • 前端框架面试题汇总
  • 基本面试题
  • 进阶面试题
  • 其它
  • 技术文档
  • GitHub技巧
  • Nodejs
  • 博客搭建
  • 前后端联调
  • mock.js
  • 奇技淫巧
  • 分类
  • 标签
  • 归档
关于
GitHub (opens new window)

Xin

英雄可不能临阵脱逃啊~
首页
  • 前端文章

    • HTML
    • CSS
    • JavaScript
    • Vue
    • 组件与插件
    • CSS扩展语言
  • 学习笔记

    • 《JavaScript教程》笔记
    • 《JavaScript高级程序设计》笔记
    • 《ES6 教程》笔记
    • 《Vue》笔记
    • 《TypeScript 从零实现 axios》
    • 《Git》学习笔记
    • TypeScript笔记
    • JS设计模式总结笔记
  • 前端框架面试题汇总
  • 基本面试题
  • 进阶面试题
  • 其它
  • 技术文档
  • GitHub技巧
  • Nodejs
  • 博客搭建
  • 前后端联调
  • mock.js
  • 奇技淫巧
  • 分类
  • 标签
  • 归档
关于
GitHub (opens new window)
  • HTML

  • CSS

    • 知识点

      • CSS教程和技巧收藏
      • CSS单位
      • CSS选择器
      • CSS函数
      • CSS属性
      • CSS3之transition过渡
      • CSS3之transform
      • CSS3之animation动画
      • CSS3 filter 和 backdrop-filter
      • CSS3 resize属性
      • CSS3的遮罩(mask)
      • flex布局语法
      • font-size:0的作用和用途
        • 解析
        • 解决行内元素的空隙
        • 解决行内元素间隙的其它办法
      • CSS 高度塌陷问题
      • 从box-sizing属性入手,了解盒子模型
      • CSS-function汇总
    • 案例

  • JavaScript

  • Vue

  • 组件与插件

  • css扩展语言

  • 学习笔记

  • 前端
  • CSS
  • 知识点
ctrlwin
2021-07-07

font-size:0的作用和用途

# 解析

font-size: 0;不是指字体大小是0px

在代码自动格式化的时候,往往会设置一些适当的缩进、换行,但当元素的display为inline或者inline-block

时,这些缩进换行就会产生空白,导致前端页面变形。

# 解决行内元素的空隙

以ul和li为例:

给ul设置font-size: 0;,并且给li设置合适的font-size就可以解决行内元素的空隙的问题。

    <style>
        ul {
            list-style: none;
            font-size: 0; /*设置父级的font-size为0*/
        }

        li {
            font-size:20px; /*如果元素内部有文字,那么设置font-size大小是必须的,否则会不展示文字内容*/
            width: 50px;
            height: 40px;
            display: inline-block;
            background: red;
        }
    </style>
</head>

<body>
    <ul>
        <li>1</li>
        <li>2</li>
        <li>3</li>
        <li>4</li>
    </ul>
</body>
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24

下图展示的分别是设置了font-size: 0;与没有设置的列表。

我们只需要给行内元素的父级加上font-size: 0;即可解决空隙问题,可以根据这个方法让其它的行内元素达到同样的效果,如img等。

# 解决行内元素间隙的其它办法

  • 给父元素添加,display: table和word-spacing: -1em;

    ul{
        display: table;
        word-spacing: -1em;
    }
    
    1
    2
    3
    4
  • 为inline-block元素添加float: left;

  • 设置子元素的margin为负数

  • ...

在GitHub上编辑 (opens new window)
#css
上次更新: 2/23/2022, 5:36:03 PM

← flex布局语法 CSS 高度塌陷问题→

最近更新
01
createElement函数创建虚拟DOM
05-26
02
clipboard 剪切板属性
05-26
03
vue的权限管理
05-16
更多文章>
Theme by Vdoing | Copyright © 2021-2022 Xin | MIT License
  • 跟随系统
  • 浅色模式
  • 深色模式
  • 阅读模式
×