input button的行高在FF下的显示问题

近期开发者发现Firefox及Opera存在一个无法调整按钮内文字行高的问题。在Chrome等其他浏览器正常显示的情况下,Firefox却强制限制了按钮内的行高,且各浏览器对normal值解释不一。最终采用padding方案解决了这一问题。
摘要由CSDN通过智能技术生成

最近国外有开发者发现Firefox和Opera的一个BUG:无法改变按钮里文字的行高(包括input type=”sumbit”和HTML的button标签)。举个例子,对一个按钮使用以下样式:

input#button {
border: 2px solid #06f;
color: #06f;
background-color: #6cf;
font: bold 12px Arial, Helvetica, sans-serif;
line-height: 50px;
}

按照常理,这个样式将为按钮设置50px的行高,并使文本垂直居中。因为这个样式在Chrome、Safari和IE8里的表现都一致,唯独在Firefox和Opera里并没有表现出50px的行高,具体效果如下图。 

button-sizes-by-browser

是什么原因引起了这个问题?

在Firebug的帮助下,该开发人员发现虽然自己已经把行高设为50px,但Firefox依然使用15px的行高。

firebug-firefox-line-height

该开发人员认为是Firefox强行限制了按钮文本的行高,于是编写了以下的CSS用于验证。

button, input[type="reset"], input[type="button"], input[type="submit"] {
line-height:normal !important;
}

该开发人员发现,Firefox会私自把按钮内文本的行高设置为normal,这个值在Firefox里默认为15px,但各个浏览器对normal的值并没有一个统一的标准。最后这个开发人员放弃了通过行高把按钮撑开并使文本居中的方法,而采用了以下的样式,解决了Firefox的按钮行高问题。

input#button {
border: 2px solid #06f;
color: #06f;
background-color: #6cf;
font: bold 12px Arial, Helvetica, sans-serif;
padding: 18px 6px;
}


这并不是最好的办法,但也算是达到了所需的效果。

本文案例出自The Firefox Input Button Line-Height Bug


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值