今天编写JSP时,发现使用了实现选择框的某一选择栏,其中的字体没有垂直居中,在网络上查找了一下关于select标签垂直居中显示内容的问题,发现不少人也遇到同样的问题,有人干脆把select称作最恶心的标签,因为几乎不能对它应用任何CSS样式。下面看看select有多恶心。
select{height:50px;width:100px;font-size:15px;
}
select>Volvo
Saab
Opel
Audi
为了突显select标签无法垂直居中内容问题,这里故意把select的高度设为50px,远大于字体的。结果见下图,select里面的内容是靠左顶端对齐:
尝试在option添加CSS样式:vertical-align: middle; 一样不见效,如下:
select{height:50px;width:100px;font-size:15px;
}select option{vertical-align:middle;
}
Volvo
Saab
Opel
Audi
事实上,所有用到select标签的标签库:如struts2的等,都存在同样问题。但是,如果是在IE(这里是11)及chrome(这里是版本 35.0.1916.153),select标签能够自动垂直居中显示。
在html5的select的内容显示情况没有得到改善。如果需要用到选择框又要追求好看,可以考虑使用div+input标签模拟select标签功能,具体可以参考extjs的comboBox:
简单通过firedebug可以看到extjs显示select效果并没有遇到select标签,所以显示效果非常优雅。
原文:http://www.cnblogs.com/lauyu/p/3850041.html