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

TK *_*nov 23 html css google-chrome ruby-on-rails web

我有以下CSS在我的一个页面上为链接设置样式:

a:link, a:visited, a:active {
    color: white;
    text-decoration: none;
    font-weight: bold;
}
Run Code Online (Sandbox Code Playgroud)

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

在此输入图像描述

为什么没有正确显示?我尝试在样式表的顶部设置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;
}
Run Code Online (Sandbox Code Playgroud)

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

<link href="/assets/global.css?body=1" media="screen" rel="stylesheet"
type="text/css">
Run Code Online (Sandbox Code Playgroud)

和链接的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>
Run Code Online (Sandbox Code Playgroud)

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

在此输入图像描述

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

在此输入图像描述

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

Ahm*_*kki 11

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

  • 在这一点上,这已经过时了.请改用"<!doctype html>". (5认同)

TK *_*nov 7

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

header a:link, header a:visited {
...
}
Run Code Online (Sandbox Code Playgroud)

我有

header a:link, a:visited {
...
}
Run Code Online (Sandbox Code Playgroud)

所以它覆盖了我为身体中的链接定义的样式.我第一次在审查我的样式表时一定错过了它.

感谢您的评论,大家好!


bar*_*olo 5

只需<!DOCTYPE html><html>标签之前添加。