CSS行高line-height属性理解及应用

article/2025/5/15 7:57:01

行高的概念看上去很简单——文字行的高度,其实,行高所涉及到的基础知识,对于今后理解其它属性也很重要。

大片密密麻麻的文字往往会让人觉得乏味,因此适当地调整行高(line-height)可以减低阅读的困难与枯燥,并且使页面显得美观。行高指的是文本行的基线间的距离,但是文本之间的空白距离不仅仅是行高决定的,同时也受字号的影响。

 7.3.1 语法 line-height属性的具体定义列表如下: 语法:        line-height : normal | <实数> | <长度> | <百分比> | inherit 说明:        设置元素中行的高度。 值:        normal:默认行高,一般为1到1.2; 实数:实数值,缩放因子; 长度:合法的长度值,可为负数; 百分比:百分比取值基于元素的字体尺寸。 初始值:        normal 继承性:        继承 适用于:        所有元素 媒体:        视觉 计算值:        长度和百分比值为绝对值;其他同指定值 行高指的是文本行的基线间的距离。而基线(Base line),指的是一行字横排时下沿的基础线,基线并不是汉字的下端沿,而是英文字母x的下 端沿,同时还有文字的顶线(Top line)、中线(Middle line)和底线(Bottom line),用以确定文字行的位置,如图7-17 所示。

/web/css/text/img/text_017.gif

图7-17 文字的基线 行高与字体尺寸的差称为行距(leading),如图7-18所示。

/web/css/text/img/text_018.gif

图7-18 行高 7.3.2 内容区域、行内框和行框 理论上讲,一行中的每个元素都有一个内容区域,它是由字体尺寸决定的,如图7-19所示。

/web/css/text/img/text_019.gif

图7-19 内容区域 行内元素会生成一个行内框(inline box),行内框只是一个概念,它无法显示出来,但是它又确实存在。在没有其他因素影响的时候,行内框 等于内容区域,而设定行高则可以增加或者减少行内框的高度,即:将行距的值(行高-字体尺寸)除以2,分别增加到内容区域的上下两边,如图7-20所示。  

/web/css/text/img/text_020.gif

图7-20 行内框与行高 由于行高可以应用在任何元素上,因此同一行内的若干元素可能有不同的行高和行内框高,例如有如下代码,其显示如图7-21所示。

<p style="line-height:20px;">&lt;p& gt;行高20px。<strong style="line-height:50px;">&lt;strong&gt; 行高50px。</strong><span style="line-height:30px;">&lt; span&gt;行高30px。</span></p>

 

/web/css/text/img/text_021.gif

图7-21 行内框与行框 这里又有一个新的概念——行框(line box)。同行内框类似,行框是指本行的一个虚拟的矩形框,其高度等于本行内所有元素中行高最大的值。因此,当有多行内容时,每行都会有自己的行框,如图7-22所示。  

/web/css/text/img/text_022.gif

图7-22 多行内容的行框

提示:理解行框和行内框的概念对于学习本章[7.4垂直对齐:vertical-align属性]一节的内容非常重要。 注意:行框的高度只同本行内元素的行高有关,而和父元素的高度(height)无关。

 

 

 

7.3.3 行高的计算与继承 以em、ex和百分比为单位的行高,其基数是元素本身的字体尺寸。例如有代码如下:

<p style="font-size:20px;line-height:2em;">字高20px,行高2em。</p> <p style="font-size:30px;line-height:2em;">字高30px,行高2em。</p> 2个段落的行高都为2em,但是字体大小不同,因此显示如图7-23所示。 /web/css/text/img/text_023.gif   图7-23 行高的计算 行高可以设定得比字体高度小,此时多行的文字将叠加到一起,例如有如下代码,其显示如图7-24所示。 p { font-size : 20px; line-height :10px; } <p>字高20px,行高10px。此时多行的文字将叠加到一起。</p> /web/css/text/img/text_024.gif   图7-24 比字体高度小的行高 行高是可继承的,但是继承的是计算值,例如有如下代码: p { font-size :20px; line-height : 2em; } p span { font-size : 30px; } <p>字高20px。<span>字高30px。</span></p> <p>元素的行高2em,字体尺寸为20px,因此计算值为40px,虽然<span>元素本身的字体尺寸为30px,不过其继承的行高仍为40px。但是在不同的浏览器内显示的效果却不尽相同,如图7-25所示。 /web/css/text/img/text_025.gif 图7-25 行高的不同表现 由于继承的是计算值,因此当元素内的文字字体尺寸不一样的时候,如果设定固定的行高很可能造成字体的重叠,例如有如下代码,其显示如图7-26所示。 p { font-size : 20px; line-height : 1em; } p span { font-size : 30px; } <p>字高20px,行高1em,当文本为多行时可能会发生文字重叠的想象。<span>字高30px。</span></p> /web/css/text/img/text_026.gif 图7-26行高继承造成文字叠加 为了避免这种情况,可以为每个元素单独定义行高,但是这样很烦琐,因此可以定义一个没有单位的实数值作为缩放因子来统一控制行高,缩放因子是直接继承的,而不是继承计算值。例如修改上例中的行高为: p { line-height : 1; }  则上例中的XHTML代码显示如图7-27所示。 /web/css/text/img/text_027.gif 图7-27缩放因子对行高的影响 当内容中含有图片的时候,如果图片的高度大于行高,则含有图片行的行框将被撑开到图片的高度,如图7-28所示。 /web/css/text/img/text_028.gif 图7-28 含有图片的行注意:图片虽然撑开了行框,但是不会影响行高,因此也不会影响到基于行高来计算的其他属性。 提示:当行内含有图片的时候,图片和文字的垂直对齐方式默认是基线对齐,关于垂直对齐将在本章[7.4 垂直对齐:vertical-align属性]一节中讨论。


http://chatgpt.dhexx.cn/article/B2NWouDx.shtml

相关文章

css行高和盒子高区别

行高 什么是行高 在css中所有的行都有自己的行高。 .box1 {border: 1px solid black;width: 200px; }<div class"box1">我是文字</div>被撑起来的高度就是行高 line-height属性 line-height: 60px;80px就是行高 注意点&#xff1a; 1.行高和盒子的…

css 行高

1. 什么是行高&#xff0c;以及行高的概念 我们可以试想一下&#xff0c;为什么会要有行高。我现在不需要行高不是完全可以的嘛。 我们可以仔细看看这个&#xff0c;这不是很正常的嘛。 那我们来看看这个&#xff0c;那当我们第一次看到这个的时候你觉得是横着度&#xff0c;…

css行高(line-height)及文本垂直居中原理

css行高&#xff08;line-height&#xff09;及文本垂直居中原理 一、行高的定义 标准定义&#xff1a;两行文字基线之间的距离。 那么什么是基线&#xff1f; 基线是在英文字母中用到的一个概念&#xff0c;我们刚学英语的时使用的那个英语本子每行有四条线。在 CSS 中&am…

css设置1.5倍行高,CSS怎么控制行高?

CSS怎么控制行高&#xff1f; css中&#xff0c;调整每行文字字体间距(行距)是使用line-height属性。 ● line-height 属性设置行间的距离(行高)。 注&#xff1a;不允许使用负值。 要实现上下换行文字行间距行高样式其实我们只用对文字所在对象设置line-height样式即可&#x…

css字行高怎么设,css文本行高怎么设置-电脑自学网

css文本行高的设置方法&#xff1a;首先新建文件&#xff0c;使用div标签创建一行文字&#xff1b;然后编写样式&#xff0c;设置div标签的class属性为mybkkd&#xff1b;最后通过div标签的class属性mybkkd设置文字上下的行高。 本教程操作环境&#xff1a;windows7系统、css3版…

CSS行高(line-height)使文本垂直居中详解

一.场景重现 在我们的静态页面设计中&#xff0c;在我们的块级元素中写入文字时&#xff1a; <div class"center">我想在中间</div> .center{height: 50px;background-color: #008c8c;} 会发现我们最后在网页显示的效果为&#xff1a; 这明显不太美观…

CSS行高

CSS行高 line-height 一.网页中的文本 文本中的每一个字符都有一个不可见的框&#xff0c;这些框又被放在两条不可见的横线中&#xff08;垂直居中&#xff09;&#xff0c;两条横线的距离就是行高&#xff0c;放个图片理解下 二.行高的设置方法 1.直接设置 p{ line-heigh…

css行高包含哪些,详解CSS行高

“行高”即CSS中line-height所描述的属性&#xff0c;它表示两行文字间基线之间的距离&#xff0c;不允许使用负值。在弄清行高之前&#xff0c;我们先来了解几个概念: 顶线、中线、基线、底线 上图所示线条从上到下为&#xff1a; 1 2 3 4 5 6 7 8 9 10 vertical-align:top; /…

CSS行高——line-height

初入前端的时候觉得CSS知道display、position、float就可以在布局上游刃有余了&#xff0c;随着以后工作问题层出不穷&#xff0c;才逐渐了解到CSS并不是几个style属性那么简单&#xff0c;最近看了一些关于行高的知识&#xff0c;就此总结一下。 所谓行高是指文本行基线间的垂…

深入理解css行高line-height

1.行高的定义 行高是相邻两行文本基线之间的垂直距离。看清楚是基线&#xff0c;估计有很多前端搞了几年的都说不出个所以然。小时候我们写英文26个英文字母的单词本&#xff08;随便找个图&#xff09; 一行里面有四条线&#xff0c;在css中一个行内非替换元素&#xff08;例…

strlen

strlen strlen计算长度 strlen计算长度 strlen在计算长度时&#xff0c;一定要注意计算的字符串中是否含有\0字符&#xff08;请注意&#xff0c;0和\0是有区别的&#xff0c;0代表数字&#xff0c;\0代表转义字符&#xff0c;值是48&#xff09;&#xff0c;比如你希望算0x12…

数字图像处理第九章——形态学图像处理

数字图像处理第九章 数字图像处理---形态学图像处理&#xff08;一&#xff09;预备知识1.1 集合理论中的基本概念1.2 二值图像、集合及逻辑算子 &#xff08;二&#xff09;膨胀和腐蚀2.1 膨胀2.2 结构元的分解2.3 strel函数2.4 腐蚀 &#xff08;三&#xff09; 膨胀与腐蚀的…

MATLAB教学_09影像处理二

本文视频地址&#xff1a;https://www.bilibili.com/video/av68228488?p9 主要学习了初阶影像处理。有三个内容&#xff1a; 图像阈值背景预测相关连的标签 计算米粒颗数 先将图片二值化。那么有米粒的区域应该是1&#xff0c;而没有的地方就是0。那么去计算有多少个一大群…

【计算机视觉】图像增强——图像的形态学操作

个人简介&#xff1a; > &#x1f4e6;个人主页&#xff1a;赵四司机 > &#x1f3c6;学习方向&#xff1a;JAVA后端开发 > ⏰往期文章&#xff1a;SpringBoot项目整合微信支付 > &#x1f514;博主推荐网站&#xff1a;牛客网 刷题|面试|找工作神器 > &#…

数字图像处理实验(七)| 形态学图像处理{生成结构元素strel、腐蚀运算imerode、膨胀运算imdilate、开运算imopen、闭运算imclose}(附代码和实验截图、汉字视力表项目、总结)

文章目录 一、实验目的二、实验仪器三、实验原理1. 结构元素&#xff1a;2. 腐蚀运算&#xff1a;3. 膨胀运算&#xff1a;4. 开运算&#xff1a;5. 闭运算&#xff1a; 四、实验内容:1. 形态学图像处理用于图像边界提取2&#xff0e;数学形态学用于图像的噪点去除&#xff08;…

【2】MATLAB中strel('disk',r)的C实现

strel 是MATLAB中常用的类型&#xff0c;即是structuring element&#xff0c;用来构建结构元素。opencv中与其相似的函数是getStructuringElement()这个函数。 这里仅仅说是相似主要是因为两者还是有很多区别的。 getStructuringElement()可以获取常用的结构元素的形状&…

matlab strel详解,【2】MATLAB中strel('disk',r)的C實現

strel 是MATLAB中常用的類型&#xff0c;即是structuring element&#xff0c;用來構建結構元素。opencv中與其相似的函數是getStructuringElement()這個函數。 這里僅僅說是相似主要是因為兩者還是有很多區別的。 getStructuringElement()可以獲取常用的結構元素的形狀&#x…

matlab strel结构元素,【matlab】Strel函数--结构元素

###Date:2018.3.28 =========================================================================== Strel函数 主要用来构建形态学运算中的结构元素,使用的语法为strel(shape,parameters)。shape为形状参数,即设置什么样的结构元素;parameters为控制形状参数大小方向的参数…

Strel函数--结构元素

Strel函数 主要用来构建形态学运算中的结构元素&#xff0c;使用的语法为strel(shape,parameters)。shape为形状参数&#xff0c;即设置什么样的结构元素&#xff1b;parameters为控制形状参数大小方向的参数。 例&#xff1a; 建立一个负向45&#xff0c;长度为6的结构元素…

strel

文章目录 SyntaxDescriptionExamplesAlgorithms 形态结构要素 strel代表平坦的形态构造元素&#xff0c;这是形态扩张和侵蚀操作的重要组成部分。 平面结构元素是二维或二维的二进制值邻域&#xff0c;其中在形态计算中包含真实像素&#xff0c;而不包含错误像素。 结构元素的中…