我不知道的行高——line-height
概述
- 对于块级元素,CSS属性line-height指定了元素内部line-boxes的最小高度。
- 对于非替代行内元素,line-height用于计算line box的高度。
- 对于替代行内元素,如button 或其他input元素,line-height没有影响
取值
normal
取决于用户代理。桌面浏览器(包括火狐浏览器)使用默认值,约为1.2,这取决于元素的 font-family。(存在差异性)<number>
所用的值是无单位数值乘以元素的 font size。计算出来的值与使用数值指定的一样。大多数情况下,使用这种方法设置line-height是首选方法,在继承情况下不会有异常的值。<length>
指定 用于计算 line box 的高度。查看 获取可能的单位。<percentage>
与元素自身的字体大小有关。计算出的值是给定的百分比值乘以元素计算出的字体大小。inherit
缩写:line-height的值紧跟font-size的值,使用/分开(eg: font: 16px/normal arial;)
计算
百分比
所有继承下来的元素会忽略本身的font-size,而使用相同的、计算出来的line-height;line-height不会随着相关的font-size做相应的比例缩放,可能导致有的地方太紧,而有的地方太松(缺点)。element font-size line-height 计算后的line-height body 16px 120% 16px * 120% = 19.2px h1 32px 继承的计算后的值 19.2px p 16px 继承的计算后的值 19.2px footer 12px 继承的计算后的值 19.2px 长度
所有继承下来的元素会忽略本身的font-size,而使用相同的继承来的line-height;也不会随着相关的font-size做相应的比例缩放。element font-size line-height 计算后的line-height body 16px 20px 20px h1 32px 继承的计算后的值 20px p 16px 继承的计算后的值 20px footer 12px 继承的计算后的值 20px normal(约为1.2)
所有继承下来的元素不会忽略本身的font-size,使用基于font-size算来的line-height;也不会随着相关的font-size做相应的比例缩放。现在会做相应缩放element font-size line-height 计算后的line-height body 16px normal 16px * 1.2(约)= 19.2px h1 32px normal 32px * 1.2(约)= 38.4px p 16px normal 16px * 1.2(约)= 19.2px footer 12px normal 11.2px * 1.2(约)= 13.44px 纯数字(推荐)
所有继承下来的元素使用基于font-size算来的line-height;会随font-size做相应缩放。(偶尔标题会有的地方比较松)element font-size line-height 计算后的line-height body 16px 1.5 16px * 1.5 = 24px h1 32px 系数:1.5 32px * 1.5 = 48px p 16px 系数:1.5 16px * 1.5 = 24px footer 12px 系数:1.5 12px * 1.5 = 18px *可以考虑内容设置line-height:1.5;标题设置1.2
四种盒子
containing box
inline boxes
line boxes(inline boxes在containing boxes中一个接一个形成line boxes,高取决于内部最高的inline box)
content area(围绕文字、看不见的box,高取决于font-size)
*四种盒子的问题始终没怎么太明白
应用
- 单行文字居中
一般在做单行文字居中都是采用该策略——将line-height设置与height等高;但是height是不需要设置的 - 固定高度的多行文字居中
- 图片垂直居中
我不知道的行高——line-height的更多相关文章
- 深入了解css的行高Line Height属性
什么是行间距? 古时候我们使用印刷机来出来文字.印刷出来的每个字,都位于独立的一个块中. 行间距,即传说中控制两行文字垂直距离的东东.在CSS中,line-height被用来控制行与行之间垂直距离. ...
- css - 行高
css - 行高 line-height行高 取值:px | em | rem | 百分比 | 纯数字 | normal | inherit 设置给:块.行内.行内块 应用给:文本 继承:块.行内.被 ...
- easyui datagird 解决行高不一致问题!
<style>.datagrid-btable .datagrid-cell {padding: 6px 4px;overflow: hidden;text-overflow: ellip ...
- wpf datagrid row height 行高自动计算使每行行高自适应文本
wpf 的datagrid的行高 要么是Auto,要么是定值:但会带来麻烦就是每行行高都一样. 当需要按内容(主要是wrap 换行的textbox或textblock)来动态调整行高的时候,需要用到d ...
- 关于RecyclerView你知道的不知道的都在这了(下)
目录 目录 正文 6. Recycler 7. ItemAnimator 8. ItemDecoration 9. OnFlingListener 目录 由于本篇篇幅特长,特意做了个目录,让大伙对本篇 ...
- 你所不知道的 CSS 阴影技巧与细节 滚动视差?CSS 不在话下 神奇的选择器 :focus-within 当角色转换为面试官之后 NPOI 教程 - 3.2 打印相关设置 前端XSS相关整理 委托入门案例
你所不知道的 CSS 阴影技巧与细节 关于 CSS 阴影,之前已经有写过一篇,box-shadow 与 filter:drop-shadow 详解及奇技淫巧,介绍了一些关于 box-shadow ...
- css中line-height行高的深入学习
之前对css中行高line-height的理解还是有些肤浅,深入后才发觉里面包罗万象.学习行高line-height,首先从基本原理开始 (标注该文章转载 http://www.cnblogs.com ...
- 你可能不知道的7个CSS单位
如果你是一名前端开发工程师,一般px和em使用频率比较高.但是今天本文的重点是介绍一些我们使用很少.甚至么有听说的单位. 一.重温em <style type="text/css&qu ...
- 第2月第24天 coretext 行高
1.NSMutableAttributedString 行高 NSMutableAttributedString *attributedString = [[NSMutableAttributedSt ...
随机推荐
- Linux IO时事检测工具iostat
Linux IO时事检测工具iostat iostat命令用于检测linux系统io设备的负载情况,运行iostat将显示自上次运行该命令以后的统计信息.用户可以通过指定统计的次数和时间来获得所需的统 ...
- gRPC实战
gRPC是Google开源的一款非常棒的系统间通信工具,完美的communication抽象,构建在protobuf之上的RPC. 下面我们聊聊它的应用场景,grpc为分布式系统而生,可以是系统间通信 ...
- 20170510 mysql导入导出csv
一开始没加FIELDS TERMINATED BY ',' OPTIONALLY ENCLOSED BY '"' LINES TERMINATED BY '\n' 导致导出的csv没有进行分 ...
- python_7_列表
什么是列表? --一种数据类型 -- 形式:[值1,值2,[值a,值b],值3] --可以嵌套 #!/usr/bin/python3 list_a = [1, 2, [3, 'a']] 对于 ...
- 【Java框架型项目从入门到装逼】第十四节 查询用户列表展现到页面
这一节,我们来实现一下用户列表搜索,最终的效果如下: 这边我们要使用easyUI给我们提供的datagrid组件. HTML结构如下 <!-- 数据列表 --> <table id= ...
- PHP获取字符串编码与转码
(⊙o⊙)-编辑器保存的是utf8的文档取出来的字符串是gbk编码?问题很多,字符串转换为utf8的话在浏览器输出乱码 $e=mb_detect_encoding($d,array('GB2312', ...
- 【转】Linux shell笔记
由于工作的需要,越来越多的接触到linux系统.最近看了<Linux与Unix Shell>这本书,安装书的章节整理了一些自己认为比较重要的命令,方便以后查阅. No.001 文件安全与权 ...
- AQS 框架之 Unsafe 源码详解
■ 前言 之前 LockSupport那篇已经叙述了是线程阻塞工具类,其底层由 Unsafe 实现,即 park(), unpark() 方法,获取指针偏移量,并操纵内存.本篇主要介绍 Unsafe ...
- Effective Java 之-----静态工厂与构造器
一. 考虑用静态工厂方法代替构造器: 1)静态工厂方法与构造器不同的第一大优势在于:他们有名称.当一个类需要多个带有相同签名的构造器时,就用静态方法代替构造器,并慎重的选择名称以突出他们间的区别: 2 ...
- 前端 js技术
1.JavaScript代码存在形式 <!-- 方式一 --> <script type"text/javascript" src="JS文件" ...