4

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

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

我不认为有一种合乎逻辑的方法可以做到这一点,但经过多次捏造后,我已经接近正确了。对于所有 win 浏览器和所有 Mac 浏览器(带有一些条件 CSS),该位置是一致的,但对于 Win 和 Mac 浏览器却不是,例如,在 Mac Firefox 中,文本太正确了,而在 Win Firefox 中,它是完美的。

问题:他们是专门为 Mac 浏览器调整填充的方法吗?

4

5 回答 5

4

我不相信你可以用纯 css 做到这一点,但你可以用 javascript 检测操作系统,然后用它来加载不同的 css。

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

于 2012-04-20T13:58:14.160 回答
4

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

顺便说一句,这些文本差异问题是由 Windows 和 Mac 使用不同的字体作为默认字体引起的,因此使用 CSS 使其大小和字体系列相同可能正是您所需要的,而不是在每个操作系统中使用不同的样式表。

于 2012-04-20T14:05:52.220 回答
2

这是您在上面的评论之一中尝试实现的正确代码

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" />在head部分,那么查看你网站的源代码,那么mac浏览器仍然会读取那个css文件。在浏览器上方使用我的代码时,只有在 mac 正在浏览站点时才会给出 mac.css 文件,否则它会加载默认的 css

于 2012-04-20T17:55:44.020 回答
0

使用 CSS 重置表或规范化,它将通过剥离默认样式使所有浏览器显示大致相同

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

于 2012-04-20T17:30:39.957 回答
-2

更新:

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

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

仅当设置了该标志时,才在 jQuery 中使用此标志来应用 CSS。

老答案:

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

Safari 和 google chrome 使用相同的引擎,称为 webkit。您可以使用定位这两个浏览器

-webkit-属性

看看这个链接

这是webkit属性的列表,您可以使用。

一些例子

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

不过,它们大多是高级属性,而不是基本属性。

于 2012-04-20T13:56:13.717 回答