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的复杂性源于浏览器之间的差异和对字体结构的方式的不同。对于这个属性的使用,我们需要格外小心,以免在跨浏览器兼容性问题上栽坑。关于这个属性的更多心得和疑问,欢迎大家来一起讨论~
编程语言
- Win10 PC创意者更新慢速版15048改进内容与已知问题
- 用纯CSS3实现网页中常见的小箭头
- 神舟笔记本问题集锦
- Bellnames常用操作说明
- 揭秘手机淘宝搜索排序的影响因素
- XHTML入门学习教程-网页Head和DTD
- 笔记本光驱保养常用知识
- hzhost虚拟主机系统致命漏洞
- 电脑无线网络出现红色叉叉无线网卡打不开的六
- 16项评比不得不看 机箱哪些功能最实用
- AI怎么绘制一个呲牙的qq表情-
- 红帽指点杆机械键盘 TEX Yoda上手体验测评
- 笔记本电脑保养常识有哪些-笔记本保养常识总结
- cdr怎么设计圆角矩形效果的图标-
- 在XSLT样式表中声明命名空间小结
- Fireworks教程-常用操作技巧总结