簡體   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