最近,我看到一些带有“webkit”标签的问题。这类问题通常是基于web的问题,与CSS、jQuery、布局、跨浏览器兼容性问题等有关…
那么什么是“webkit”,它与CSS有什么关系呢?我还注意到很多-webkit-…属性在各种网站的源代码。这两者有关系吗?
更新
从目前的答案来看…WebKit是一个HTML/CSS浏览器渲染引擎Safari/Chrome。IE/Opera/Firefox有这样的引擎吗?使用其中一种引擎的优缺点有什么不同?我可以在Firefox中使用WebKit功能吗?
终极问题……IE支持WebKit吗?
更新2
所有主流浏览器都使用不同的呈现引擎。我想这就是为什么有这么多跨浏览器兼容性问题的一个重要原因!
那么,是否存在某种项目或移动到所有浏览器都将使用的标准渲染引擎?HTML5会解决跨浏览器兼容性问题吗?
-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)
尽管这是一篇较老的文章,但对于较旧版本的Internet Explorer,还有另一种渲染方法。-webkit作为CSS的供应商前缀,你也可以下载一些JS应用程序,并把它们放在HTML的HEAD底部。
尝试使用Modernizr, HTML5 Shiv和response .js。这些都是惊人的兼容IE的polyfill脚本,使用polyfill,和其他资源,这将有助于更好地呈现HTML5元素在IE9和以下。
要使用这些填充,只需添加HTML布尔逻辑来放置它们,如果浏览器低于所需的IE版本。示例代码如下:
< >头
<!——HEAD Elements——>
<script src="path/to/modernizr.js" type="text/javascript"></script> .js
<!——[if lt IE 6]>
<script src="path/to/HTMLSiv.js" type="text/javascript"> .
> < /脚本
<script src="path/to/ response .js" type="text/javascript"> .
> < /脚本
<!(endif)——>
< / >头