CSS标准:vertical-align属性
近期我对CSS中的vertical-align属性进行了深入研究,结果让我深感震惊。这个看似简单的属性,在各大浏览器中的表现却大相径庭,其复杂程度远超我的想象。
vertical-align属性拥有众多取值,包括baseline、sub、super、top、text-top、bottom、text-bottom以及一系列长度值(%、em、ex等)。以其中的bottom值为例,其表现效果在各大浏览器中差异显著。
当我们在CSS中写下如下代码:
```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文档,试图这一现象的根源。按照W3C的定义,当内联元素的vertical-align设置为baseline、top、bottom时,该元素的baseline(或middle,top,bottom)会与其周围元素的相同位置对齐。即便是依据这些规则,各浏览器的表现仍然大相径庭。
除了vertical-align本身的复杂性,这个问题还与浏览器对内联文本和内联图片的结构有关。各浏览器对字体的每一条线的位置的定义都不尽相同,这导致了vertical-align在不同浏览器中的表现差异。
为了更直观地展示各浏览器对vertical-align不同值的结果,我提供了一个测试页面。大家可以方便地去测试一下其他的值,比如middle或是text-top。你会发现,这些值的表现在各浏览器间也是完全不一样的。
vertical-align的复杂性源于浏览器之间的差异和对字体结构的方式的不同。对于这个属性的使用,我们需要格外小心,以免在跨浏览器兼容性问题上栽坑。关于这个属性的更多心得和疑问,欢迎大家来一起讨论~
编程语言
- CSS标准:vertical-align属性
- AI蒙版和钢笔绘制漂亮的水晶图标字样
- Win10 Mobile 10240泄露版或不能升级到官方推送预览
- IE8的一些有趣的新功能
- Maya怎么将模型转换xgen曲线-
- padding ie 不兼容问题
- cdr怎么绘制一箭穿心的图形-
- 电脑电源风扇不转的原因与解决办法
- CAD怎么设置点样式- CAD点样式设置方法
- 笔记本一直接着电源影响电池寿命?延长笔记本
- src或者css背景图的url值为base64编码代码
- 3Dmax怎么制作文字弹跳的动画效果-
- Linux 下多种编程语言的反弹 shell 方法
- win10预览版10061系统主题颜色怎么更改
- 微软官宣-Win10X系统已死 将在他产品中整合Win10
- Win10累积更新补丁KB4016240安装失败问题的解决方法