首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >基于浏览器引擎的CSS应用?

基于浏览器引擎的CSS应用?
EN

Stack Overflow用户
提问于 2018-02-17 03:12:04
回答 2查看 960关注 0票数 1

最近,我一直在为某人建立一个网站,我对一些浏览器将网站呈现为一种方式和其他浏览器呈现另一种方式感到恼火。我决定研究一下为什么会这样,并发现问题很可能在于浏览器之下的HTML引擎。例如,Chrome和Opera (以及大多数浏览器,如果不是全部的话)使用闪烁引擎,它是WebKit引擎的一个分支(它是从KHTML派生而来)。Safari使用WebKit。使用三叉戟浏览器;边缘使用三叉戟的分支,称为EdgeHTML。Netscape和FireFox使用(或使用,在Netscape的情况下,考虑到浏览器已经停止使用)壁虎引擎。

考虑到所有这些,是否有可能将CSS应用于特定的引擎而不是浏览器?或者,当我们尝试使用特定于浏览器的CSS时,这是否已经完成了?用户代理字符串是否有必要这样做(这显然被想模仿其他浏览器的开发人员搞砸了)?

注意,通过比较这些引擎是如何关联的,我认为有三个主要引擎:基于KHTML的、基于三叉戟的和基于壁虎的。因此,我猜想这个问题的答案至少会给出三种不同的方法(每个主要引擎一种)。

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2018-02-17 04:05:17

可以使用供应商前缀,甚至可以通过带有供应商前缀的超级查询针对其中的一些前缀,例如

代码语言:javascript
运行
复制
@supports (-webkit-appearance:none) {}

Browserhack在这方面拥有大量的方法。

这么说吧,你真的,真的不应该。这将是一场噩梦。

浏览器差异是由以下原因造成的:

1)不同的用户代理样式(默认浏览器规则);归一化重置将为您处理这些问题。

( 2)一些实验特性可能仅供某些浏览器使用,或者它们之间存在差异,通常是通过自动重定位器来解决;自动重定位器(如无前缀或Post的自动复位器 )可以很好地处理这些问题。

3)不同的特性;了解你能做的和不能做的将花费您很长的时间,并且每当您发现一个限制时,请确保使用回退,甚至是填充。

99.999%可以通过标准化、自动修复和对浏览器特性和退步的正确理解来实现。

请记住,您的项目应该在所有浏览器上都能很好地工作(或者尽可能多,2018年没有人期望支持IE6 )。但是它可以在一些/大多数方面有一个更好的体验。这就是渐进式增强和优雅退化的目的。

票数 1
EN

Stack Overflow用户

发布于 2018-02-17 03:45:33

即使有可能(使用供应商前缀),维护代码库也会很痛苦。我建议你去重置规格化

我的重置是复位和正常化的合并。

票数 4
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/48837516

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档