CSS基础:你必须要知道的行高属性 line-height

这篇具有很好参考价值的文章主要介绍了CSS基础:你必须要知道的行高属性 line-height。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

作者:WangMin
格言:努力做好自己喜欢的每一件事

对于初学CSS的同学来说,会有很多属性相关的疑问,行高属性 line-height一定是其中一个,因为它是CSS中非常重要的一个属性,这个属性改变元素在网页中的行高,让你的网页看起来更加整洁,美观。

CSS基础:你必须要知道的行高属性 line-height

什么是行高?

CSS中的行高(line-height)是指网页中每行文字之间的距离,就是对于同一行内的不同内容,行高决定它们之间的间距。

换一句话来说,在CSS中包括文字的每一行不是只有文字的高度,其实还有上间距、下间距,所以行高指的是文字的高度+上下间距。

合理设置文字行高不仅能够让网页更加美观与整洁,还能够增加用户的视觉与阅读体验,在大段文字中,合适的行高可以让用户阅读起来更加舒适。

你可能还是不明白行高是什么?下面我通过几图来仔细给大家讲一下吧!

那么在学习行高之前,我们就必须要知道在文本中存在有四条线: 顶线、中线、基线、底线,之后才能真正的去理解line-height属性的含义! 如下图:

CSS基础:你必须要知道的行高属性 line-height

顶线,在中文汉字的顶部位置就是顶线的位置!就是图中绿色线条所在的位置

中线,css中有一个概念叫x-height,意思是小写字母x的高度! 在css中,有些属性值的定义就和这个x-height有关, 最有代表性的就是vertical-align的属性值middle。这里的middle就是中间的意思,指的其实就是基线 往上1/2的位置,也就是小写x字母的中间交叉点那个位置!这里横过小写英文字母x中间交叉点的线就是中线。就是图中蓝色线条所在的位置

基线,要了解基线 ,需要知道在英文中的26个字母当中 ,有一个小写的x字母在CSS中是相当特殊的,基线就是小写x字母的下边缘(线) ! 就是图中红色线条所在的位置

底线,在中文汉字的底部位置 就是底线的位置 !就是图中紫色线条所在的位置

那么从上图中我们就可以看到其实行高指的是上下文本行的两条基线之间的距离,即图中两条红线之间的距离。

看到这里你应该明白行高了吧!接下来就一起来看看它在CSS中是如何表示的,以下是它的几种表示方式。

设置字体的行高的方法

1、使用像素(px)单位设置行高

使用像素单位设置行高是最常见的方法,也是最容易理解的。可以通过以下方式来设定行高

<style>
p{
  font-size: 16px;
  line-height: 32px;
}
</style>

设置行高之前:

CSS基础:你必须要知道的行高属性 line-height

设置行高之后:

CSS基础:你必须要知道的行高属性 line-height

你可以看到每行文字之间明显出现了一定的距离,对比之下,一定是设置行高之后文字看起来更加清晰。

在上述例子中,字体大小font-size为16px,行高line-height为32px,也就是说一行文字的高度为32个像素。用这种方式设置行高时,行高最好是文字大小的2倍。当然这不是强制性的,你可以根据自己的需求来调整。

这个设置可以适用于大多数情况下,但是需要注意的是,在不同的字体类型和字体大小的情况下,可能显示出不同的效果。这里我并没有设置字体类型,默认字体类型是' 微软雅黑 '。

但这种方式有一个缺点,当文字大小发生较大的改变时,固定的行高会让文字之间看起来会很紧凑,如下:

<style>
p{
  font-size: 20px;
  line-height: 16px;
}
</style>

CSS基础:你必须要知道的行高属性 line-height

这个时候以下几种方式就可以解决这个问题,一起往下看吧!

2、使用百分比(%)单位设置行高

使用百分比单位可能更加灵活,它可以自适应不同的字体大小。在下面的案例中,我们设置字体大小为20px,行高为150%:

<style>
p{
  font-size: 20px;
  line-height: 150%;
}
</style>

这里的行高150%的意思是相当于将行高设置为字体大小的1.5倍,即20 * 1.5 = 30px。那么行高200%就相当于行高是字体大小的2倍,即行高 = 字体大小 * 2。

以这种方式设置行高时,常常行高设置为150%或者200%,即 line-height: 150%; 或 line-height: 200%;

这种方法可以确保每个字体大小的行高都相同,并适用于任何比例。

3、使用单位 em 设置行高

使用em单位是让行高基于当前元素文字大小来设置,因为em单位是相对于当前元素的字体大小设置的,行高会随着字体大小改变。下面的案例设置line-height为1.5个em

<style>
p{
  font-size: 16px;
  line-height: 1.5em;
}
</style>

在这种情况下,当文字大小为16px时,行高为 16 * 1.5 = 24px。但是当你改变字体大小时时,例如font-size: 20px;line-height也会相应发生变化,为20 * 1.5 = 30px。

一般情况下,设置line-height的值为1.5 em ~ 2 em 比较合适。

用这种方式设置行高时,实际行高 = 字体大小 * em单位前面的数值。它的效果跟第二种方式是一样的。

4、使用无单位数值设置行高

使用无单位的数字设置行高其实是最灵活的方法,它也可以自适应任何字体大小的文本。在下面的案例中,我们将line-height设置为1.5

<style>
p{
  font-size: 16px;
  line-height: 1.5;
}
</style>

其实这种方式更第二、三种方式是一样的,这里的行高将是字体大小的1.5倍,当字体大小为16px时,行高为 16 * 1.5 = 24px。使用这种方式是最灵活和最可维护的设计方法之一,它可以适用于大多数情况。一般情况下,设置line-height的值为1.5 ~ 2 比较合适

在上述第二、三、四种设置行高的方式中,字体大小是影响文字高度的关键因素,当文字大小发生改变时,相应的行高也会发生改变。也就是说我们通过设置字体的大小,可以间接地控制文字的高度

需要注意的两点:

1)如果不设置行高,则会应用默认的行高,这个值可以因不同浏览器而异。

2)行高不能为负值。

以上四种方法都有各自的优缺点,你可以根据实际情况来选择。不管你使用哪一种方法,都需要按照设计要求来修改line-height值,从而达到更好的文本排版效果。


以上仅是个人见解,若有不足之处欢迎在下方评论指出,那就先分享到这里!! 😄 后续继续更新!!文章来源地址https://www.toymoban.com/news/detail-746035.html

到了这里,关于CSS基础:你必须要知道的行高属性 line-height的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 关于异步FIFO设计,这7点你必须要搞清楚

            在这篇文章,默认您已经对异步FIFO的设计方法有了基本的了解。         如果不了解异步FIFO设计的基本方法,可参考:异步FIFO的Verilg实现方法         格雷码是美国学者Frank Gray于1947年提出的一种二进制编码方式,后面这种编码方式就以他的名字命名。实际

    2024年02月07日
    浏览(61)
  • 去新加坡旅游,你必须要收藏了解的当地电商欺诈风险!

    2月9日,除夕,中国与新加坡免签正式生效。免签政策简化了持普通护照中国游客入境新加坡的程序,使通关更为便捷。根据协定,双方持普通护照人员可免签入境对方国家从事旅游、探亲、商务等私人事务,停留不超过30日,为两国旅客往来提供了更多便利。 据上海机场边

    2024年02月22日
    浏览(52)
  • 进阶--AI绘画里你必须要直到的controlnet模型使用方法

    哈喽,各位小伙伴们大家好,有一段时间没有更新了,最近也是忙着搬家忙着置办家具等等,今天终于得空,于是乎连忙抽空做了这期关于controlnet的使用教程。 因为最近我也是发现,controlnet对于AI绘画来说可真是太重要了,说白了,这个插件用好了,将会大大的提升我们的

    2024年02月04日
    浏览(77)
  • 【Entity Framework】你必须要了解EF中数据查询之数据加载

    Entity Framework Core 允许在模型中使用导航属性来加载关联实体。有三种常见的O/RM模式可用于加载关联数据。 预先加载表示从数据库中加载关联数据,作为初始查询的一部分; 显示加载表示稍后从数据库中显示加载关联数据; 延迟加载表示在访问导航属性时,从数据库中以透

    2024年04月17日
    浏览(91)
  • 微信小程序textarea的placeholder的行高怎么修改

    目前不支持修改行高。如果你的内容设置了行高但是placeholder没有行高会导致输入内容的时候感觉不是对齐的,想要解决这个问题怎么办呢/ 我们可以自己写个text假装是placeholder的内容。然后textarea获取焦点输入内容的时候就不显示这个text的内容。

    2024年02月02日
    浏览(44)
  • 程序员必须要知道的编程范式,你掌握了吗?

    一、 什么是编程范式? \\\"编程范式\\\"是一种 编程思想 的总称,它是指在编写程序时所采用的基本方法和规范。常见的编程范式有面向对象、函数式、逻辑式等。 选择合适的编程范式可以提高代码的可读性、可维护性和可扩展性,是程序员必备的基本技能之一。   二、常见的

    2024年02月09日
    浏览(55)
  • 使用es必须要知道的一些知识点:索引篇

    在当今数据驱动的世界中,Elasticsearch(简称ES)成为了一个强大而广泛应用的搜索和分析引擎。ES提供了快速、可扩展且高度可靠的数据存储和检索解决方案。然而,要真正掌握ES的各种功能和最佳实践,需要通过实践才能获得真正的知识。 在Elasticsearch(ES)中,index操作和

    2024年02月08日
    浏览(43)
  • CSS笔记——font、line-height知识点及图片间隙、文本溢出等解决方案

    font-family(字体族 ):指定字体的名称或类别。可以指定多个字体族,用逗号分隔,浏览器会按照指定的顺序依次寻找可用字体。可取值: 字体名称:如\\\"Arial\\\"、\\\"Times New Roman\\\"等。 通用字体系列:如\\\"serif\\\"、“sans-serif”、\\\"monospace\\\"等。 自定义字体系列:如\\\"myFont, Arial, sans-serif

    2024年02月07日
    浏览(52)
  • CSS基础方法——引入方式、属性、基础选择器

    CSS 主要用于设置 HTML 页面中的文本样式(字体、大小、颜色、对齐方式……)、图片样式(宽高、边框样式、边距……)以及版面的布局和外观显示样式。 行内样式 写在标签中,通常不使用,只做了解 内部样式 写在head中,通常使用这种方法,配合选择器进行使用 css在使用

    2024年01月23日
    浏览(40)
  • CSS布局基础(CSS属性特征 & 盒子阴影 & 文字阴影)

    块元素 独占一行,默认宽度100% 可设置宽高,内外边距 大部分块元素内部可以放 任意元素 文字类块元素 p / h1-h6内部,不能放块元素 常见块元素 h1-h6 p div ul ol dl li … 行内元素 在同一行显式 不能直接设置宽高,默认宽高就是实际内部内容宽高 内部只能容纳文本或者行内元素

    2024年02月01日
    浏览(80)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包