最近,我看到一些带有“webkit”标签的问题。这类问题通常是基于web的问题,与CSS、jQuery、布局、跨浏览器兼容性问题等有关…
那么什么是“webkit”,它与CSS有什么关系呢?我还注意到很多-webkit-…属性在各种网站的源代码。这两者有关系吗?
更新
从目前的答案来看…WebKit是一个HTML/CSS浏览器渲染引擎Safari/Chrome。IE/Opera/Firefox有这样的引擎吗?使用其中一种引擎的优缺点有什么不同?我可以在Firefox中使用WebKit功能吗?
终极问题……IE支持WebKit吗?
更新2
所有主流浏览器都使用不同的呈现引擎。我想这就是为什么有这么多跨浏览器兼容性问题的一个重要原因!
那么,是否存在某种项目或移动到所有浏览器都将使用的标准渲染引擎?HTML5会解决跨浏览器兼容性问题吗?
除了@KennyTM所说的:
即
引擎:三叉戟
CSS-prefix: - ms
边缘
引擎:EdgeHTML→Blink3
CSS-prefix: - ms
火狐
引擎:壁虎
CSS-prefix: -moz
歌剧
引擎:Presto→Blink1
CSS-prefix: -o (Presto) and -webkit (Blink)
Safari
WebKit引擎:
CSS-prefix: webkit
铬
引擎:WebKit→Blink2
CSS-prefix: webkit
1) 2013年2月12日,Opera(版本15+)宣布他们将从自己的引擎Presto转移到名为Blink的WebKit上。
2) 2013年4月3日谷歌(Chrome版本28+)宣布他们将使用基于webkit的Blink引擎。
3) 2018年12月6日,微软(Microsoft Edge 79+稳定)宣布他们将使用基于webkit的Blink引擎。
-webkit-是Chrome, Safari, Opera和iOS浏览器的组合。他们都有一个共同的祖先,所以他们的能力/限制(当涉及到运行CSS和Javascript时)通常仅限于这个组。
开发人员会在-webkit-后面加上一些代码,这意味着代码只能在Chrome、Safari、Opera和iOS浏览器上运行。以下是完整的列表:
-webkit (Chrome, Safari,更新版本的Opera,几乎所有的iOS浏览器(包括iOS的Firefox);基本上,任何基于WebKit的浏览器)
-moz - (Firefox)
-o-(旧的,webkit之前的,Opera版本)
-ms- (Internet Explorer和Microsoft Edge)
A common problem I have ran into as a website designer is that alot of people use IE6+. No big deal usually, except in CSS I have to add multiple rendering syntax' to parse each request, per browser. It would be very nice if there was a universal rendering setup for CSS that IE can read as easily as Chrome/FF/Opera and webkit. The problem with IE is that if I do NOT use ALL the proper CSS styles and rendering, than my websites look and work great using every browser except IE. This can make for an unhappy, die-hard IE customer.
例如:假设我需要一个1px的灰色边界,边界半径为10%。对于Chrome和其他浏览器,我使用webkit属性。现在,对于IE,我必须使用简单的旧CSS值“border: 1px solid #E5E5E5”和“border-radius: 10%”添加单独的CSS样式。并不能保证在所有IE浏览器版本上都能得到积极的结果,但在大多数情况下,这种方法对我和许多其他人来说都很有效。