首页 > 代码库 > select标签的字体居中问题
select标签的字体居中问题
今天编写JSP时,发现使用了<s:select>实现选择框的某一选择栏,其中的字体没有垂直居中,在网络上查找了一下关于select标签垂直居中显示内容的问题,发现不少人也遇到同样的问题,有人干脆把select称作最恶心的标签,因为几乎不能对它应用任何CSS样式。下面看看select有多恶心。
<style type="text/css"> select{ height:50px; width:100px; font-size:15px; } </style> select> <option value="volvo">Volvo</option> <option value="saab">Saab</option> <option value="opel">Opel</option> <option value="audi">Audi</option> </select>
为了突显select标签无法垂直居中内容问题,这里故意把select的高度设为50px,远大于字体的。结果见下图,select里面的内容是靠左顶端对齐:
尝试在option添加CSS样式:vertical-align: middle; 一样不见效,如下:
<style type="text/css"> select{ height:50px; width:100px; font-size:15px; } select option{ vertical-align: middle; } </style> <select> <option value="volvo">Volvo</option> <option value="saab">Saab</option> <option value="opel">Opel</option> <option value="audi">Audi</option> </select>
事实上,所有用到select标签的标签库:如struts2的<s:select>等,都存在同样问题。但是,如果是在IE(这里是11)及chrome(这里是版本 35.0.1916.153),select标签能够自动垂直居中显示。
在html5的select的内容显示情况没有得到改善。如果需要用到选择框又要追求好看,可以考虑使用div+input标签模拟select标签功能,具体可以参考extjs的comboBox:
简单通过firedebug可以看到extjs显示select效果并没有遇到select标签,所以显示效果非常优雅。
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。