Chrome用户代理样式表会覆盖我的网站样式

时间:2011-09-19 04:18:04

标签: html ruby-on-rails css google-chrome web

我有以下用于在我的某个页面上设置链接样式的CSS:

a:link, a:visited, a:active {
    color: white;
    text-decoration: none;
    font-weight: bold;
}

然而,当我加载它时,它们在Chrome中显示为蓝色,在Firefox中显示为白色。 Chrome开发工具显示我的风格应该覆盖用户代理样式表:

enter image description here

为什么显示不正确?我尝试在样式表的顶部设置charset:

@charset "UTF-8";

html, body {
    width: 100%;
    height: 100%;
    margin: 0;
    font: 11px "Lucida Grande", Arial, Sans-serif;
}

a:link, a:visited, a:active {
    color: white;
    text-decoration: none;
    font-weight: bold;
}

input[type=email], input[type=password] {
    display: block;
    -moz-border-radius: 4px;
    -webkit-border-radius: 4px;
    border: 1px solid #ACE;
    font-size: 13px;
    margin: 0 0 5px;
    padding: 5px;
    width: 203px;
}

但它没有帮助。我的样式表与头部链接:

<link href="/assets/global.css?body=1" media="screen" rel="stylesheet"
type="text/css">

链接的html代码:

<a href="/users/sign_in">Sign in</a>
<a href="/users/password/new">Forgot your password?</a>
<a href="/users/auth/facebook">Sign in with Facebook</a>

这是他们在Chrome中的样子(13.0.782) - 不正确:

enter image description here

这就是他们在Firefox中的样子 - 正确:

enter image description here

看起来用户代理样式表正在覆盖我的样式。为什么呢?

7 个答案:

答案 0 :(得分:11)

我不知道为什么,但我添加<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"><html>之前,它解决了

答案 1 :(得分:7)

Vonkly帮助确定了这个问题。我开始挖掘我的所有样式表,并在其中一个中发现了一个拼写错误 - 它在定义标题的链接样式时缺少父元素,因此不是

header a:link, header a:visited {
...
}

我有

header a:link, a:visited {
...
}

所以它覆盖了我为身体中的链接定义的样式。第一次检查我的样式表时,我肯定错过了它。

感谢您的评论,大家好!

答案 2 :(得分:4)

只需在<!DOCTYPE html>代码前添加<html>

答案 3 :(得分:2)

我遇到了同样的问题,我的情况是我的一些课程被强行安排显示:无

30/40分钟后,我查看了浏览器扩展程序,发现所有这些都是由于广告拦截器而发生的。

因此,如果上述任何解决方案对您不起作用,那么如果您有这种浏览器扩展,请尝试一次。

答案 4 :(得分:1)

如果您的css忽略为标记定义属性,则用户代理样式表才会启动。考虑一下你的css风格可能会有拼写错误。

如果你将标签声明放在css文件的开头并且它有效,那么你的css就会出错。

尝试通过CSS Lint

运行您的css

我遇到了这个问题并在我的CSS中发现了一个错误。

答案 5 :(得分:0)

在浏览器为您设置利润之前,先给您保证金

 body {
 margin: 0%;
  }

答案 6 :(得分:-1)

使用通用CSS主播样式a

a {
    color: white;
    text-decoration: none;
    font-weight: bold;
}

此外,您不需要在css文件中设置charset。我会删除它。

charset 在HTTP标头中设置,这是它所属的位置。