单选框和复选框与文本的垂直居中显示问题

前言

工做三年,写了很多代码,也确实接触很多技术。可是仔细回顾,却又感一片空白,一脸茫然。故尝试揣摩业界大牛的一些历程,但愿能获得不同的收获。css

张鑫旭前辈的博客是很不错的选择之一,对 html、css、jquery 这些基本技能阐述得十分透彻。本文是对其很早一篇文章复选框或单选框与文字对齐的问题的深刻研究的再次实验,毕竟浏览器对css、html的支持多年来变化很大。html

单选框/复选框与文本当前的表现

使用最新浏览器测试,在字体小于浏览器默认字体大小时,chrome、safari、firefox默认已经可以居中对齐了,ie和edge这对难兄难弟依旧出现了差强人意的效果,文字的位置偏下了:jquery

ie8对比效果
edge对比效果
chrome对比效果
firefox对比效果
safari对比效果

修复

测试了原文中的方法,目前以vertical-align:middle表现最佳,其余方法在调整个别参数后也可达到效果,现整理了三个方法chrome

  1. vertical-align:middle为基础浏览器

    • 代码:
    input{vertical-align: middle;margin-top: -3px;margin-bottom: 0px;}
    • 效果

    方法1-ie8-效果
    方法1-chrome-效果

  2. vertical-align:text-top为基础wordpress

    • 代码:
    input{height:13px;vertical-align:text-top;margin-top: 2px;padding-top: 0;}
    • 效果

    方法2-ie8-效果
    方法2-chrome-效果

  3. 新增包裹元素测试

    • 代码:
    input{vertical-align: middle;}
      span{display: inline-block;vertical-align:middle;line-height: 1.5;}
    • 效果

    方法3-ie8-效果
    方法3-chrome-效果

点击查看示例效果字体

拓展知识

  • 通过测试、IE(ie8+)、edge、chrome、safari默认字体大小为16px,firefox默认字体大小为15px
  • checkbox和radio在不一样浏览器下有不一样的样式: ie为height: 13px;width: 13px; padding:3px; edge为height:13px;width:13px;margin:3px 3px 3px 4px;; chrome为height:12px;width:12px;margin: 3px 2.895px;;firefox为height:9px;width:9px;border-width:2px;margin:3px 3px 3px 4px;;safari为heigth:12px;weight:12px;margin:3px 2px;

持续更新地址: http://jaylin.wang/2017/radio...spa

相关文章
相关标签/搜索