<分区>
map.css({
'zoom': zoom,
'left': map.width()/(2*zoom) - (point[0]/100)*map.width(),
'top': map.height()/(2*zoom) - (point[1]/100)*map.height()
看起来 Chrome 缩放了我们的 map ,然后应用了 left 和 top 属性,而 IE 应用了 left 和 top 属性,然后缩放,按缩放因子先降低然后左移动和顶部移动。
最佳答案
首先
CSS 属性的顺序无关紧要。
elementA {
propA: valA,
probB: valB
}
elementB {
propB: valB,
probA: valA
}
两个元素具有相同的 CSS 属性并且显示相同。
其次
CSS zoom
属性不是标准的,在与定位一起使用时可能会出现问题。克服这个问题的一种方法是使用 scale()
:
scale()
,但是,需要浏览器前缀:
.zoomed-element {
-webkit-transform: scale(.5);
-moz-transform: scale(.5);
-ms-transform: scale(.5); // IE 9
transform: scale(.5);
}
另一种更兼容 IE 的方法是使用绝对定位的容器并对子容器应用缩放 Zooming with container :
<div style="position: absolute; top: 10px; left: 10px;">
<div style="width: 100px; height: 100px; zoom: 2; background-color: red;">
</div>
脚注
1:从zoom css style is not applied to positioned absolute div element and it's children in IE借来的 fiddle
关于javascript - Web 浏览器正在按字母顺序编译 css 元素,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18852784/
相关文章:
javascript - 如何在不使用 "http"信息的情况下打开链接..?
html - 为什么我在使用 Bootstrap 时会出现红线
javascript - 如果客户端分辨率较低,如何隐藏一些 html 元素?
javascript - 在Javascript中的句子(多个句子)的第一个和最后一个单词中添加方括号
javascript - AngularJS Flickr API 'Uncaught SyntaxError: Unexpected token <'
javascript - JQuery 可调整大小 : How to make multiples divs resizing independently