博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
关于CSS:inline vertical-align
阅读量:5861 次
发布时间:2019-06-19

本文共 818 字,大约阅读时间需要 2 分钟。

前言

关于vertical-align表示内联元素相对于父元素的对齐方式。 先上结论:

  1. ‘inline-block’的基线是正常流中最后一个line box的基线, 除非,这个line box里面既没有line boxes或者本身’overflow’属性的计算值而不是’visible’, 这种情况下基线是margin底边缘。
  2. 在内联元素中存在一个空白节点,可以看作透明的没有宽度的节点,它在影响着vertical-align的作用方式

正文

关于第一点十分容易确认:

xxxx
复制代码

结果应该是:

英文字母'x'的底端即为基线baseline,表现为底端对齐了左边盒子的底部,说明左边盒子的baseline为底部。

关于第二点比较不容易看明白,先来看看将右边盒子的vertical-align设置为bottom:

这里比较费解的一点就是,左边盒子并没有元素,那其底部不是应该同为底部?为什么右边对齐的时候将右边盒子的底部往下移了?

其实就是第二点,有个空白节点在这里,我们将两个盒子中间插入字符'x'后就相当于把那个空白节点替换成了'x'以便观察。

x123x
xxx
复制代码

结果:

这样就可以看见了,其实那个节点存在了高度因此撑高了父元素的高度,使父元素高度比盒子要高一些,因此对齐方式就存在了与预期效果的差异。

而消除该差异的办法也很多:即将该节点的高度变没,或者变得足够小。 如果父元素为inline元素只需要将line-height为0,如果使block则可以将font-size为0,即可解决。

上述解决办法的原理和元素高度如何而来有关,参考前面的:关于CSS:line-height。

结尾

上班太闲了,就自己学点东西。CSS实在是太深奥了,语法简单却又难以理解。加油吧。

转载地址:http://tzwnx.baihongyu.com/

你可能感兴趣的文章
阿里云 ECS Linux 服务器 SSH 服务的安全配置优化
查看>>
什么是java 的守护线程
查看>>
sklearn 快速入门 - 0.18 中文翻译
查看>>
tomcat显示中文页面
查看>>
linux下lnmp网站搭建
查看>>
试卷: 阿里巴巴2016前端开发工程师笔试(一)
查看>>
交换机端口安全总结
查看>>
Android窗口机制(三)Window和WindowManager的创建与Activity
查看>>
Android 编译出错解决
查看>>
iOS--The request was denied by service delegate (SBMainWorkspace) for reason:
查看>>
spring 常用工具包
查看>>
苹果新品发布 Mac和Windows仍要继续并存
查看>>
exec 2.1
查看>>
JAVA-用HttpClient来模拟浏览器GET,POST
查看>>
安全狗云端+终端服务 将DDOS攻击拦截在“门外”
查看>>
Android 打开WIFI并快速获取WIFI的信息
查看>>
Maven小试
查看>>
用Python抓取全站中的404错误
查看>>
Spring boot 入门篇
查看>>
轻松搞定RabbitMQ(六)——主题
查看>>