出于某种原因,当用户从“控制”面板将其显示设置为125%时,IE9将为元素添加额外的宽度,如下所示:
<div class="container" id="main" style="width: 1500px">
<!-- Code goes here-->
</div>
上面的内联样式(带宽度)是IE9添加的样式。 IE8没有这个问题,它肯定是通过将Windows显示设置设置为125%来触发的。 Chrome和Firefox在没有额外风格的情况下正确显示内容。不要以为任何人都有解决方法或修复此问题?无法控制用户拥有的设置,但我已经看到其他网站正常呈现。
答案 0 :(得分:1)
好的,所以我用条件注释和一些jQuery来解决这个问题:
<!--[if IE 9]>
<script type="text/javascript">
window.onload = function () {
if ( $('#main').attr('style') !== 'undefined' ) {
$('#main').removeAttr('style');
}
}
</script>
<![endif]-->
基本上,它检查IE是否在违规元素上放置了“样式”属性,如果是,则删除该属性。
答案 1 :(得分:0)
是的,或者如果你想对宽度和高度更具选择性
jQuery(document).ready(function () {
removeInlineWidthHeightElements($('#main'));
});
function removeInlineWidthHeightElements(element) {
element.attr('style', function (i, style) {
return style.replace(/width[^;]+;?/g, '').replace(/height[^;]+;?/g, '');
});
}