Rya*_*ith 32 css cross-browser internet-explorer-7 css-tables
所以我喜欢它,当我的应用程序在Firefox中运行良好,但随后我在IE中打开它... ...不,请再试一次.
我遇到的问题是我将CSS显示属性设置为JavaScript none或table-cell使用JavaScript.
我最初使用的是display: block,但是如果没有table-cell属性,Firefox就会让它变得怪异.
如果不在JavaScript中添加黑客来测试IE,我很乐意这样做.有什么建议?
谢谢.
and*_*oon 48
我用jQuery解决了这个问题:
$(document).ready(function(){
if ($.browser.msie && $.browser.version == 7)
{
$(".tablecell").wrap("<td />");
$(".tablerow").wrap("<tr />");
$(".table").wrapInner("<table />");
}
});
Run Code Online (Sandbox Code Playgroud)
上面的脚本假设你有使用样式的div,例如:
<style>
.table { display: table; }
.tablerow { display: table-row; }
.tablecell { display: table-cell; }
</style>
Run Code Online (Sandbox Code Playgroud)
Jac*_*cco 31
解决这个设定的一个好办法display值'':
<script type="text/javascript">
<!--
function toggle( elemntId ) {
if (document.getElementById( elemntId ).style.display != 'none') {
document.getElementById( elemntId ).style.display = 'none';
} else {
document.getElementById( elemntId ).style.display = '';
}
return true;
}
//-->
</script>
Run Code Online (Sandbox Code Playgroud)
空值会导致样式恢复为默认值.此解决方案适用于所有主流浏览器.
我有同样的问题并使用过
*float: left;
Run Code Online (Sandbox Code Playgroud)
"*"仅表示IE