我有一个验证脚本,它使用定位来绝对定位一系列<span>。但是,在IE6中,在右边的位置大约是10 in (也就是需要向右增加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');
}基本上,我不知道如何将10个像素添加到IE6中,所以我想避免<span> (存储在变量wrong中)甚至不会出现在IE6中。但即使这样也不起作用(也是在IE6...ugh中出现的)。
编辑:如果有人能向我解释一下,上面的代码为什么适用于IE6,而它在if statement中明确规定,如果IE >6,脚本只能工作,只有。
有什么想法吗?
谢谢!阿米特
发布于 2010-08-15 18:45:22
我想你会发现问题是旧的盒子模型问题,基本上IE使用一个不同的模型,其中填充,边距等与实体的宽度/高度有关。它在维基百科这里上有很好的记录。
我建议有一些额外的/不同的CSS条目,这些条目只为IE6处理,这些条目考虑到了这一点,即使宽度更大。您可以通过条件注释(也是文档化的这里 )来实现这一点。
https://stackoverflow.com/questions/3488693
复制相似问题