【发布时间】:2012-09-18 06:10:53
【问题描述】:
有没有办法检测浏览器是否对元素具有亚像素精度?
IE9 与其他任何主流浏览器不同,它的元素具有亚像素精度(元素宽度可以是 50.25 像素),因此,我需要区别对待。
一种方法是使用 jQuery 检测浏览器名称和版本,但这在 jQuery 中已弃用且不推荐,而是建议应针对浏览器名称和版本测试功能的存在。
【问题讨论】:
-
赞成并加注星标,因为我根本不知道亚像素如何工作。
-
你不能把一个div的样式设置成“50.5px”,然后在Javascript中检查它的宽度,onload,看看它是否被四舍五入?
-
有趣的是,据我所知,IE 是实现亚像素精度的主流浏览器中最后一个的(或者我们在谈论两个不同的东西;))。
-
@Yoshi 也许是为了别的,但是对于元素的尺寸,所有其他主流浏览器都有整数值。
-
$Yoshi getComputedStyle 不是指 CSS 值吗?无论如何,我认为这是一个更复杂的问题,考虑到浏览器内部查看值的方式、您对显示的观点、josh 下面提到的规范以及用户看到的实际显示尺寸。我想还有更多需要了解和搜索的内容。然而,事实仍然是,IE9 处理它的方式有所不同,但要正确理解它,还有更多需要搜索的内容。
标签: javascript html css internet-explorer internet-explorer-9