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

目录
  • line-height属性的可用属性值

    • 1.line-height: normal
    • 2.line-height: number
    • 3.line-height: length
    • 4.line-height: x%
    • 5.line-height: inherit
  • 应用场景
    • 单行文字上下居中
  • 写在最后

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.

(0)

相关推荐

  • 十二生肖图配诗(单行文字版本)

    十二生肖图配诗 小序:十二生肖,又叫属相.生肖作为我国悠久的民俗文化符号,历代留下了大量描绘生肖形象和象征意义的诗歌.春联.绘画.书画和民间工艺作品.除中国外,世界多国在春节期间发行生肖邮票,以此来表 ...

  • 仅使用Css属性实现文本限制行数

    p { display: -webkit-box; -webkit-line-clamp: 3; //控制显示的行数 -webkit-box-orient: vertical; text-overfl ...

  • CSS属性之定位

    "当所有星星都换了方位,北极星依然会在原地:当所有人都不了解你,不原谅你,甚至离开你,只要我守在原地,你就不会迷路.CSS定位说,你看见我了吗?" --有心人做有心事哦,晚安Emi ...

  • 是时候在项目中使用这个CSS属性了

    Vue中文社区 2021-10-26 以下文章来源于前端宇宙 ,作者刘小夕 八月份做移动端项目的时候,同事让我帮忙看个底部安全距离的问题,我立即摩拳擦掌,原因无他,仅仅是因为当天上午我在medium闲 ...

  • 表格中文字不居中该如何处理?

    表格中文字不居中该如何处理?

  • vegas如何设置自带字幕文字属性

    vegas进行设置自带字幕的时候有一个文字属性,下面就来带着大家一起来设置一下文字属性吧. 1.首先打开自带文字字幕中的媒体生成器对话框,点击属性选项卡. 2.可以看到很多文字的属性都在这里了. 3. ...

  • 如何通过使用CSS实现渐变文字的效果

    WEB前端开发社区 今天 很难使网站脱颖而出.因此,这里有一个小技巧,可以改善所有目标网页或标题:使用渐变文字. 只要确保不要过度使用它即可.渐变文字绝对不能用在较长的文本中.但可以在标题或者特定醒目 ...

  • [css] 第109天 说下你对cursor属性的理解

    今日试题: 说下你对cursor属性的理解 此开源项目四大宗旨:勤思考,多动手,善总结,能坚持 <论语>,曾子曰:"吾日三省吾身"(我每天多次反省自己). 前端面试每日 ...

  • [css] 第90天 CSS的overflow属性定义溢出元素内容区的内容会如何处理呢

    今日试题: CSS的overflow属性定义溢出元素内容区的内容会如何处理呢 此开源项目四大宗旨:勤思考,多动手,善总结,能坚持 <论语>,曾子曰:"吾日三省吾身"(我 ...