Css 覆盖:链接

Css 覆盖:链接,css,Css,在我的主CSS文件中,我将a:link选择器设置为以白色显示链接 a:link{ color: white; } 但是,我希望另一个DIV(.menuItem)中的链接为黑色 我正在努力 .menuItem a:link{ color: black; } 似乎无法让它工作,所以可能是错的 有人能帮上忙吗?现在正在编写示例代码。但是您的div标记的Id是menuItem还是menuItem类?这是我的猜测 .menuItem a:link{ color: black !important; }

在我的主CSS文件中,我将a:link选择器设置为以白色显示链接

a:link{
color: white;
}
但是,我希望另一个DIV(.menuItem)中的链接为黑色

我正在努力

.menuItem a:link{
color: black;
}
似乎无法让它工作,所以可能是错的


有人能帮上忙吗?

现在正在编写示例代码。但是您的div标记的Id是menuItem还是menuItem类?这是我的猜测

.menuItem a:link{
color: black !important;
}
编辑:好的,现在我明白了。如果您将css分离到另一个文件,并使用链接标记将其导入,那么不使用!重要命令,请参见以下内容:

body {background-color : green;}

a:link{ color : white;}

.menuItem a:link
{
color : black;
}
这是:

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" dir="ltr" lang="en-US">
<head profile="http://gmpg.org/xfn/11">
<meta http-equiv="Content-type" content="text/html; charset=utf-8">
<title>Test page</title>
<link rel="stylesheet" href="master.css" type="text/css" media="screen" title="no title" charset="utf-8">
</head>
<body>
<div>
    <a href="#">This is a link</a>
</div>
<div class="menuItem">
    <a href="#">This is a link in div menuItem</a>
</div>
</body>
</html>

测试页
希望这有帮助:)


不过,如果我将css片段嵌入到html中,那么它就不起作用了。。。想知道为什么吗?

现在正在编写示例代码。但是您的div标记的Id是menuItem还是menuItem类?这是我的猜测

编辑:好的,现在我明白了。如果您将css分离到另一个文件,并使用链接标记将其导入,那么不使用!重要命令,请参见以下内容:

body {background-color : green;}

a:link{ color : white;}

.menuItem a:link
{
color : black;
}
这是:

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" dir="ltr" lang="en-US">
<head profile="http://gmpg.org/xfn/11">
<meta http-equiv="Content-type" content="text/html; charset=utf-8">
<title>Test page</title>
<link rel="stylesheet" href="master.css" type="text/css" media="screen" title="no title" charset="utf-8">
</head>
<body>
<div>
    <a href="#">This is a link</a>
</div>
<div class="menuItem">
    <a href="#">This is a link in div menuItem</a>
</div>
</body>
</html>

测试页
希望这有帮助:)

不过,如果我将css片段嵌入到html中,那么它就不起作用了。。。想知道为什么吗?

关于,我认为这个解决方案并不理想<代码>!重要信息是一个难题,处理这个问题的更好方法是利用文档结构增加一些特殊性。假设您的
.menuItem
元素有一个公共父元素,可能是一个id为
menu
div
,您可以按如下方式修改特定于菜单的链接样式:

#menu a:link {
    color: black;
}
额外的特殊性应该会导致更具体的规则对这些菜单项生效。

关于,我认为解决方案并不理想<代码>!重要信息是一个难题,处理这个问题的更好方法是利用文档结构增加一些特殊性。假设您的
.menuItem
元素有一个公共父元素,可能是一个id为
menu
div
,您可以按如下方式修改特定于菜单的链接样式:

#menu a:link {
    color: black;
}

额外的特殊性应该会导致更具体的规则对这些菜单项生效。

我认为类可能有很多菜单项。我认为类可能有很多菜单项。这不是一个理想的解决方案-应该能够使用级联效应来实现这一点。@Grant Palin:没错,css可以用更具体的样式定义“覆盖”一般样式定义。真是有一个好机会!重要与否对解决方案来说并不重要这不是一个理想的解决方案-应该能够使用级联效应来实现这一点。@格兰特·佩林:没错,css可以在某种程度上用更具体的样式定义“覆盖”一般的样式定义。真是有一个好机会!重要与否对解决方案来说并不重要这是对html结构的一个很好的建议,但我认为问题在于是否将css直接嵌入html页面。如果您获取我的示例代码并在XAMP中访问它,那么您可以看到差异。因此,对于最初的问题,是的,它是可行的,我担心它必须是两个文件而不是一个。这对html结构是一个很好的建议,但我认为问题在于是否将css直接嵌入html页面。如果您获取我的示例代码并在XAMP中访问它,那么您可以看到差异。因此,对于最初的问题,是的,它是可行的,我担心它必须是两个文件而不是一个。