$('#carat_weight_right li').css('left', function(index, value) {
if (value === '100%') {
$(this).children('span').css({'margin-left': '-58px', 'text-align': 'right'});
alert('hello');
}
});
似乎可以在 Chrome 中使用,但不能在 Firefox 中使用,有人知道吗???
thanks
这是一个跨浏览器实现差异的有趣案例。
Firefox 正在返回used value
对于元素的computed style
。这最终是用于在浏览器中渲染元素的实际像素值:Firefox 看到 100%,在布局中决定真正等于 326 像素,并返回 326 像素。Mozilla 在这里讨论了它们的实现。 https://developer.mozilla.org/en/CSS/used_value
另一方面,Chrome 返回specified value
(“100%”)对于computed style
.
W3C 认为两者都是有效的:返回指定值就可以了 http://www.w3.org/TR/CSS2/changes.html#q36是否可以在不需要布置文档的情况下完成;返回使用过的值就OK了 http://www.w3.org/TR/CSS2/cascade.html#used-value如果该值只能在布局完成后确定。
那么你要做什么?找到一种不同的计算方法。 :-) 也许检查一下你的元素是否position().left
大于或等于其父级的偏移量width()
?
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)