如果我在常规语法旁边包含供应商前缀,转换是否会应用两次
Does a transform get applied twice if I include vendor prefix alongside regular syntax?
假设我有一个div
<div id='box'></div>
在javascript/jquery中,我去:
$('#box').css('transform','translateX(300px)');
$('#box').css('-webkit-transform','translateX(300px)');
https://jsfiddle.net/foreyez/7fuL77h3/
现在我可以运行任何一个(或两个(句子,它将在桌面(Chrome(上运行。但是在移动设备上,尤其是 iOS,某些版本要求您具有 -webkit 前缀。所以只有第二个会起作用。
因此,我通常在代码中包含这两个语句。它似乎有效。但我想知道这是否"不好"。因为也许它会尝试运行这两个转换,特别是如果它在桌面上。不是我注意到的,因为它似乎工作正常,正如你在小提琴上看到的那样。但也许在幕后,这是糟糕的魔术或其他什么。
如果是这样,最好事先确定我是否应该使用"transform"或"-webkit-transform"并只运行一个语句 - 如果是这种情况,我将如何确定?请注意,我在这里谈论的是javascript代码(不是css(。还是像我一样同时运行两者会更好?
你当然可以这样做
$('#box').css({
'transform' : 'translateX(300px)',
'-webkit-transform' : 'translateX(300px)'
});
根据 jQuery 文档,
从 jQuery 1.8 开始,.css(( setter 将自动负责为属性名称添加前缀。例如,Chrome/Safari 中的 .css( "user-select", "none" ( 会将其设置为 -webkit-user-select,Firefox 会使用 -moz-user-select,IE10 会使用 -ms-user-select。
因此,请确保您使用的是 1.8+,并让 jQuery 为您照顾该属性。
要回答实际问题,您应该轻松查看是否应用了两次 300px 的翻译。这相当于 600px 的单个翻译
> 没关系。Web 浏览器将前缀样式和非前缀样式视为相同。例如,在 Chrome 中,transform
的优先级将高于 -webkit-transform
,webkit-transform
将被完全忽略。然而,不知道transform
是什么的浏览器会忽略它并使用-webkit-transform
.(我发誓它总是Safari...
这有点像如果你color: red;
紧随其后的是color: blue;
.文本将是蓝色的,红色无关紧要。
同时拥有这两个语句都很好,因为浏览器只会对元素进行一次转换。 因此,如果浏览器进行第一次转换,它甚至不会尝试执行 -webkit 版本。 这就是为什么如果你必须进行倾斜和翻译,你必须链接转换。
您可以在此处查看更多示例:使用转换属性的多个 CSS 关键帧动画不起作用
- 有没有一种方法可以从Javascript检测特定的应用程序是否安装在(AndroidiOS)设备上
- 在将绑定应用于控制器之后,是否会发出Angular$scope事件
- 是否可以使用推送通知Windows 8 Metro应用程序's使用Javascript
- 是否有任何开源web应用程序具有良好的QUnit(或JSUnit)测试用例
- Phonegap应用程序检查是否启用了推送通知
- AMD应用程序在浏览器中的加载速度是否快于CommonJS应用程序
- 是否可以从独立于摄影机的three.js场景中的一个点应用雾
- 如何使用javascript检查事件是否应用于元素
- 什么决定了 Node.js 应用是否保持运行
- 是否可以在第三方网站中嵌入谷歌网络应用程序
- 为用户应用程序托管 javascript 文件是否安全
- 是否可以将 ASP.NET Web 应用程序上载到 VMware 上的虚拟 2008 服务器上
- 是否有人在生产 Rails 应用程序中使用 Babel/6 到 5
- 我们是否有任何通用脚本/ jquery插件可以在通过ajax选项卡加载的内容上应用javascript
- Angular应用程序中的Angular应用是否可能
- HTML/JavaScript Windows 应用商店应用是否可以在可调整大小的窗口中运行
- 如何检测 Web 应用是否在应用模式或 Safari 模式下运行
- 基于 Ember.js 的 Web 应用 是否符合 CSP
- 移动网络应用是否可以获取安卓设备标识信息
- 使用id检查facebook应用是否存在