css深入理解vertical-align
第一讲:vertical-align家族基本认识
了解vertical-align支持的属性值以及组成
属性:
1.inherit
2.线类
baseline,top,middle,bottom
3.文本类
text-top,text-bottom
4.上标下标类
sub,super
5数值百分比类
20px,2em,20%
共性 都带数值 20px 20em 20%,都支持负值 margin,letter-spacing word-spacing vertical-align,行为表现一致 在baseline对齐基础上上下偏移对应数值大小
百分比类的差异
vertical-align的百分比值是相对于line-height计算的。
第二讲vertical-align起作用的前提
探讨各种display值对vertical-align的影响
vertical-align起作用是有条件的,应用于inline水平以及table-cell元素
inline水平的元素
img span strong em
inline-block input
table-cell元素
.table-cell:<td>
默认状态下:图片,按钮,文字,和单元格
1.display:更改元素的显示水平
2.css声明更改元素的显示水平
在一个P标签中的img标签 设置了vertical-align:middle 图片不居中
不是vertical-align没起作用,而是太短,不够居中
实战:多行文字与图片垂直居中
<div class="test-list">
<span>文字</span>
<img src="test.jpg"/>
</div>
.test-list {text-align:justify}
.test-list > span{ display:inline-block; width:210px; vertical-align:middle }
.test-list > img{vertical-align:middle;}
第三讲 vertical-align 与 ling-height
vertical-align百分比是相对于line-height值计算的
{
line-height:30px;
vertical-align:-10%;
}相当于vertical-align=-3px
内联图片里面下边出现了空白,解决方法去掉行高,或者改变vertical-align属性bottom,top,middle都可以
基本现象衍生:垂直居中
vertical-align:middle;line-height:36px;
设置标签应用比图片大的行高,图片就近似垂直居中了。
第四回 vertical-align线类属性值深入理解
底线,顶线,中线的行为表现
vertical-align:bottom
1.inline/inline-block元素:元素底部和整行的底部对齐
2.table-cell元素:单元格底padding边缘和表格行底部对齐
vertical-align:top
vertical-middle
1.inline/inline-block元素:元素的垂直中心点和父元素基线上1/2 x-height处对齐
2.table-cell元素:单元格填充盒子相对于外面的表格行居中对齐。
近似垂直居中
完全垂直居中:设置font-size:0
第五回 深入理解vertical-align文本类属性值
vertical-align:text-top/text-bottom
定义
1.vertical-algin:text-top
盒子的顶部和父级centent-area的顶部对齐
2.vertical-align:text-bottom
盒子的底部和父级content area的底部对齐
1.元素vertical-align垂直对齐的位置与前后的元素都没有关系;
2.元素vertical-align垂直对齐的位置与行高line-height没有关系,至于字体大小与font-size有关
实际作用
表情图片与文字的对齐效果 图片(16x16)
使用基线的问题在于图标偏上
使用顶线/底线的问题在于受其他内联元素影响,造成巨大定位偏差
使用中线也是不错的选择,单需要恰好的字体大小以及兼容性要求不高
使用文本底部较合适不受行高以及其他内联元素影响;
第六回 vertical-align上标下标类
1.html中的上标 <sup>
2.html中的下标 <sub>
变小的是原来字体的75%大小
1.<sup> -->vertical-align:super
2.<sub> -->vertical-align:sub
定义
1.vertical-align:super
提高盒子的基线到父级合适的上标基线位置。
2.vertical-align:sub
降低盒子的基线到父级合适的下标基线位置。
实际应用
第七回:vertical-align前后不一的作用机制
相邻元素不同vertical-align的行为表现
当出现前后不一致的时候
关注当前元素和父级,
前后并没有直接影响
第八回 vertical-align糟糕的兼容性
IE6/7
firefox/chrome
css深入理解vertical-align的更多相关文章
- CSS深入理解之overflow
CSS深入理解之overflow 前言 这是跟着张鑫旭重学CSS的overflow篇 基本属性 overflow有以下五个基本属性: 1.visible : 默认值,具体表现为,应用此属性后,子元素超 ...
- CSS深入理解之line-height
以下文字整理自慕课网——张鑫旭的<CSS深入理解之line-height>. line-height,又称行高,指的是两行文字基线之间的距离,又可以称为这行文字所占的高度. 定义三问: 什 ...
- What is Vertical Align?
https://css-tricks.com/what-is-vertical-align/ ************************************************* CSS ...
- CSS深入理解学习笔记之absolute
1.absolute和float 拥有相同的特性表现: ①包裹性(容器应用之后,可以包裹里面的内容): <!doctype html> <html> <head> ...
- CSS深入理解之absolute(HTML/CSS)
absolute和float是同父异母的兄弟,因为它们具有相同点:包裹性与破坏性 absolute的特点 1.独立的,并且可以摆脱overflow的限制,无论是滚动还是隐藏: 2.无依赖,不受rela ...
- 浏览器兼容CSS代码:按钮文字垂直居中(input button text vertical align)
经过测试的浏览器:IE6, IE7, IE8, IE9, Firefox, Chrome, Safiri, Maxthon 按钮的HTML代码: <input id="btn_comm ...
- 关于Vertical Align的理解
1:vertical-align 翻译就是垂直-对齐... 2:关于line-height的点 2.1:如果一个标签没有定义height属性,那么其最终表现的高度一定是由line-height起作用. ...
- 前端知识点回顾之重点篇——CSS中vertical align属性
来源:https://www.cnblogs.com/shuiyi/p/5597187.html 行框的概念 红色(line-height)为行框的顶部和底部,绿色(font-size)为字体的高度, ...
- css深入理解padding
padding 中规中矩,性格温婉平和! 第一节:CSS padding与容器的尺寸——了解padding与元素尺寸之间关系 CSS padding与容器的尺寸关系复杂 对于block水平元素 没有p ...
- 【转】CSS深入理解流体特性和BFC特性下多栏自适应布局
这篇文章发布于 2015年02月12日,星期四,23:36,归类于 css相关. 阅读 30873 次, 今日 63 次 by zhangxinxu from http://www.zhangxinx ...
随机推荐
- ceph-对象存储
ceph对象存储 作为文件系统的磁盘,操作系统不能直接访问对象存储.相反,它只能通过应用程序级别的API访问.ceph是一种分布式对象存储系统,通过ceph对象网关提供对象存储接口,也称为RADOS网 ...
- javaweb基础(38)_事务
一.事务的概念 事务指逻辑上的一组操作,组成这组操作的各个单元,要不全部成功,要不全部不成功. 例如:A——B转帐,对应于如下两条sql语句 update from account set mone ...
- Spring/Spring boot中静态变量赋值
情形1:静态变量为自动注入的对象 解决方案:设置两个变量,非静态变量使用@resource注入Bean,然后使用@PostConstruct在Spring初始化Bean成功后为静态变量赋值 @Comp ...
- Linux文件服务器实战(虚拟用户)
vsftpd基于系统用户访问ftp服务器,系统用户越多越不利于管理,不利于系统安全,这样就以vsftp虚拟防护的方式来解决. 虚拟用户没有实际的真实系统用户,,而是通过映射到其中一个真实用户以及设置相 ...
- 利用sysbench进行MySQL OLTP基准测试
Preface In order to know clearly about the real performance threshold of database server,we ...
- centos 7 编译安装mysql 详细过程
一.配置防火墙,开启80端口.3306端口 CentOS 7.0默认使用的是firewall作为防火墙,这里改为iptables防火墙. 1.关闭firewall: systemctl stop fi ...
- LINUX操作系统知识:进程与线程详解
当一个程序开始执行后,在开始执行到执行完毕退出这段时间内,它在内存中的部分就叫称作一个进程. Linux 是一个多任务的操作系统,也就是说,在同一时间内,可以有多个进程同时执行.我们大家常用的单CPU ...
- 基于appium的app自动化测试框架
基于appium框架的app自动化测试 App自动化测试主要难点在于环境的搭建,appium完全是基于selenium进行的扩展,所以app测试框架也是基于web测试框架开发的 一.设备连接 (即构建 ...
- 对文件 I/O,标准 I/O 的缓冲的理解
1.标准I/O缓冲区 要理解标准I/O,就要先知道文件I/O的业务逻辑. 下面图示为文件I/O 如执行下面的代码: write(fd, buf2, sizeof(buf2)); 图中 buf:就是bu ...
- B1076 Wifi密码 (15分)
B1076 Wifi密码 (15分) 下面是微博上流传的一张照片:"各位亲爱的同学们,鉴于大家有时需要使用 wifi,又怕耽误亲们的学习,现将 wifi 密码设置为下列数学题答案:A-1:B ...