CSS line-heigh与垂直居中

我们都知道,在CSS中,要想实现字体在父元素中垂直居中直接让line-height等于height即可。可是为什么这样设置就可以让文字垂直居中呢?要弄懂这个问题需要先理解以下几个概念。

1、行高

行高指一行文字的基线到下一行文字的基线之间这一段距离

行高的高度 = 字体高度 + 上间距 + 下间距

2 、行框

在浏览器中,会将给每一段文本生成一个行框,行框的高度就是行高。
这个行框是不可见的。浏览器会把在生成一个字体时会把行框分为三部分。字体本身的高度和上下两部分高度 即 行高−字高2\frac{行高-字高}{2}2行高−字高​。之后浏览器会将这三部分从上到下依次向父元素盒子填充。

3、行框生成过程

例如,设置 字体大小 font-size=16px 行高 line-height=200px。 那么200−12=184px200-12=184px200−12=184px。所以上下两部分各自分得92px92px92px

4、文字垂直居中实现

设置父盒子的height=200px。则行框的高=父元素的高=行高=200px,依次把行框三部分从上到下填充父盒子可以正好填满。由于上部分和下部分都等于 行高−字高2\frac{行高-字高}{2}2行高−字高​。所以就有了垂直居中的效果

这就是设置line-height==height时实现垂直居中的原理

CSS line-height与垂直居中相关推荐

  1. CSS中实现水平/垂直居中

    CSS中实现水平/垂直居中 在CSS中实现水平居中相对简单,但是却没有一个明确的属性表示这是实现垂直居中的,这就导致垂直居中的实现相对初学者来说难上许多.但是在实际的开发中垂直居中的需求常常出现,例如 ...

  2. html盒子嵌套居中,css在盒子中垂直居中和固定居中

    顶部固定居中 我是固定的 .w960{ width: 960px; margin:0 auto; } .fixed{ position: absolute; top:0; left: 0; right ...

  3. css如何设置文本垂直居中显示,css中怎么设置文本居中?css文本垂直居中的设置方法...

    在网页设计的过程中,有时候可能为了布局美观可能需要让文本居中,那么,怎么设置文本居中呢?本篇文章将给大家介绍关于css设置文本垂直居中的方法. 首先我们要知道通过css实现元素的水平居中较为简单:对文 ...

  4. 【CSS基础】文字垂直居中

    文字垂直居中 1.高度为百分比,line-height 不知道设置具体的数值的情况,利用伪元素进行居中 HTML <div class="father"><div ...

  5. CSS实现水平居中与垂直居中

    CSS实现水平居中与垂直居中 一.水平居中 1. 必备知识 1.1 text-align 属性 1.2 display 属性 1.3 margin 属性 1.4 position 属性 1.5 tra ...

  6. CSS的水平居中、垂直居中和水平垂直居中

    CSS的水平居中.垂直居中和水平垂直居中 1.水平居中 水平居中可分为行内元素水平居中和块级元素水平居中 1.1 行内元素水平居中 这里行内元素是指文本text.图像img.按钮超链接等,只需给父元素 ...

  7. CSS实现元素水平垂直居中的各种方法

    关于 CSS 如何将元素进行水平垂直居中的几种常用方法 前言 在设计网页页面的过程中,总会有将元素或者文字进行水平或者垂直居中的要求,各种CSS样式调整,搞的头都大了.这里将会介绍 CSS 中几种常用 ...

  8. html5怎么把图片垂直居中,css如何让img垂直居中?

    css如何让img居中显示?对于刚刚css入门的新手可能还不是很熟悉,下面我们来总结一下css如何让img垂直居中? 一.使用flex实现垂直居中 利用 display: flex;align-ite ...

  9. css数字固定居中怎么使用,css在盒子中垂直居中和固定居中

    顶部固定居中 我是固定的 .w960{ width: 960px; margin:0 auto; } .fixed{ position: absolute; top:0; left: 0; right ...

  10. [css] body{height:100%}和html,body{height:100%}有什么区别?为什么html要设置height:100%呢,html不就是整个窗口吗?

    [css] body{height:100%}和html,body{height:100%}有什么区别?为什么html要设置height:100%呢,html不就是整个窗口吗? html是body的父 ...

最新文章

  1. 201521123013 《Java程序设计》第13周学习总结
  2. 最近遇到的若干技术问题
  3. springboot Field userInfoInter in com.**.** required a bean of type ‘***.**‘
  4. linux子线程运行的函数_Linux中线程使用详解
  5. MySQL中的alter table操作之add/modify/drop列
  6. Г函数(伽马函数)、分布
  7. c语言中3%3e2%3e1的值,C语言--ch2--数据类型和表达式.ppt
  8. JavaScript学习(二十)—DOM中常用的属性
  9. 2021-09-19SQL42,SQL44,SQL45
  10. android取消自动获取焦点,Android 如何让EditText不自动获取焦点 (转)(示例代码)...
  11. 如何下载csdn的文章并保存成pdf格式呢?并实现某个博主的全部博文下载?
  12. PID控制参数整定口诀
  13. 软件测试中单元测试的内容有哪些?-alltesting云测试
  14. 从快感到成就感:多巴胺vs内啡肽
  15. python成品_京东抢购茅台Python打包版
  16. 拓扑图是什么?常见网络逻辑拓扑结构
  17. USB 3.0 对无线鼠标的干扰问题
  18. CCNA学习-路由器交换机的管理配置
  19. 安全宝冯景辉:每周都有超过100G大型DDoS攻击
  20. CentOS6.4x84挂载U盘

热门文章

  1. 插入法排序c语言程序,C语言直接插入排序算法
  2. vscode使用方法
  3. 4 行代码写 3 个NPE异常,服了!
  4. ubuntu装pl2303USB转串口驱动(详细,亲测)
  5. android 广告视频,Android开屏视频广告
  6. 2019中兴校招流程回顾总结
  7. 最短路径之弗洛伊德算法(Floyd)——动态规划
  8. STM32L475 SPI驱动LCD ST7789V2详解
  9. HDU 1269 迷宫城堡 -- 强连通图判断
  10. cdr存成html格式的文件格式,CDR必备!CDR保存与各种格式之间转换!-cdr文件用什么打开...