CSS | line-height 与 vertical-align详解

行框高度 line-height

定义

  • 对于一个行内元素,line-height指定了其自身参与行高计算时的高度。
    行内非替换盒的垂直内边距,边框是从内容区的顶部和底部开始,与line-heigh’无关。line-height只在计算行框高度时使用
  • 对于一个内容由行内元素组成的块容器,'line-height’指定了元素内行框的最小高度
    这个最小高度包含基线上方的最小高度和下方的最小深度。
    就像每个行框以一个具有该元素的字体和行高属性的0宽行内盒开始。我们把这种假想盒叫做"strut"(在非官方描述中,也被称为幽灵空白点)

属性取值

属性值含义如下:

形式 含义
normal 默认值,因浏览器而不同,约为1.0-1.2,此处含义与指定数字相同
指定长度 指定的长度用来计算行框的高度,负值非法
百分比 指定该属性的计算值为百分比乘以该元素的字体大小,负值非法
数字 指定属性的应用值为数字乘以该元素的字体大小,负值是非法的。

百分比与数字的区别

文档中指定值,计算值,应用值的说法稍显生涩,我们用更直观的语言来描述使用百分比与数字赋值的区别。

  • 使用百分比赋值后,将通过 font-size * 百分比 计算得到 实际的line-height,并将此line-height传递给子元素。子元素通过修改font-size不会改变继承来的line-height,除非重新指定line-height
  • 使用数字赋值后,将这一数字(倍数)传递给子元素,每一级子元素将根据 自身的font-size * 倍数 得到 实际的line-height。

示例如下:
橙色区域为百分比赋值,淡蓝色区域为数字(倍数)赋值。
因为百分比赋值后,line-height以定值传递给子元素,故因为不适配,文本出现了重叠现象。
而倍数赋值则一切正常。
在这里插入图片描述

        .percent {
   
            font-size: 20px;
            line-height: 100%;

            margin: 40px;
            padding: 20px;
            border: orange dotted;
        }

        .number {
   
            font-size: 20px;
            line-height: 1;

            padding: 20px;
            margin: 40px;
            border: skyblue dotted;

        }

        span {
   
            font-size: 50px;
        }
    <div class="percent">
        <span>On a block container element whose content is composed of inline-level elements, 'line-height' specifies
            the minimal
            height of line boxes within the element. 
  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值