这是一个<input type="button" />
元素的演示,当您将属性添加到它时,该元素正确地进入“内联” data-inline="true"
(这是在 IE8/IE9 中测试的):http: //jsfiddle.net/eVTef/
要在 IE7 中解决此问题,您需要添加“inline hack”:
.ui-btn-inline {
*display : inline !important;
zoom : 1;
}
以星号 ( ) 为前缀的属性*
不会被 IE8/IE9 或任何其他现代浏览器读取,但会被 IE7 读取。zoom : 1
必须添加,以便元素获取CSS hasLayout
(不能手动添加到元素)。
这是上述修复的演示:http: //jsfiddle.net/eVTef/1/
奖金回合
您也可以在 IE6 中解决此问题,但您需要为元素指定高度。要为 IE6 指定高度,而没有其他浏览器,我们可以执行类似于 IE7 的星号 hack 的操作:
.ui-btn-inline {
*display : inline !important;
zoom : 1;
_height : 30px;
}
即使 IE7 会忽略下划线 ( _
) 前缀的属性,但 IE6 会使用属性声明。