繁体   English   中英

嵌入式CSS不会覆盖链接样式表中的CSS

[英]Embedded CSS doesn't overwrite CSS in linked stylesheet

我想覆盖链接的背景和字体颜色。

<!doctype html>
<html>
<head>
<meta charset="utf-8"/>
<link href="index.css" rel="stylesheet"/>
<style>
#abc{
    background:#ffffff; // doesn't work
    color:#008080;  // doesn't work
}
</style>
</head>

<body>
<?php include 'inc/menum.php';?>

menum.php

<div id="divL">
<a href='abc.php' id='abc'>ABC</a>
<a href='universe.php' id='universe'>UNIVERSE</a>
<a href='strel.php' id='strel'>STREL</a>
</div>

index.css

#divL  a{
background:#008080;     // works    
color:#ffffff;  // works    
}

您有一个特异性问题。

#divL a选择器比#abc更具体。

您可以轻松地使用#divL #abc ,这将使嵌入式规则更加具体。

使用background-color:link

#abc{
    background-color :#fff; 

}
#abc:link {
    color:#008080;
}

代替。 :link是这里合适的子类。 color仅会更改<div>的常规颜色,例如不是锚文本的内容。

在这种情况下,您必须使用!important

#abc{
    background:#ffffff !important;
    color:#008080 !important;
}

是啊! 您说过#divL a{....}之所以#divL a{....} ,是因为它不能通过仅#abc{....}覆盖而通过选择父div选择更多的特异性,那么您可以像这样最后放置!important

#abc{
    background:#ffffff !important;
    color:#008080 !important;
}

即使它不起作用,您也应该尝试通过选择更多的div来声明#divL a是有效的

如果在任何时候即使选择父div都不起作用,则可以使用这样的主体选择器

body #abc{
    background:#ffffff;
    color:#008080;
}

如果您要设置背景色,那么也可以使用一个提示,而不是background background-color

使用!important强制浏览器将此值赋予优先级

例如background-color: red !important;

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM