【发布时间】:2018-07-27 23:55:39
【问题描述】:
最近,我一直在为某人构建一个网站,并且对某些浏览器以一种方式呈现网站而其他浏览器以另一种方式呈现感到恼火。我决定研究为什么会这样,并发现问题可能出在浏览器下面的 HTML 引擎上。例如,Chrome 和 Opera(以及大多数(如果不是全部)Chromium 浏览器)使用 Blink 引擎,它是 WebKit 引擎(源自 KHTML 引擎)的一个分支。 Safari 使用 WebKit。 Internet Explorer 使用 Trident 浏览器; Edge 使用称为 EdgeHTML 的 Trident 的分支。 Netscape 和 FireFox 使用(或在 Netscape 的情况下,考虑到浏览器已停产)使用 Gecko 引擎。
考虑到所有这些,是否可以将 CSS 应用于特定引擎而不是浏览器?或者当我们尝试使用特定于浏览器的 CSS 时,这是否已经完成?用户代理字符串的目的是为了做到这一点(显然被想要模仿其他浏览器的开发人员搞砸了)?
注意,通过比较这些引擎的相关性,我认为有 3 个主要引擎:基于 KHTML、基于 Trident 和 Gecko。所以我猜这个问题的答案至少会给出三种不同的方法(每个主要引擎一个)。
【问题讨论】:
标签: html css browser cross-browser