美文网首页
CSS中的基线、顶线、底线、中线、x-height这些到底又是什

CSS中的基线、顶线、底线、中线、x-height这些到底又是什

作者: 极客小俊 | 来源:发表于2021-02-26 17:23 被阅读0次

作者:极客小俊 一个把逻辑思维转变为代码的技术博主
我不用拼过聪明人,我只需要拼过那些懒人 我就一定会超越大部分人!
原创技术文章

css-基线、中线、底线、顶线.png

那现在我们废话不多说,就先来看一张文字在网页中的结构图:

在这里插入图片描述

从上到下四条线分别是顶线(绿色)、中线(蓝色)、基线(红色)、底线(紫色)

图中黄颜色的线位置表示: 行间距 其实是分为上一行文字的下半行距 和 下一行文字的上半行距, 这里要是听不懂 没关系 我们接下来会慢慢说半行距的意义!

小提示: 之后我们要讲到的vertical-align css属性中有top、middle、baseline、bottom,就是和这四条线相关!

什么是基线?

要了解基线 那么还要知道 在我们英文的26个字幕当中 有一个小写的x字母是在CSS中相当特殊的! 那么基线是什么呢?

解答: 基线就是小写x字母的下边缘(线) 就是我们常说的 基线 而不是那些有尾巴的英文字母, 例如: s 、j、g、k、f、y

所以一定要注意: 基线(baseline)不是汉字文字的下底部,而是英文小写字母“x”的下底部!

内联元素默认是按照基线对齐的 而基线就是小写字母x的底部! 不懂的话举个例子 如下:

北京市
<span>深圳市</span>
<strong>计算机</strong>
<img src="images/1.gif">

效果图: 红色箭头指向位置从图中可以发现, 只要是内联元素基线都是对齐的! 也就是说内联元素中的文字都是放在基线上的!

在这里插入图片描述

例如下图一样:

在这里插入图片描述

line-height属性设置的行高也就是定义的两行文字基线之间的距离! ** 原因是因为中间夹杂了更多的行距** 关于行距的概念我们接下来会说到!

如果把line-height设置为0px 那么这个基线就会重叠! 文字也重叠了!

那么也由此可见 设置line-height会影响基线之间的距离! 基线变大了 每一行的文字也就隔开了!


什么是顶线

顶线就是在中文汉字的顶部位置就是顶线的位置!

如下图:

在这里插入图片描述
什么是底线

底线就是在中文汉字的底部位置 就是底线的位置!

在这里插入图片描述
什么是中线?x-height又是什么?

故名意思: css中有一个概念叫x-height,意思也就是小写字母x的高度!

那么在css当中小写x字母不仅有确定了基线(baseline)的位置,还有描述了中线(等分线)(middle)的作用!

中线又是什么?

在css中,有些属性值的定义就和这个x-height有关, 最经典最有代表性的就是vertical-align的属性值middle 这里的middle就是中间的意思 指的其实就是基线 往上1/2的位置 也就是小写x字母的中间交叉点那个位置!也就是middle的位置!

这里就是我们所说的中线:横过小写英文字母x的中间的线!

如下图: 蓝色线位置

在这里插入图片描述

案例:

<style>
    #cont{
        width:800px;
        background-color:rgb(255,255,30);
    }
    #cont>span{
        display: inline-block;
        border: 1px solid red;
        line-height: 60px;
        font-size: 36px;
    }
    /*一行文本 有且只有 一个基线  多行文本每一行都有一个基线*/
    #img{
        vertical-align: middle;
    }
</style>

<div id="cont">
    <span>
        <img src="images/test.gif" id="img">
        北京市 iphone x
    </span>
</div>

效果图如下:

在这里插入图片描述

但是大家从结果上肯定也能够看出来, vertical-align: middle 并不是绝对的垂直居中于文字对齐!

middle也只是一种近似接近于居中的效果! 因为不同的字体在行元素中的中线的位置是不一样的 !

例如:

<style type="text/css" >

    #test{
        background: yellow;
        font-size: 38px;
        font-family: serif;
    }

    #test2{
        background: yellow;
        font-size: 38px;
        font-family: 庞门正道标题体;
    }

    span>img{
        vertical-align: middle;
    }

</style>

<span id="test"><img src="images/test.gif"> 北京市 iphone x</span>
<br>
<span id="test2"><img src="images/test.gif"> 北京市 iphone x</span>

效果图: 从下图效果中可以看出 x的交叉点的高矮是不一样的位置!


在这里插入图片描述

所以 在CSS中, 内联元素(行元素) 垂直居中(也就是给内联元素设置vertical-align:middle)是对文字垂直居中, 而与外部容器无关!

关于vertical-align元素后面会单独提及到

end.jpg bilibili_gif.gif

如果我的博客对你有帮助、如果你喜欢我的博客内容,请 “点赞” “评论” “收藏” 一键三连哦!


如果以上内容有任何错误或者不准确的地方,欢迎在下面 👇 留个言指出、或者你有更好的想法,欢迎一起交流学习

相关文章

  • CSS中的基线、顶线、底线、中线、x-height这些到底又是什

    作者:极客小俊 一个把逻辑思维转变为代码的技术博主我不用拼过聪明人,我只需要拼过那些懒人 我就一定会超越大部分人!...

  • css基线与行高

    CSS行高——line-height 顶线、中线、基线、底线 从上到下四条线分别是顶线、中线、基线、底线,很像才学...

  • CSS line-height

    在 CSS 中经常会设置文本之间的行高line-height,到底行高是如何定义的,它和文字的底线、基线、中线、顶...

  • 关于行盒的参考线, 有什么了解?

    制作字体时, 会有几根参考线, 从上到下分别是: 顶线, 上基线, 基线, 下基线, 底线. 不同的字体, 基线不...

  • 深入理解CSS中的行高

    基线、底线、顶线 行高指的是文本行的基线间的距离 基线并不是汉字的下端沿,而是英文字母"x"的下端沿 行距、行高 ...

  • 叩击头部治疗脱发、斑秃(儿童通用)

    1 .基本原理。依据中医经络理论,以督脉为中线。两耳尖为基线(左右线2) , 中线与基线正中再分一线(左右线1) ...

  • 对文字和行高的理解

    文字与行高 对照上图 1. 文字大小是顶线与底线之间的距离 2. 行高大小是基线与基线之间的距离 3....

  • 行内元素对齐方式

    2019-03-03-14:31:于芸台书社 行内元素对齐方式是基于基线(x-height)的底部那条line!

  • 髋关节脱位

    在超声上画基准线、骨线和车顶线来评估股骨头的位置。在骨线与基线之间形成的夹角称为α角,在软骨顶线与基线之间形成的夹...

  • 208/1000 如何做好一件事

    得到/吴军/罗辑思维 见:做好一件事需要3条线:基线、极限和攀登的阶梯 感:基线——是人们选择做事的技术底线,如果...

网友评论

      本文标题:CSS中的基线、顶线、底线、中线、x-height这些到底又是什

      本文链接:https://www.haomeiwen.com/subject/tjcvfltx.html