vertical-align表单元素垂直对齐

作者:xidea 来源:蓝色理想 时间:2009-07-27 13:02:00 

最近的项目涉及到很多表单的制作,特别是复选框(checkbox)和单选框(radio)。但是在前端开发过程中发现,单(复)选框和它们后面的提示文字在不进行任何设置的情况下,是无法对齐的,而且在Firefox和IE中相差甚大。即使设置了vertical-align:middle,也依然不能完美对齐。如下图所示:

于是上网查看了一些网站,发现这个问题是普遍存在的,如下图(FF3.5):

在很多网站涉及到表单的页面中,都存在这种表单元素与提示文字无法对齐的问题。于是打算研究一下这个问题。首先,搜索到了wheatlee前辈的文章《大家都对vertical-align的各说各话》。wheatlee在他的文章中关于垂直居中提到了这样几个关键点:

1、vertical-align:middle的时候,是该元素的中心对齐周围元素的中心。

2、这里“中心”的定义是:图片当然就是height的一半的位置,而文字应该是基于baseline往上移动0.5ex,亦即小写字母“x”的正中心。但是很多浏览器往往把ex这个单位定义为0.5em,以至于其实不一定是x的正中心(baseline等名词如果不懂,请先阅读wheatlee的文章)

按照这个思路,对照我遇到的问题,首先想到的是先验证一下浏览器对于“复选框”和图片是不是使用同样的规则来渲染(是不是把复选框当成一个正方形图片来对待)。于是写出下面的代码:

<style>
body{font-size:12px;}
</style>
<input style="vertical-align:middle;" name="test" type="checkbox">
<img style="vertical-align:middle;"  src="testpic.gif" />
测试文字

代码中的testpic.gif是一个尺寸与复选框完全一样的黑色图片。FF3.5下显示如下:

标签:vertical-align,表单,垂直对齐
0
投稿

猜你喜欢

  • 如何基于python实现脚本加密

    2021-10-07 19:23:05
  • PHP实现简单注册登录系统

    2024-05-02 17:34:13
  • 由 IE8 User-Agent 更新想到的

    2009-01-12 18:33:00
  • Python 代码性能优化技巧分享

    2023-10-15 05:00:56
  • FckEditor 中文配置手册

    2022-05-20 22:23:13
  • Python连接Redis的基本配置方法

    2023-09-29 21:28:27
  • 用实例详解Python中的Django框架中prefetch_related()函数对数据库查询的优化

    2024-01-19 08:47:12
  • Keras 多次加载model出错的解决方案

    2023-11-01 20:52:35
  • MySQL 中这么多索引该怎么选择

    2024-01-17 12:58:54
  • Python绘制散点密度图的三种方式详解

    2021-12-07 00:21:04
  • mysql数据插入覆盖和时间戳的问题及解决

    2024-01-21 02:15:26
  • python发送邮件的实例代码(支持html、图片、附件)

    2023-08-31 00:39:50
  • 使用Python和Prometheus跟踪天气的使用方法

    2021-05-15 14:31:05
  • 深入浅析PHP的session反序列化漏洞问题

    2024-05-13 09:51:14
  • Python编写简单的HTML页面合并脚本

    2022-08-13 09:13:07
  • 总结Pyinstaller打包的高级用法

    2021-03-27 02:48:16
  • 网页HTTP header头信息详解

    2010-03-31 14:42:00
  • python-pymysql获取字段名称-获取内容方式

    2024-01-21 05:19:44
  • Firefox下正则诡异问题

    2009-08-03 14:03:00
  • asp.net C#实现解压缩文件的方法

    2023-07-14 10:34:01
  • asp之家 网络编程 m.aspxhome.com