css属性line-height的应用——单行文字上下居中

目录
line-height属性是很常用的css属性,可以用它来设置文字的行高,但是不允许使用负值

line-height属性的可用属性

1.line-height: normal

认值。文字认有一个合理的行间距。

2.line-height: number

属性值可以是一个数字,该数字与字体尺寸即font-size的值相乘作为行高。
示例

<body>
<p>这里是一句用于测试的文字。</p>
<style>
    body,p{
        margin: 0;
        padding: 0;
    }
    p{
        font-size: 16px;
        line-height: 2;
    }
</style>
</body>

在这里插入图片描述


图1-可以看见最终p元素的行高为32px

3.line-height: length

可以设置一个具体固定的值(包含数值和单位)作为行高。
示例

<style>
    body,p{
        margin: 0;
        padding: 0;
    }
    p{
        font-size: 16px;
        line-height: 28px;
    }
</style>

在这里插入图片描述


图2-可以直接设置具体的行高

4.line-height: x%

可以设置基于当前字体尺寸的百分比作为行高,具体使用可看示例。
示例

<style>
    body,p{
        margin: 0;
        padding: 0;
    }
    p{
        font-size: 20px;
        line-height: 90%;
    }
</style>

在这里插入图片描述


图3-可以看出文字的行高等于font-size属性的值乘以90%

<style>
    body,p{
        margin: 0;
        padding: 0;
    }
    p{
        font-size: 20px;
        line-height: 110%;
    }
</style>

在这里插入图片描述


图4-再次测试,结果同图3

5.line-height: inherit

从父元素继承该属性,当父元素的该属性值是一个缩放比例时,子元素将继承该缩放比例而不是具体的数值。
注意: IE浏览器不支持属性值。
示例

<body>
    <div>
        这是父元素内的文字内容。
        <p>这是子元素内的文字内容。</p>
    </div>
<style>
    body,div,p{
        margin: 0;
        padding: 0;
    }
    div{
        font-size: 16px;
        line-height: 2;
    }
    p{
        font-size: 20px;
        line-height: inherit;
    }
</style>
</body>

在这里插入图片描述


图5-子元素的行高是子元素font-size属性值和从父元素上继承的line-height属性值相乘得出的计算结果

在这里插入图片描述


图6-整个div的高度是父元素行高(16px*2=32px)加上子元素行高得出的计算结果,等于72px

应用场景

单行文字上下居中

想要让单行文字上下居中显示,只需设置元素的line-height属性值和height属性相等即可。
示例

<body>
<p>这里是一句用于测试的文字。</p>
<style>
    body,p{
        margin: 0;
        padding: 0;
    }
    p{
        background-color: #999999;
        font-size: 16px;
        height: 50px;
    }
</style>
</body>

在这里插入图片描述


图7-未设置line-height时文字显示情况

<body>
<p>这里是一句用于测试的文字。</p>
<style>
    body,p{
        margin: 0;
        padding: 0;
    }
    p{
        background-color: #999999;
        font-size: 16px;
        height: 50px;
        line-height: 50px;
    }
</style>
</body>

在这里插入图片描述


图8-设置line-height等于height后文字显示情况

写在最后

以上为全部内容,感谢阅读。
本博文仅为学习记录和分享交流,如有错漏,还请帮忙指出,也欢迎更多补充,不胜感激。

GitHub地址:https://github.com/ljxlijiaxin.

相关文章

Css3如何实现鼠标移上变长特效?(图文+视频)
css3怎么实现鼠标悬停图片时缓慢变大效果?(图文+视频)
jquery如何实现点击网页回到顶部效果?(图文+视频)
css3边框阴影效果怎么做?(图文+视频)
css怎么实现圆角边框和圆形效果?(图文+视频教程)
Css3如何实现旋转移动动画特效