如果你的有点奇怪的CSS代码在Windows上所有浏览器上都能正常工作,那么它在Mac和Linux上也会有效吗?

8
我正在测试一些奇怪的CSS代码(基本上是使用百分比和像素值混合设置DIV的宽度)。虽然我不确定它是否正确,但在IE 5.5、IE 6.0(感谢这些人!)、IE 7.0、Firefox 3.0和Safari 3.12上的所有屏幕大小都能完美运行...都是在Windows XP上。我需要担心在Mac和Linux上测试代码,还是它很可能在这两个系统上无法工作?

编辑:

经过几个月的研究,我发现Safari和Firefox在Mac和PC之间非常一致。


有很多浏览器存在... - Dan Rosenstark
7个回答

10

这个在Mac和Linux上能用吗?

不一定。

字体渲染是跨平台最大的问题。一些Windows上可用的字体在其他系统上可能没有默认安装,而OSX有一个非常复杂的字体渲染模型(尽管Safari在Windows上应该可以展示 - 至少曾经可以)。

一般的盒子模型、填充、外边距等都应该是标准的。


7

http://browsershots.org/

这将允许您在多个浏览器和多个平台(包括Linux)中查看您的网站。然而,我要强调的是,在每个浏览器中使您的网站看起来完全相同的机会几乎为零,有时您必须满足于99%。

考虑您的目标受众以及他们通常使用的浏览器/操作系统。此外,在网站上线后,请运行一些统计跟踪(如Google analytics),并确定您的受众正在使用什么。


2

Mac领域非常棘手。因为不同的操作系统版本有不同的Safari版本,所以在没有足够的Mac进行测试时,这使得问题变得非常棘手。如果在Windows上的Safari看起来很好,那么在Mac上的Safari也很可能看起来不错。尤其是如果您主要关注div宽度的话。

Linux拥有大量的浏览器,我真的怀疑是否有人会测试所有浏览器。由于Firefox在Linux中运行,因此您已经涵盖了Linux市场的很大一部分。

使用您已经测试过的浏览器,您已经覆盖了超过95%的浏览器市场


谢谢!但是如果我只在Windows上测试,我是否覆盖了95%? - Dan Rosenstark
大约90%的计算机使用Windows,但是在Mac上可用Internet Explorer和在Mac和Linux上可用Firefox,您的份额将增加到约95%,就像我最初在我的答案中所述的那样。请查看以下网站以获取大量数据: http://marketshare.hitslink.com/report.aspx?qprid=8 - cowgod
IE/Mac早已停止更新很久了。任何仍在使用它的人都需要一个快速的提醒(或者购买一台新的Mac :D)。 - tunaranch

2

OS X有许多基于WebKit的浏览器,如Safari/Shiira/iCab/OmniWeb,以及Firefox/SeaMonkey/Camino和Opera。虽然我没有统计数据,但我猜这至少覆盖了98%的所有用户。

Debian流行度调查的结果:

w3m            85.93%
iceweasel      60.35%
lynx           25.71%
konqueror      21.95%
links           9.23%
iceape-browser  6.69%
elinks          6.51%
links2          4.09%
dillo           2.70%
galeon          2.35%
epiphany        0.79%
w3m-el          0.75%
kazehakase      0.58%
midori          0.30%
arora           0.29%

(这不跟踪使用非-[DFSG]free*软件的用户,例如Mozilla Firefox和Opera。)Linux用户是非常多样化的群体;即使您在Windows上测试Mozilla Firefox、Opera和KDE 4的Konqueror,也无法覆盖大部分用户群。

话虽如此,如果您将重点放在支持现代CSS的浏览器上,您会发现只有几个基础引擎:Trident(IE),Gecko(Mozilla),WebKit(Apple),KHTML(KDE)和Presto(Opera)。分别考虑这些:

  • Trident:仅由Windows中的IE使用,您已经在测试它了。
  • Gecko:被Mozilla Suite的浏览器(Mozilla Navigator、SeaMonkey Navigator、IceApe Navigator、Mozilla Firefox、IceCat、IceApe、Epiphany-Gecko、Galeon、Kazehakase-Gecko)使用。字体、图像和插件渲染在不同平台上确实有很大差异。
  • WebKit:被Safari/Shiira/iCab/Omniweb、Google Chrome、Epiphany-WebKit、Kazehakase-WebKit、Arora使用。在所有OS X浏览器中,呈现应该完全一致,因为它们使用系统提供的WebKit库,但是Windows上的Safari和Google Chrome在底层具有非常不同的绘图引擎,在Linux上有Gtk+和Qt版本,具有不同的行为。
  • KHTML:WebKit从中分叉出来,但其发展已经独立进行,因此存在相当多的分歧。主要由Konqueror使用。KDE 4的Konqueror已经移植到Windows和OS X,行为非常相似;但是,KDE 4的KHTML已经显着进步,而KDE 3仍然在普通使用中。
  • Presto,用于Opera 7及以上版本。在各个平台上都是一致的。

如另一个答案所提到的,每个引擎的HTML解析和CSS盒模型在各个平台上都没有变化。只有像字体、图像和插件之类的“小”东西会有不同的表现。


0

根据我的经验,Mac和Win上的FF3渲染效果并不完全相同,但足够接近,无需检查两者。


0

它很可能有效,但我曾经见过一些在Windows的FF3上运行正常但在OS X上的FF3却不行的情况。


0

我同意,字体渲染在FF3 win/mac上会有所不同,并且对我造成了一些定位问题。


感谢您的回答,马特。如果您同意,请投票支持其他答案。 - Dan Rosenstark

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接