有一個網頁包含HTML片段:<div class="a b"></div><div class="a"></div>
。如何用CSS隱藏第二個div,讓第一個可見?請注意,我不能添加任何其他類,以及第一個div更改的可見性(有時是相對的,有時是絕對的),它不依賴於我。CSS多個類別選擇
-2
A
回答
3
可以隱藏既然後顯示,有兩類a
和b
.a {display: none;}
.a.b {display: block;}
的一個。如果加價不會改變您可以隱藏第二個div有以下幾點:
.a.b + .a {display:none;}
此說與直接用如下兩類a
和b
任何類a
什麼應該隱藏起來。
2
很簡單。剛剛嘗試這一點
.b {display:none;}
0
只要創建B類選擇:
.b { display: none; }
如果需要,只有擁有一流的項目一個應該被隱藏時,他們也有B類,您可以使用多個類選擇器通過連接兩個類選擇(無空白):由於第一
.a.b { display: none; }
2
div.a.b{display:none} /*take note, no spaces between .a and .b to signify that the div has both*/
,或者包含b,
div.b{display:none}
0
你是什麼意思,有時可見度是絕對的或相對的?可見度只能在div上隱藏或顯示。
以下是你需要什麼,你的更新問題
.a { display: hidden; }
.b { display: inline !important; }
0
CSS3定義negation pseudo-class:
.a:not(.b) {
display: none;
}
但是,它只在IE 9獲得了支持,所以目前典型cross-browser solution是設置屬性(包括那些你不想匹配的屬性),然後用更多的創建另一個規則,恢復原始樣式。這在IE 6及更早版本中仍然存在問題,因爲他們僅考慮使用單個元素的multiple classes時的最後一個類。
.a {
display: none;
}
.a.b { /* IE6 will treat selector as '.b' */
display: block;
}
注意,如果已經有與相匹配的元素,你不想碰,或者如果樣式設置inline(這應該不是一個腳本的操作之外進行更具體的選擇規則頁面),您不需要添加第二條規則,因爲.a
具有如此低的特異性。
相關問題
- 1. CSS選擇器與多個類別
- 2. 多個CSS選擇
- 3. css選擇很多ID類
- 4. 如何在css中選擇多個類?
- 5. MYSQL多個選擇相同的類別?
- 6. 選擇多個類別的形式
- 7. css選擇器的區別?
- 8. 在CSS類下選擇一個類
- 9. CSS:一類VS選擇很多元素
- 10. CSS DIV類選擇
- 11. 選擇二CSS類
- 12. CSS類選擇器
- 13. 使用REGEXP選擇類別與多個類別ID類似的帖子
- 14. CSS第一個孩子選擇,特殊類別遺漏
- 15. 在多層次使用多個類別選擇DIV
- 16. 類別和子類別的多選擇下拉列表
- 17. 選擇多個類屬性
- 18. CSS選擇器有多個類和一個ID
- 19. jQuery通過多個CSS類選擇一個元素
- 20. 目標兒童多個類的一個CSS選擇器規則
- 21. CSS語法選擇一個類下的多個元素
- 22. 選擇並選擇許多區別
- 23. CSS HTML選擇器與類選擇器
- 24. 選擇具有2個級別(類別和子類別)的類別
- 25. CSS - 如何選擇多個屬性值?
- 26. CSS:多個屬性選擇器
- 27. 在CSS中選擇多個孩子
- 28. CSS合併多個選擇器
- 29. CSS爲元素選擇多個= YES
- 30. 如何分別選擇多個圖像?
你到目前爲止嘗試過什麼?我看不出爲什麼你會被卡住。 '.b {display:none}'不是你想要的嗎? – 2012-03-09 20:44:45
[只有當存在2個類時纔可以使用CSS定位元素](http:// stackoverflow。com/questions/640996/can-you-target-an-element-with-css-only-if-2-classes-are-present) – 2012-03-09 20:46:50
抱歉有錯誤。我想隱藏第二個。更正了這個問題 – burtek 2012-03-09 20:46:52