我有以下用于在我的某个页面上设置链接样式的CSS:
a:link, a:visited, a:active {
color: white;
text-decoration: none;
font-weight: bold;
}
然而,当我加载它时,它们在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;
}
但它没有帮助。我的样式表与头部链接:
<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) - 不正确:
这就是他们在Firefox中的样子 - 正确:
看起来用户代理样式表正在覆盖我的样式。为什么呢?
答案 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标头中设置,这是它所属的位置。