vertical-align作用,基线详解
vertical-align
- vertical-align作用
- ①控制单元格内容的垂直对齐方式
- ②控制多个行内(块)元素在一行上的垂直对齐方式
- ③控制行内(块)元素相对其父元素垂直对齐方式
- 基线的概念
- ①作为父元素的块级元素基线(baseline)
- ②作为子元素的一个空的行内(块)元素基线
- ③作为子元素的一个非空的行内(块)元素基线
- ④作为子元素非空的一个行内(块)元素基线【但是它设置了overflow的值不等于visible,如设置为hidden】
- ⑤文本元素基线
- x-height(译注:x高度)
vertical-align作用
① 控制单元格内容的垂直对齐方式
② 控制多个行内(块)元素在一行上的垂直对齐方式
③ 控制行内(块)元素相对其父元素垂直对齐方式
注意: vertical-align 只对行内与行内块元素、表格单元格元素生效:不能用它垂直对齐块级元素
①控制单元格内容的垂直对齐方式
表格单元格的值
值 | 作用 | 描述 |
---|---|---|
top | 单元格内容居上 | 使单元格内边距的上边缘与该行顶部对齐 |
middle | 单元格内容居中 | 使单元格内边距盒模型在该行内居中对齐 |
bottom | 单元格内容居下 | 使单元格内边距的下边缘与该行底部对齐 |
②控制多个行内(块)元素在一行上的垂直对齐方式
当一行中有多个行内块元素时生效,如果只有一个元素那么他的顶端就是行的顶端,他的底端就是行的底端,不管你设置top还是bottom,他都不会变化
属性值 | 描述 |
---|---|
top | 使元素及其后代元素的顶部与整行的顶部对齐(默认) |
bottom | 使元素及其后代元素的底部与整行的底部对齐 |
- 注意:
-
一行的高度由该行最高元素的高度决定的,而不管其父元素有多高,除非我们显式的设置了行高==父元素的高度
然后行高会存在继承关系,如果我们设置了父元素的行高,那么子元素会自动的继承在父元素上设置的行高,这在很多时候都不是我们想要的,所以我们需要在子元素里面重新定义行高
③控制行内(块)元素相对其父元素垂直对齐方式
属性值 | 描述 |
---|---|
baseline | 默认 使元素的基线与父元素(当前行)的基线对齐 |
属性值 | 描述 |
---|---|
middle | 使元素的中部与父元素的基线加上父元素x-height(译注:x高度)的一半对齐 |
属性值 | 描述 |
---|---|
text-top | 把元素的顶端与父元素字体的顶端对齐 |
text-bottom | 把元素的底端与父元素字体的底端对齐 |
属性值 | 描述 |
---|---|
sub | 使元素的基线与父元素的下标基线对齐 |
super | 使元素的基线与父元素的上标基线对齐 |
属性值 | 描述 |
---|---|
length | 使元素的基线对齐到父元素的基线之上的给定长度。可以是负数。 |
% | 使元素的基线对齐到父元素的基线之上的给定百分比,该百分比是line-height属性的百分比。可以是负数 |
基线的概念
在各种内联相关模型中,凡是涉及到垂直方向的排版或者对齐的,都离不开最最基本的基线(baseline)。其他中线顶线一类的定义也离不开基线
①作为父元素的块级元素基线(baseline)
块级元素如果只有一行的内容,那么就以字母x的底部作为基线
当有多行内容时,每行都有一个基线,两个相邻基线间的距离就是行高
②作为子元素的一个空的行内(块)元素基线
以下margin的底部作为基线
③作为子元素的一个非空的行内(块)元素基线
以含有元素的基线作为基线
注意: 一个行内块里面可能含有多个子元素,不同子元素的基线可能不一样,但是最终他们的基线会排在同一行上,这一行也会作为外层行内块元素的基线
④作为子元素非空的一个行内(块)元素基线【但是它设置了overflow的值不等于visible,如设置为hidden】
以下margin的底部作为基线文本基线
对于button等设置overflow无法修改他的基线,button的基线有些特殊,后面我明白了再更
⑤文本元素基线
以x的底部作为基线
x-height(译注:x高度)
"x-height"就是指的小写字母’x’的高度
当vertical-align: middle.时,其含义就是使元素的中部与父元素的基线加上父元素x-height的一半对齐
希望对你有所帮助
vertical-align作用,基线详解相关推荐
- Android JNI作用及其详解
Android JNI作用及其详解 Java Native Interface (JNI)标准是Java平台的一部分,它允许Java代码和其他语言写的代码进行交互.JNI 是本地编程接口,它使得在 J ...
- 内存虚拟化、内存复用、大页内存作用及详解
内存虚拟化.内存复用.大页内存作用及详解 1. 内存虚拟化 2. 内存复用 2.1. 内存共享 2.2. 内存置换 2.3. 内存气泡 3. 大页内存 3.1. 大页内存原理 3.2. 大页内存配置 ...
- SQL IDENTITY_INSERT作用案例详解
文章来源: 学习通http://www.jaxp.net/ 一般情况下,当数据表中,莫一列被设置成了标识列之后,是无法向标识列中手动的去插入标识列的显示值.但是,可以通过设置SET IDENTITY_ ...
- 学习笔记-Flutter 布局(二)- Padding、Align、Center详解
Flutter 布局(二)- Padding.Align.Center详解 本文主要介绍Flutter布局中的Padding.Align以及Center控件,详细介绍了其布局行为以及使用场景,并对源码 ...
- python中continue语句的作用_Pythoncontinue语句有什么作用?详解Pythoncontinue语句的用法...
本文主要介绍python语句,Python continue 语句跳出本次循环,而break跳出整个循环.continue 语句用来告诉Python跳过当前循环的剩余语句,然后继续进行下一轮循环.co ...
- Henry前端笔记之 vertical-align与line-hight与基线详解
Henry前端笔记之 vertical-align与line-hight与基线详解 文献一:[深入理解vertical-align和line-height的基友关系] 文献一:[深入理解vertica ...
- 、简述global关键字的作用_详解static inline关键字
详解static inline关键字 本文章为知乎用户 @徐yang哟 原创,禁止抄袭! 灵感来源 在查stm32的LL库部分函数的API时,有时会查到这种函数: __STATIC_INLINE vo ...
- python super()方法的作用_详解python的super()的作用和原理
Python中对象方法的定义很怪异,第一个参数一般都命名为self(相当于其它语言的this),用于传递对象本身,而在调用的时候则不必显式传递,系统会自动传递.uz0免费资源网 今天我们介绍的主角是s ...
- 计算机刷新的作用,图文详解Win8重置和刷新功能:超强自我治愈
直接自愈,Windows8出故障之后,伴随着重置和刷新两大新功能,世上无难事了啊.微软Windows8团队今日在官方博客详细向用户解释Win8的重置和刷新PC功能,将可一键复位系统到最佳状态.视频演示 ...
- python内置json模块的作用_python详解json模块
我们在做工作中经常会使用到json模块,今天就简单介绍下json模块 什么是json JSON ,全称为JavaScript Object Notation, 也就是JavaScript 对象标记,它 ...
最新文章
- sqlserver Distributed Transaction 分布式事务
- spring aop使用详解
- php一句话图片木马过滤_php一句话图片木马怎么解析
- leetcode111 爬楼梯 python实现
- Linux之cmake3.6安装
- java 存储过程 数组参数_执行数组参数的存储过程
- 私钥公钥学习心得(二)比特币与支付宝
- 微信扫码下载iosAPP
- 学php还是golang,学swoole还是golang
- LNMP一键自动安装脚本
- 斯坦福大学深度学习公开课cs231n学习笔记(9)softmax分类和神经网络分类代码实现
- 【C++程序设计语言A视频教程 全12讲 中科院】【下载链接】
- html网页加线条,「网站特效」html5 canvas粒子线条特效制作方法
- 74KB图片也高清,谷歌用神经网络打造图像压缩新算法
- 计算机二级考试怎么练题库,计算机二级考试单选题训练题库
- #学习笔记4#软件测试基础——测试阶段划分、黑盒测试的一些知识
- 我是一个创业者,也是一个开发者!
- 面向对象(static关键字)
- OnSysCommand( UINT nID, LPARAM lParam );分析
- DIV+CSS 网页兼容性问题(IE6 IE7 IE8 IE9 火狐 chorm)