关于line-height
line-height的计算:以px为例,line-height减font-size再除以二,即为font的上下间距
normal的情况为默认值,浏览器会计算出“合适”的行高,与设置的字体有关。多数浏览器(Georgia字体下)取值为1.14,即为font-size的1.14倍,如果未设定font-size,那既是基准值16px的1.14倍
单独讨论这个取值是没什么意义的,因为normal和具体的数值相比,会因为字体的不同而不同
如果是项目需要,还是给定一个值好一些
下例代码中,如果不设置line-height:1的话,则normal/默认的行高显示为22*1.14px=25px;
<html>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<head>
<style type="text/css">
p{
margin:0;font-size:22px;
}
p.small{
line-height: 0.5
}
p.big{
line-height: 2
}
/*p.normal{
line-height: 1
}*/
</style>
</head>
<body>
<p class="normal">
这是拥有标准行高的段落。
默认行高大约是 1。
这是拥有标准行高的段落。
</p> <p class="small">
这个段落拥有更小的行高。
这个段落拥有更小的行高。
这个段落拥有更小的行高。
</p> <p class="big">
这个段落拥有更大的行高。
这个段落拥有更大的行高。
</p>
</body>
</html>
那5种line-height写法,可以在font属性中缩写。line-height的值紧跟着font-size值使用斜杠分开,如:<font-size>/<line-height>
实例:body{font:100%/normal arial;} , body{font:100%/120% arial;} ,body{font:100%/1.2 arial;} ,body{font:100%/25px arial;}
----------------------------------------------------------------------------
如果设为normal或者不设的话,即为默认的方式:根据自身的font-size*1.12
关于继承,可以发现,12*120%=14.4px,这个计算出来的值会被层叠下去的元素所继承,
行内元素如span没有行高(line-height)
<html>
<head>
<style type="text/css">
body{font-size:12px;line-height:120%;font-family: Georgia;margin:0;}
span{font-size: 16px;}
h1{font-size: 32px;margin:0;}
#footer{font-size: 16px;margin:0;}
</style>
</head>
<body>
<h1>aaaaaaaaaaaaaaaaaaaaa</h1><!-- body的字体大小12*120%=14x -->
<span>bbbbbbbbbbbbbbbbbb</span><!-- 16*1.2=19px -->
<p id="footer">cccccccccccccccccccc</p><!-- body的字体大小12*120%=14x -->
</body>
</html>
而设置120%和1.2效果是不一样的!!
<html>
<head>
<style type="text/css">
body{font-size:12px;line-height:1.2;font-family: Georgia;margin:0;}
span{font-size: 16px;}
h1{font-size: 32px;margin:0;}
#footer{font-size: 16px;margin:0;}
</style>
</head>
<body>
<h1>aaaaaaaaaaaaaaaaaaaaa</h1><!-- 32*1.2=38px -->
<span>bbbbbbbbbbbbbbbbbb</span><!-- 16*1.2=19px -->
<p id="footer">cccccccccccccccccccc</p><!-- 16*1.2=19px -->
</body>
</html>
而在body中设置了line-height为px值的话,
<html>
<head>
<style type="text/css">
body{font-size:12px;line-height:22px;font-family: Georgia;margin:0;}
span{font-size: 16px;}
h1{font-size: 32px;margin:0;}
#footer{font-size: 16px;margin:0;}
</style>
</head>
<body>
<h1>aaaaaaaaaaaaaaaaaaaaa</h1><!-- 22px -->
<span>bbbbbbbbbbbbbbbbbb</span><!-- 16*normal比例(跟字体有关)=19px -->
<p id="footer">cccccccccccccccccccc</p><!-- 22px -->
</body>
</html>
一般来说,设置行高为值:纯数字是最理想的方式。因为其会随着对应的font-size而放缩
在多种情况下,很难确定一个完美的line-height,但无论如何,保守估计标题是没有段落那么的需要自适应line-height
举例来说,所有内容被定义为1.5,标题被定义为1.2.
body {line-height:1.5} h1,h2,h3,h4,h5,h6 {line-height:1.2}
万维网内容可存取性指南(WCAG)2.0规定“段落中的行距至少要1.5倍”,这意味着如果要达到AAA等级,行高应为1.5.
关于line-height的更多相关文章
- How to Take Control of Your Line Height in Outlook.com
Reference to: http://www.emailonacid.com/blog/details/C13/line_height_and_outlook.com
- 深入了解css的行高Line Height属性
什么是行间距? 古时候我们使用印刷机来出来文字.印刷出来的每个字,都位于独立的一个块中. 行间距,即传说中控制两行文字垂直距离的东东.在CSS中,line-height被用来控制行与行之间垂直距离. ...
- height与line-height
1.网页的所有元素可以分为块元素和行元素.一行文字所在的一个逻辑区域是行元素,其他的元素就都是块元素line-height只针对行元素,height针对其他所有元素 2. width,height对于 ...
- 真正的能理解CSS中的line-height,height与line-height
https://blog.csdn.net/a2013126370/article/details/82786681 在最近的项目中,常常用到line-height,只是简单的理解为行高但并没有深层次 ...
- CSS3与页面布局学习总结(二)——Box Model、边距折叠、内联与块标签、CSSReset
一.盒子模型(Box Model) 盒子模型也有人称为框模型,HTML中的多数元素都会在浏览器中生成一个矩形的区域,每个区域包含四个组成部分,从外向内依次是:外边距(Margin).边框(Border ...
- CSS学习笔记——视觉格式化模型 visual formatting model
CSS 视觉格式化模型(visual formatting model)是用来处理文档并将它显示在视觉媒体上的机制.他有一套既定的规则(也就是W3C规范),规定了浏览器该怎么处理每一个盒子.以下内容翻 ...
- 微信小程序demo2
接着上篇 微信小程序-阅读小程序demo写:http://www.cnblogs.com/muyixiaoguang/p/5917986.html 首页banner动画实现 京东新闻上下动画实现 ...
- 模仿东京首页banner轮播,京东新闻上下滚动动画实现(动画实现)
接着上篇 微信小程序-阅读小程序demo写:http://www.cnblogs.com/muyixiaoguang/p/5917986.html 首页banner动画实现 京东新闻上下动画实现 想着 ...
- 想着模仿京东微信首页呢,banner滚动搞定了,写到了一半了
接着上篇 微信小程序-阅读小程序demo写:http://www.cnblogs.com/muyixiaoguang/p/5917986.html 想着模仿京东首页呢,结果也没赶得及写完,轮播图让我搞 ...
- 浅析CSS中的BFC和IFC
1. 为什么会有BFC和IFC 首先要先了解两个概念:Box和formatting context: Box:CSS渲染的时候是以Box作为渲染的基本单位.Box的类型由元素的类型和display属性 ...
随机推荐
- Linux 平台安装Oracle Database 12c
1)下载Oracle Database 12cRelease 1安装介质 官方的下载地址: 1:http://www.oracle.com/technetwork/database/enterpris ...
- SQL*LOADER错误总结
在使用SQL*LOADER装载数据时,由于平面文件的多样化和数据格式问题总会遇到形形色色的一些小问题,下面是工作中累积.整理记录的遇到的一些形形色色错误.希望能对大家有些用处.(今天突然看到自己以前整 ...
- [Java入门笔记] 面向对象三大特征之:继承
理解什么是继承 首先我们知道,面对对象有三大特征: 封装:解决了数据的安全性问题 继承:解决了代码的重用问题 多态:解决了程序的扩展问题 上一篇博客中,我们了解了一下封装,现在我了再来看看什么是继承. ...
- Shelve Instance 操作详解 - 每天5分钟玩转 OpenStack(38)
Instance 被 Suspend 后虽然处于 Shut Down 状态,但 Hypervisor 依然在宿主机上为其预留了资源,以便在以后能够成功 Resume. 如果希望释放这些预留资源,可以使 ...
- hadoop2.2.0伪分布式搭建3--安装Hadoop
3.1上传hadoop安装包 3.2解压hadoop安装包 mkdir /cloud #解压到/cloud/目录下 tar -zxvf hadoop-2.2.0.tar.gz -C /cloud/ 3 ...
- 如何正确的使用json?如何在.Net中使用json?
什么是json json是一种轻量级的数据交换格式,由N组键值对组成的字符串,完全独立于语言的文本格式. 为什么要使用json 在很久很久以前,调用第三方API时,我们通常是采用xml进行数据交互,但 ...
- Ubuntu的个个版本代号
首先版本号跟发布日期有关,.04 为 4月份发布,.10 则在10月份发布.另外每个版本都会选一个动物作为代号,下面是 Ubuntu 从 4.10 开始的版本代号和对应动物: Ubuntu Warty ...
- [WPF系列]-DataBinding 枚举类型数据源
public class EnumerationDataProvider : ObjectDataProvider { public Type EnumerationType { get; set; ...
- [ZZ]From QA to Engineering Productivity
http://googletesting.blogspot.com/2016/03/from-qa-to-engineering-productivity.html In Google’s early ...
- BZOJ1047: [HAOI2007]理想的正方形 [单调队列]
1047: [HAOI2007]理想的正方形 Time Limit: 10 Sec Memory Limit: 162 MBSubmit: 2857 Solved: 1560[Submit][St ...