惯性聚合 高效追踪和阅读你感兴趣的博客、新闻、科技资讯
阅读原文 在惯性聚合中打开

推荐订阅源

大猫的无限游戏
大猫的无限游戏
云风的 BLOG
云风的 BLOG
小众软件
小众软件
V
V2EX
博客园 - Franky
博客园 - 司徒正美
Apple Machine Learning Research
Apple Machine Learning Research
量子位
博客园 - 【当耐特】
雷峰网
雷峰网
WordPress大学
WordPress大学
Jina AI
Jina AI
Google DeepMind News
Google DeepMind News
N
Netflix TechBlog - Medium
爱范儿
爱范儿
OSCHINA 社区最新新闻
OSCHINA 社区最新新闻
奇客Solidot–传递最新科技情报
奇客Solidot–传递最新科技情报
阮一峰的网络日志
阮一峰的网络日志
IT之家
IT之家
Blog — PlanetScale
Blog — PlanetScale
Hugging Face - Blog
Hugging Face - Blog
H
Hackread – Cybersecurity News, Data Breaches, AI and More
V
Visual Studio Blog
Microsoft Security Blog
Microsoft Security Blog

张鑫旭-鑫空间-鑫生活

1分钟速度了解text-align match-parent声明 « 张鑫旭-鑫空间-鑫生活 光标的形状也能设置了,就是CSS caret-shape属性 « 张鑫旭-鑫空间-鑫生活 pretext与文字四面环绕效果的实现 « 张鑫旭-鑫空间-鑫生活 JSON.rawJSON方法的作用是什么? « 张鑫旭-鑫空间-鑫生活 如何使用CSS判断鼠标从哪个方向进入元素? « 张鑫旭-鑫空间-鑫生活 借助mediabunny纯JS实现视频水印、剪裁、合成等功能 « 张鑫旭-鑫空间-鑫生活 务必谨慎使用JS WeakRef弱引用 « 张鑫旭-鑫空间-鑫生活 CSS六边形头像的实现与蜂巢布局 « 张鑫旭-鑫空间-鑫生活 CSS corner-shape与背景底纹技术 « 张鑫旭-鑫空间-鑫生活 浅学WebTransport API:下一代Web双向通信技术 « 张鑫旭-鑫空间-鑫生活 HTML dialog元素新支持了closedBy属性 « 张鑫旭-鑫空间-鑫生活 HTML interestfor属性与悬停popover交互效果 « 张鑫旭-鑫空间-鑫生活 CSS3模拟window7炫酷界面效果展示 « 张鑫旭-鑫空间-鑫生活 图片旋转+剪裁js插件(兼容各浏览器) « 张鑫旭-鑫空间-鑫生活 纯js无图片无外链CSS图片幻灯片播放插件 « 张鑫旭-鑫空间-鑫生活 CSS border三角、圆角图形生成技术简介 « 张鑫旭-鑫空间-鑫生活 CSS “渐进增强”在web制作中常见应用举例 « 张鑫旭-鑫空间-鑫生活 让IE6/IE7/IE8浏览器支持CSS3属性 « 张鑫旭-鑫空间-鑫生活 jQuery – 高亮动态显示页面HTML代码插件 « 张鑫旭-鑫空间-鑫生活 翻译 – 逐渐消失的Flash网站 « 张鑫旭-鑫空间-鑫生活 CSS reset的重新审视 – 避免样式重置 « 张鑫旭-鑫空间-鑫生活 新浪微博插入话题后部分文字选中的js实现 « 张鑫旭-鑫空间-鑫生活 JavaScript实现http地址自动检测并添加URL链接 « 张鑫旭-鑫空间-鑫生活 CSS实现兼容性的渐变背景(gradient)效果 « 张鑫旭-鑫空间-鑫生活 CSS content内容生成技术以及应用 « 张鑫旭-鑫空间-鑫生活 CSS gradient渐变之webkit核心浏览器下的使用 « 张鑫旭-鑫空间-鑫生活 CSS渐变之CSS3 gradient在Firefox3.6下的使用 « 张鑫旭-鑫空间-鑫生活 区分IE8/IE7/IE6及其他浏览器-CSS “\9″hack « 张鑫旭-鑫空间-鑫生活 CSS实现跨浏览器兼容性的盒阴影效果 « 张鑫旭-鑫空间-鑫生活 CSS3&HTML5各浏览器支持情况一览表 « 张鑫旭-鑫空间-鑫生活
翻译:即将到来的CSS私有前缀灾难 « 张鑫旭-鑫空间-鑫生活
张鑫旭,zhangxinxu · 2012-02-20 · via 张鑫旭-鑫空间-鑫生活

by zhangxinxu from http://www.zhangxinxu.com
本文地址:http://www.zhangxinxu.com/wordpress/?p=2223

CSS工作组(CSS Working Group)联合主席Daniel Glazmang告知大家非WebKit的浏览器厂商正在考虑支持-webkit-前缀CSS属性。

一石激起千层浪,于是业内展开了激烈的官方讨论。这里,翻译篇相关文章,希望米娜桑对该讨论有所了解,并发表自己的一些观点。

以下为翻译全文

对于CSS的私有前缀,开发者可谓爱恨交加。他们可以让我们在花费大量冗余代码的基础上使用一些前言技术。

background-image: -webkit-linear-gradient(#fff, #000);
background-image: -moz-linear-gradient(#fff, #000);
background-image: -ms-linear-gradient(#fff, #000);
background-image: -o-linear-gradient(#fff, #000);
background-image: linear-gradient(#fff, #000);

上面代码理论上可行,但是考虑到实际……

  1. 实验性质的属性往往都是先拿webkit引擎作小白鼠,没人能保证他们会复制在其他浏览器上。
  2. 通常很难界定私有前缀是否属于CSS规范的一部分。一些浏览器生产商提交的属性并不标准。
  3. 即使变成了标准属性,其不准确的私有前缀版本依旧支持。你的老代码依旧可以工作;你不会重新改正。

你会经常看到一些站点只使用-webkit-, 即使其他浏览器已经对该属性无前缀写法有了广泛的支持(例如border-radius)。因此,Chrome和Safari比竞争对手的浏览器看起来更好——其他厂商不乐意看到。

该问题已经在2012/2/7 W3C会议上提出并讨论。

Web标准积极分子正教人使用webkit. 你会看到所有的web标准倡导者,提倡人们使用WebKit的前缀。

我们的工作就是要解决互通性。

在这一点上,我们试图找出它和多少WebKit的前缀属性,真正在Mozilla实现了支持。

如果我们不支持WebKit的前缀,我们会把自己锁在移动网络部分的外面。

让我们花点功夫好好理解下。

无-webkit浏览器将支持-webkit前缀。这就是W3C想出来的解决之法。

这个想法可能是失败的。两个或两个以上相同的WebKit属性的实现将不兼容,因此开发人员将不能够在任何地方使用它。没有人最终胜利 – 包括苹果和谷歌。

但我更关心如果解决方案是成功的,它会造成不可挽回的损失。一旦开发者发现Firefox, IE和Opera都支持WebKit的前缀,他们会期望他们所有属性都起作用。 Webkit-only将成倍增加,供应商将被迫从头到尾应用这些前缀。在这一点上,WebKit的属性将成为既定事实上的标准而无视任何W3C规范。游戏结束:开发的web就此关闭。

其影响不只是CSS: 许多新的JavaScript API有私有前缀。

谁之过

失败在于:

W3C工作组

web标准达到成熟时间过长。这可能是不可避免的,但浏览器厂商都绕过该过程。

浏览器生产商

匆忙推出个新技术,对于生产商,添加个前缀然后忘记它太容易了。Web开发者需要更多的信息:是否该属性被W3C认可,什么时候前缀可以去掉?

在一个理想的世界中,一旦浏览器实现了标准的属性,实验性质的前缀会消失。生产商不会如此做,因为这会破坏站点,但是他们可以突显问题。例如,为开发控制台提供过时的检测工具或输出错误消息。

苹果和谷歌

在推销webkit前缀上,两者都是有罪的,好像他们就是日常HTML5 web开发的标准部分。苹果已经被指控与W3C积极作对。

Mozilla, Microsoft和Opera

其他浏览器生产商通常滞后webkit数月——否则数年。添加WebKit的前缀是一个可笑的解决方案:是时候繁冗他们的游戏咯。

技术网站以及狂热分子

我们都喜欢很酷的实例,“传教士”们总是忽略属性是实验性质的,可能永远都不会所有浏览器都支持(恩,是的,包括SitePoint)。理想的情况下,代码应该至少在两个浏览器下生效,至少表明需要多个供应商的前缀。

web开发者

我们太懒惰。我们编写特定浏览器的代码,尽管我们可能心里想的是以后纠正,但我们很少做。

你还记得最后一次有针对性的开发特定的浏览器?这就是IE6. 十年后我们仍然和这个决定的遗产相伴。难道你真的希望历史重演?

是时候行动了

我反对非WebKit的浏览器支持WebKit的前缀。充其量,它使前缀无法使用。在最坏的情况下,它打破了整个标准化进程。无论你可以同意或不同意,姑且让同事知道你的意见,通过博客和社交网络上。 W3C和浏览器厂商将听取您的反馈,你只需要提供一些。

然后在多个浏览器测试您的网站。一点点优雅降级是好的,但忽视中的一个或多个现代浏览器而具有同等的支持是不可取的。修复代码,否则你的网站会对这个问题作出了贡献。

以上为翻译全文

译者语及其他补充观点

我个人态度也是不支持非webkit核心浏览器支持webkit属性。因为我想想都觉得麻烦。自己缺乏预见性而造成的问题需自己买单。

附上其他一些人的观点:

Remy Sharp: 这是个糟糕的想法,因为它影响开发商的预期,将有可能使我们使用前缀更加懒惰。

Christian Heilmann: 作为开发者,我们自己搞出来的混乱,应该由我们自己从中走出来内容)。

Aaron Gustafson乞求我们至少解决我们自己的东西并制作了个请愿书来对抗其他浏览器生产商支持-webkit-.

Eric Meyer则相当肯定我们不会赢得这场战争。

还有其他同行:Rachel AndrewBruce LawsonGilles Vandenoostende

国内不是不少公司已经加入W3C了吗,期望有相关同行可以现身说法。

本文为原创文章,转载请注明来自张鑫旭-鑫空间-鑫生活[http://www.zhangxinxu.com]
本文地址:http://www.zhangxinxu.com/wordpress/?p=2223

(本篇完)