我有一个验证脚本,可以绝对定位一系列 <span>
使用定位。然而,在 IE6 中,定位向右偏移了大约 10px(即需要在右侧添加 10 个像素)。我想知道是否可以用 jQuery 来检测 IE6 并在右侧添加 10 个像素。这是我的代码:
if ( ($item.val() == nameOrig) || ($item.val() == "") && ($.browser.msie && $.browser.version.substr(0,1)>6) ) {
$(wrong).appendTo('body').hide().fadeIn("normal").css({
'top' : position.top + 'px',
'right' : ($item.width()*1.5) + parseFloat($item.css('padding-left'), 10) + parseFloat($item.css('margin-left'), 10) + parseFloat($item.css('padding-right'), 10) + extraSpace +'px'
});
$item.addClass('textError');
}
基本上,我不知道如何向 IE6 添加 10 个像素,所以我想避免 <span>
(存储在变量 wrong
中)甚至出现在 IE6 中。但即使这样也不起作用(又名,它出现在 IE6 中......呃)。
编辑:如果有人可以向我解释为什么上面的代码适用于 IE6,而它在 if statement
中具体说明让脚本仅在 IE > 6 上运行
有什么想法吗?
谢谢! 阿米特
最佳答案
我认为你会发现问题是旧的盒模型问题,基本上 IE 使用不同的模型来处理与实体宽度/高度相关的填充、边距等。维基百科上对此有详细记录 here .
我建议有一些额外的/不同的 CSS 条目,这些条目仅针对 IE6 进行处理,并考虑到这一点,即通过增大宽度。您可以通过条件注释来做到这一点,也记录在 here 中。 .
关于javascript - IE6特定的javascript代码,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3488693/