[英]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.