CSS”;边界宽度“;(px)属性错误

CSS "border-width" (px) property bug?

本文关键字:属性 px 错误 边界宽度 CSS      更新时间:2023-11-17

Q:这是Firefox 35中的错误吗?

$(angSelect[0], angSelect[2]).css("border-right-width", (function() {
    var angW = $(angSelect[1]).css("border-right-width");
    var boxW = selected[0].getBoundingClientRect().width;
    var res = boxW - parseFloat(angW);
    console.log("angW: " + angW + " boxW: " + boxW + " res: " + res);
    return (res / 2) + "px";
})());
console.log($(angSelect[0]).css("border-right-width"));

控制台在整个代码中记录两次:

angW:199.833px boxW:300 res:100.167

49.5px

这显然是不对的。第二个日志的读数应该是50.0835。代码在窗口调整大小事件中按顺序执行。

IE11结果

angW:200px boxW:299.9999389684375 res:99.99993896484375

49.99

[新增]JSFiddle:

记住在一个新的选项卡中打开结果,这样您就可以在没有JSFiddle干扰的情况下放大和缩小。此外,打开您的开发人员控制台以获取浮点格式的结果。

http://jsfiddle.net/nbsshu77/15/

我不确定你期望的是什么。宽度值不会因为缩放而改变,这样做会很奇怪。当你在Firefox中缩放时,相同的值(例如100px)只是显示得更大或更小,这取决于比例因子,但如果你查询元素,你会得到相同的大小:这就像高密度显示。事实上,您实际上可以使用devicePixelRatio来获得比例因子。