我可以专门为Mac浏览器编写CSS吗?

时间:2012-04-20 13:52:44

标签: html css cross-browser conditional

网站: http://clientfiles.priworks.com/lgmanagedportfolios/test/investment.html

我一直在这个网页上工作一段时间,试图让第一个子菜单链接的左侧与第一个父/主菜单链接的左侧对齐。

我认为没有合理的方法可以做到这一点,但经过多次捏造后,我接近于正确地做到这一点。所有获胜浏览器和所有Mac浏览器(带有一些条件CSS)的位置都是一致的,但Win和Mac浏览器并不是一致的,例如在Mac Firefox中文本太过正确,而在Win Firefox中它是完美的。

问题:他们是否可以根据Mac浏览器专门调整填充?

5 个答案:

答案 0 :(得分:4)

我不相信你可以用纯CSS执行此操作,但是您可以使用javascript检测操作系统,然后使用它来加载不同的CSS。

http://www.quirksmode.org/js/detect.html

答案 1 :(得分:4)

您提到文字大小/位置不一致,您是否尝试使用Eric Meyer's CSS ResetNormalize.css之类的内容?他们倾向于解决这样的问题。

顺便说一下,那些带有文本差异的问题是由Windows和Mac使用不同的字体作为默认值引起的,因此使用CSS使其大小和字体系列相同可能正是您需要的而不是使用不同的样式表OS。

答案 2 :(得分:1)

在上面的一条评论中提到正确的代码

if (navigator.platform === 'MacIntel' || navigator.platform === 'MacPPC') {
    $('head').append('<link rel="stylesheet" type="text/css" href="mac.css" />');
}​ else {
    $('head').append('<link href="main.css" rel="stylesheet" type="text/css" />');
} 

你的mac没有检测到它的原因是A.你的语法错了而且B.如果你在头部留下<link href="main.css" rel="stylesheet" type="text/css" />那么看你网站的来源那么mac浏览器仍然会读到css文件。如果mac正在浏览网站,则只使用浏览器上方的代码将获得mac.css文件,否则它将加载默认的css

答案 3 :(得分:0)

使用CSS重置表或标准化,它将通过剥离默认样式使所有浏览器显示关于

或者只是使用* { padding: 0;}将所有填充设置为0,但是您必须为所有css设置填充

答案 4 :(得分:-2)

更新

您可能希望使用jQuery将CSS应用于特定操作系统上的特定浏览器。您还需要一些Scripting语言的帮助。

使用$ _SERVER ['HTTP_USER_AGENT']超级全局变量来检索浏览器和操作系统类型的信息。如果OS = LION并且浏览器是Safari,则设置标志。

只有在设置了标志的情况下,才能在jQuery中使用此标志来应用CSS。

旧答案:

这将是Safari和Chrome的CSS,但也会影响Windows平台上的相同浏览器。

Safari和谷歌浏览器使用名为webkit的相同引擎。您可以使用

定位这两个浏览器

-webkit的属性

check out this link

以下是list of webkit属性,您可以使用。

一些例子

-webkit-animation
-webkit-animation-delay
-webkit-animation-direction

他们大多是先进的财产,但不是基本的。