CSS行高

时间:2020-07-11
本文章向大家介绍CSS行高,主要包括CSS行高使用实例、应用技巧、基本知识点总结和需要注意事项,具有一定的参考价值,需要的朋友可以参考一下。

行高的构成及行高的作用:行高不决定元素的高度,但是它决定元素所占的空间大小,所以,经常会看到设置了line-height的元素有留白的情况。

<!DOCTYPE html>
<html>

<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <meta http-equiv="X-UA-Compatible" content="ie=edge">
    <title>inline</title>
    <style>
        span {
            background: red;
        }
        /* 行高不决定元素本身的高度 */
        /* 这里的span元素的高度是由字体的大小决定的,所以这里的span元素的height是17px */
        /* 但是行高决定了包含元素的父级元素的高度,所以看到包含span元素的div的高度是30px,是由最大的c3的line-height决定的。 */
        /* 另外,如果界面比较小,可以看到div的高度会变化,如果包含了2行,那么是由每一行的line-height最大的相加决定的 */
        /* 如果父级加了height,那么父级的height就不由内部元素的line-height决定了 */
        .c1 {
            line-height: 20px;
        }
        
        .c2 {
            line-height: 8px;
        }
        
        .c3 {
            line-height: 30px;
        }
        
        .c5 {
            line-height: 28px;
        }
    </style>
</head>

<body>
    <div>
        <!-- 有4个span和一个文本,都是inline元素,inline元素组成的box叫作line box -->
        <span class="c1">inline box xfg中文</span>
        <span class="c2">inline box</span>
        <span class="c3">inline box</span> inline box
        <span class="c5">inline box</span>
    </div>
</body>

</html>
View Code

 这里的几张图片说明当父级容器有了height之后,子元素的line-height就对父级的元素的height没有影响了。

父级容器设定了height之后,子元素的位置是在上部。虽然子元素的height只有18px,但是,子元素所占的空间是由line-height决定的,所以它还是占了30px的地方,这也就是为什么上面有空白的原因。

原文地址:https://www.cnblogs.com/JasonWang-code/p/13284923.html