我正在爲自己的教育創建一個JavaScript遊戲。遊戲需要幾個頁面,我通過隱藏的div
來實現,當你想要查看它們時隱藏/隱藏(offtopic:任何關於這是否是個好主意的建議都是值得歡迎的)。CSS特殊問題
我有一個CSS規則,隱藏所有我的div與display: none;
,然後是一個類,取消隱藏與display:block;
特定的div。但是,而不是類的隱藏,似乎我選擇所有div的css選擇器重寫類,導致規則不適用。我知道我可以使用!important
屬性來解決這個問題,但我想了解爲什麼我寫的不起作用。我認爲一個類將是一個足夠特定的選擇器,並且規則甚至在隱藏規則之後。
這是我的源:
<!DOCTYPE HTML>
<html>
<head>
<link rel="stylesheet" href="style.css" type="text/css" media="screen" charset="utf-8">
</head>
<body>
<div id="game">
<div id="content">
<div id="viewport">
<div id="home_page" class="current_page">Home</div>
<div id="work_page">Work</div>
</div>
</div>
</div>
</body>
</html>
和CSS:
#content
{
background: #eef;
padding: 5px;
}
#viewport div
{
display:none;
}
.current_page
{
display:block;
//display:block !important; //One solution, but not preferred
}
工程就像一個魅力! '#viewport div'>'.current_page'因爲id,所以'#viewport div'<'#viewport .current_page'擁有更多的權重,然後我可以使用jquery.removeClass()/ jquery.addClass()來操作我的菜單頁面的可見性。 –