Web 浏览器正在按字母顺序编译 css 元素
Web Browser is compiling css elements in alphabetical order
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 会缩放我们的地图,然后应用左侧和顶部属性,IE 应用于左侧和顶部属性,然后缩放,从而按缩放系数降低左侧和顶部移动。
首先
CSS 属性的顺序是相关的。
elementA {
propA: valA,
probB: valB
}
elementB {
propB: valB,
probA: valA
}
这两个元素具有相同的 CSS 属性,并且显示相同。
其次
CSS zoom
属性不是标准的,在与定位一起使用时可能存在问题。解决此问题的一种方法是使用 scale()
:
比较缩放与缩放绝对偏置的元素。1
但是,scale()
需要浏览器前缀:
.zoomed-element {
-webkit-transform: scale(.5);
-moz-transform: scale(.5);
-ms-transform: scale(.5); // IE 9
transform: scale(.5);
}
另一种方法,一种更兼容 IE 的方法,是使用绝对定位的容器并将缩放应用于子缩放与容器:
<div style="position: absolute; top: 10px; left: 10px;">
<div style="width: 100px; height: 100px; zoom: 2; background-color: red;">
</div>
脚注
1:从缩放CSS样式借用的小提琴不适用于定位的绝对div元素,它在IE中是子元素
怎么样
?
var myFunnyZoomVariable = whatever;
map.css({
'zoom': myFunnyZoomVariable,
'left': map.width()/(2*zoom) - (point[0]/100)*map.width(),
'top': map.height()/(2*zoom) - (point[1]/100)*map.height()
});
相关文章:
- ajax请求的顺序总是不同的
- 按照选项卡索引的顺序循环一个jQuery选择
- 匹配一个单词,其中候选人可以跨越顺序组(跨度)
- 按顺序添加和删除类
- 按我自己的类克隆另一个元素的内容和顺序
- AngularJS指令出错-无法读取属性'编译'的未定义
- Javascript-根据赋值顺序,按键合并对象数组
- 2个backbone.js集合,具有相同的模型,但排序顺序不同
- querySelector/getElementByClassName嵌套项的顺序
- 如何使用ViewCompiler手动编译DOM的一部分
- 预编译的车把模板使文件大小加倍
- 以不同的顺序输出数据
- AngularJS更改编译指令的顺序
- 打字稿的编译取决于文件的顺序
- Web 浏览器正在按字母顺序编译 css 元素
- angular templateUrl在动态编译中扰乱了链接顺序
- 编译输出中的TypeScript依赖项未按正确顺序解析
- 编译后按一定顺序连接typescript文件
- AngularJS中多属性指令的编译和链接顺序
- 为单个文件编写TypeScript编译顺序