一、line-height语法

line-height属性的具体定义列表如下:

语法: line-height : normal | <实数> | <长度> | <百分比> | inherit

说明: line-height 属性设置行间的距离(行高),不能使用负值。该属性会影响行框的布局。在应用到一个块级元素时,它定义了该元素中基线之间的最小距离而不是最大距离。line-height 与 font-size 的计算值之差(行距)分为两半,分别加到一个文本行内容的顶部和底部。可以包含这些内容的最小框就是行框。

可能的值:

说明
normal 默认,设置合理的行间距。
number 设置数字,此数字会与当前的字体尺寸相乘来设置行间距。相当于倍数
length 设置固定的行间距。
% 基于当前字体尺寸的百分比行间距。
inherit 规定应该从父元素继承 line-height 属性的值。

二、line-height中顶线、中线、基线、底线的实例说明

HTML 代码   复制

<!DOCTYPE html>

<html>

    <head>

        <title>Test</title>

        <style type="text/css" >span
{padding:0px;line-height:1.5;}</style></head><body><div class="test"><div style=""><span style="font-size:3em;">中文English</span><span style="font-size:3em;">English中文</span></div></div></body>
<html>

图示说明

从上到下四条线分别是顶线、中线、基线、底线,很像才学英语字母时的四线三格,我们知道vertical-align属性中有top、middle、baseline、bottom,就是和这四条线相关。

尤其记得基线不是最下面的线,最下面的是底线。

三、line-height中行高、行距与半行距

行高是指上下文本行的基线间的垂直距离,即图中两条红线间垂直距离。

行距是指一行底线到下一行顶线的垂直距离,即第一行粉线和第二行绿线间的垂直距离。

半行距是行距的一半,即区域3垂直距离/2,区域1,2,3,4的距离之和为行高,而区域1,2,4距离之和为字体size,所以半行距也可以这么算:(行高-字体size)/2

图片说明

四、line-height中内容区、行内框、行框

内容区:底线和顶线包裹的区域,即下图深灰色背景区域。

行内框,每个行内元素会生成一个行内框,行内框是一个浏览器渲染模型中的一个概念,无法显示出来,在没有其他因素影响的时候(padding等),行内框等于内容区域,而设定行高时行内框高度不变,半行距【(行高-字体size)/2】分别增加/减少到内容区域的上下两边(深蓝色区域)

行框(line box),行框是指本行的一个虚拟的矩形框,是浏览器渲染模式中的一个概念,并没有实际显示。行框高度等于本行内所有元素中行内框最大的值(以行高值最大的行内框为基准,其他行内框采用自己的对齐方式向基准对齐,最终计算行框的高度),当有多行内容时,每行都会有自己的行框。

例如

<div style="">

                <span style="font-size:1em;">中文English</span>

                <span style="font-size:3em;">中文English</span>

                <span style="font-size:3em;">English中文</span>

                <span style="font-size:1em;">English中文</span>

            </div>

图片说明

五、定义line-height的方式

1、line-height可以被定义为normal。

body { line-height:normal; }

2、line-height可以被定义为继承

p { line-height:inherit; }

3、line-height可以使用一个百分比的值

p { line-height:120%; }

4、line-height可以被定义为一个长度值(单位px、em等)

p { line-height:20px; }

5、line-height也可以被定义为纯数字(甚至没有单位)

p { line-height:1.2; }

转载于:https://www.cnblogs.com/kenshinobiy/p/6599844.html

css行高line-height的用法相关推荐

  1. html中高与行高的区别,深入了解css的行高Line Height属性

    什么是行间距? 古时候我们是用印刷机来处理文字,印出来的每个字都位于独立的一个块里. 行间距,即传说中控制两行文字之间垂直距离的东东. 在CSS,line-height被用来控制行与行之间的垂直距离. ...

  2. html中行高是指字的高度嘛,CSS行高line-height的理解

    一.行高的字面意思 "行高"顾名思义指一行文子的高度.具体来说是指两行文子间基线间的距离. 基线是在英文字母中用到的一个概念,我们刚学英语的时候使用到的那个英语本子每行有4条线,其 ...

  3. CSS——行高、字体、文本的样式

    一.行高 行高(line height)行高指的是文字占有的实际高度可以通过line-height来设置行高行高可以直接指定一个大小(ex pm)也可以设置一个整数如果是一个整数行高将会是字体的指定的 ...

  4. 【转】css行高line-height的一些深入理解及应用

    一.前言 前两天在腾讯ISD团队博客上看到一篇翻译的文章"深入理解css 行高",是个不错的文章,学到了不少东西,建议您看看. 这里,我也要讲讲我对line-height的一些理解 ...

  5. css行高line-height的一些深入理解及应用

    by zhangxinxu from http://www.zhangxinxu.com,原文地址:http://www.zhangxinxu.com/wordpress/?p=384 一.一些字面意 ...

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

    css行高(line-height)及文本垂直居中原理 一.行高的定义 标准定义:两行文字基线之间的距离. 那么什么是基线? 基线是在英文字母中用到的一个概念,我们刚学英语的时使用的那个英语本子每行有 ...

  7. CSS行高等于盒子的高度,能让文字在盒子里面垂直居中的原理

    CSS行高等于盒子的高度,能让文字在盒子里面垂直居中的原理:用pink老师的一张ppt就成让人一下子明白过来.

  8. CSS基础-行高(height和line-height)【学习笔记】

    1 行高测量 行高的测量方法: 2 单行文本垂直居中 行高我们利用最多的一个地方是: 可以让单行文本在盒子中垂直居中对齐. 文字的行高等于盒子的高度. 这里情况些许复杂,开始学习,我们可以先从简单地方 ...

  9. CSS 行高与行对齐精解:line-height 和 vertical-align (图文)

    7.3 line-height 行高指的是文本行的基线间的距离,但是文本之间的空白距离不仅仅是行高决定的, 同时也受字号的影响. 7.3.1 语 法 line-height属性的具体定义列表如下: 语 ...

最新文章

  1. 任意次序的n个烙饼最小反转次数求解 暑期学习笔记(十)
  2. 关于浮点数的误差理解
  3. Android多媒体开发-- android中OpenMax的实现整体框架
  4. martin_pthread_pool
  5. 企业打造自己的数据中台,需要的是一套硅谷方法论(文末有福利!)
  6. Flex中动态更新List item
  7. 《认清C++语言》---接口继承和实现继承
  8. 内核同步与互斥的总结
  9. 读取城市坐标,计算任意两个城市之间的距离。
  10. WIN10彻底禁用UAC(用户账户控制)
  11. Unity---商店搭建
  12. 前公司未支付竞业限制补偿金,如何起诉?
  13. JAVA高级视频_IO输入与输出_第一部分(System、Runtime、Date、Calendar、MathRandom、IO输入输出与概述、文件的续写、FileReader、复制文件、)...
  14. 韩国票房:“蜘蛛侠”挤掉“美队”称王
  15. 7.正则抓取页面内容
  16. SaltStack常用模块之file
  17. my-view-isnt-reflecting-changes-ive-made-to-the-underlying-tables
  18. 华为鸿蒙os再度升级,华为鸿蒙官网再次更新!多达24款机型可升级鸿蒙OS:赶紧报名升级吧...
  19. matlab里实现AR人脸库2600张人脸图的分类处理
  20. ElasticsearchRestTemplate客户端使用

热门文章

  1. hh.exe的另类用法
  2. [转]使用C#调用金诚信71x系列读卡器的DLL
  3. sqllite配置(参考别人)
  4. 信息系统开发平台OpenExpressApp:【OpenTest】 之 如何实现自动化测试框架
  5. Operations Manager 2007 R2系列之单台性能视图
  6. 多线程中的指令重排问题
  7. 什么是VMware vSphere
  8. Android运行时异常“Binary XML file line # : Error inflat
  9. Java深入了解String对象
  10. Python操作mysql数据库查询操作时提示“unread-result-found”