一、行高的字面意思

“行高“顾名思义指一行文子的高度。具体来说是指两行文子间基线间的距离。

基线是在英文字母中用到的一个概念,我们刚学英语的时候使用到的那个英语本子每行有4条线,其中底部第二条线就是基线,是a,c,z,x等字母的地边线。

 ————————顶线(top line)————————————————

——————————中线(middle line)————————————

————————————基线(base line)———————————

———————————————底线(bottom line)——————    

vertical-align中有top,middle,baseline,bottom与之是有关联的,但是具体细节如何,浏览器差异怎样,我还是不是很清楚。

但是由于中午跟英文长得不一样,所以基线的说法就像老太太穿线一一对不上眼。你理解为底线之差也不为不可。只是定义一回事,表现则另一回事。

http://www.cnblogs.com/roucheng/
二、line-height与line boxes高度
先说一个大家熟知的现象,有一个空的div,<div></div>,如果没有设置至少大于1像素高度height值时,该div的高度就是个0.如果该div里面打入了一个空格或是一个汉字 ,则此div就会有一个高度。那么您有没有思考过,为什么div里面有文字后就会有高度呢?

这是个看上去很简单的问题,是理解line-height非常重要的一个问题。可能有人会认为是:文子撑开的!文子占据空间,自然将div撑开。我一开始也是这样理解的,但是事实上,深入理解inline模型后,我发现,根本不是文字撑开了div的高度,而是line-height!哟证明很简单(如下测试代码):

css代码:

<!-- lang: css -->
.test1{font-size:20px; line-height:0; border:1px solid #cccccc; backgroud:#eeeeee;}
<!-- lang: css -->
.teset2{fon-size:0; line-height:20px; border:1px solid #cccccc; backgroud:#eeeeee;} html代码: <!-- lang: html -->
<div class="test1">测试1</div>
<!-- lang: html -->
<div class="test2">测试2</div> 结果:test1 div有文字大小,但是行高为0,结果div的高度就是个0;test2 div文字大小为0,但是有行高,为20像素,结果div高度就是20像素。这就说明撑开div高度的是line-height不是文字内容。 到底这个line-height行高怎么就产生了高度呢?在linline box模型中,有个line boxes,这个是看不见的。line boxes的工作就是包裹每行文字。一行文字一个 line boxes。例如”艾佛森退役"这5个字,如果它们在一行显示,你艾佛森再牛,对不起,只有一个line boxes罩着你;但是”春哥纯爷们“这5个字,要是竖着写,一行一个,那真是够爷们,一个字罩着一个line boxes,于是总计5个line boxes。line boxes什么特性也没有,就是高度。所以一个没有设置height属性的div的高度就是由一个line boxes的高度堆积而成的。 其实line boxes不是直接的生产者,属于中层干部,真正的活儿都是它的手下-inline boxes干的,这些手下就是文字啦,图片啦,span之类的inline属性的标签啦。line boxes只是个考察汇报人员,考察它的手下谁的实际line-height值最高,谁最高,它就要谁的值,然后向上汇报,形成高度。例如,<span style="line-height:20px;">取手下line-height<span style="line-height:40px;">最高</span>的值</span>.则line boxes的高度就是40像素了。

最新文章

  1. exception &#39;yii\base\ErrorException&#39; with message &#39;Class &#39;MongoClient&#39; not found&#39;
  2. android之电话拨号器
  3. MySql自动分区
  4. 标准类型内建函数 cmp()介绍
  5. UVa 10883 (组合数 对数) Supermean
  6. 实时数据处理环境搭建flume+kafka+storm:4.storm安装配置
  7. CopyU!SW新版发布!
  8. css设置文字不换行,超过的部分用“...”代替
  9. cocos2d-x游戏开发系列教程-坦克大战游戏之坦克的显示
  10. TCP在三次握手协议和四波(图)
  11. 【CSS学习笔记】字体的控制
  12. shell脚本,符号
  13. weex官方demo weex-hackernews代码解读(下)
  14. web前端面试总结(二)
  15. servlet入门学习之生命周期
  16. 关于 html input标签的几个常用操作
  17. MVC架构介绍-框架分层
  18. remmina如何上传文件到linux服务器
  19. Sprint 1 Review &amp; Daily Scrum - 11/18
  20. go hmac使用

热门文章

  1. 求s=a+aa+aaa+aaaa+aa...a的值,其中a是一个数字。
  2. 解决mint17-linux里chrome一搞就弹出“登陆密钥环”的框框
  3. [SQL SERVER 2005]数据库差异备份及还原
  4. Asp.net Core中使用Entity Framework Core CodeFirst
  5. Fixed error when submitting assignments in Machine Learning on Coursera
  6. 优先队列求解Huffman编码 c++
  7. 异常跟踪之CLR 类型到 EDM 类型的映射不明确
  8. quick2.26 android下http崩溃
  9. 做最好的日期控件,My97 DatePicker 4.8 Beta4
  10. javascript中apply()方法解析-简单易懂!