css vertical-align属性详细图解分析
垂直对齐属性:vertical-align的深探
近日,我深入研究了一下CSS中的vertical-align属性,结果让我颇感惊讶。这个看似普通的CSS标准在不同浏览器中的表现竟然各异。
vertical-align属性拥有众多取值,包括baseline、sub、super、top、text-top、bottom、text-bottom、middle以及各种长度值(%、em、ex等)。让我们先来看一下我认为最为特殊的取值:bottom。
在以下的CSS代码中,我将一个图片的vertical-align属性设置为bottom:
```css
p {
font-size: 18px;
line-height: 36px;
font-family: Tahoma, sans-serif;
}
img {
vertical-align: bottom;
}
```
当我在不同浏览器中观察这段代码的效果时(图片被我特意调整,以便观察相对位置),结果令人困惑。原以为Firefox在解释这个属性时会更准确,但对比Opera和IE,却发现它们的表现是一致的,而Safari/Win则与Firefox相同。这种情况让我十分困惑。
我深入学习了《CSS权威指南(第二版)》,并查阅了W3C文档,试图理解vertical-align的工作原理。根据W3C的定义,当内联元素的vertical-align属性设置为baseline、top、bottom时,该元素的baseline(或middle、top、bottom)会与其周围元素的相同位置对齐,如图片的top与周围文字的top对齐。而当设置为text-top和text-bottom时,该元素的top(或bottom)会对其周围元素的text-top(或text-bottom)。至于长度值(%、em、ex),则是基于baseline向上移动,正数代表向上移动,负数代表向下。而middle则是该元素的中心对其周围元素的中心。
即使是按照这些规则,我还是无法解释为什么不同浏览器在解释这个属性时会有如此大的差异。实际上,这种差异不仅仅与vertical-align属性有关,更与浏览器对内联文本和内联图片的结构密切相关。各个浏览器对于字体的每一条线的位置的定义都有所不同,这也导致了vertical-align属性在各大浏览器中的表现不一致。
尽管我们已经有了关于vertical-align的一些理论定义,但在实际应用中,还是需要考虑到不同浏览器的兼容性问题。这也再次证明了CSS的复杂性和挑战性。
网站设计
- css vertical-align属性详细图解分析
- Maya2008制作一只逼真漂亮的花蝴蝶
- Dreamweaver CC2019怎么安装并激活- dw2019安装激活教程
- 电脑最基本的操作简介经验介绍
- 到底怎么样-AiPACONN多功能DOCKING拆解图赏
- html5使用canvas实现图片下载功能的示例代码
- 国信灵通股票回购释放出什么信号?
- OculusVR收购游戏开发引擎 虚拟现实游戏要来了
- Win10哪个版本好用 游戏玩家选Win10什么版本
- AI怎么改变路径- ai路径功能的使用方法
- Win10预览版闹钟怎么设置?Win10闹钟最全的玩法
- win10系统开始菜单弹出很慢问题的解决方法
- 2017惠普Spectre x360 13-AC011TU二合一轻薄本全面深度
- 一成不变的站长到底还能活多久?
- Win10预览版18343怎么关闭SSD硬盘碎片整理功能-
- SWFObject最实用的功能