有一個網頁包含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. 選擇屬於多個類別的行
- 6. MYSQL多個選擇相同的類別?
- 7. 選擇多個類別的形式
- 8. 選擇多個電影類別
- 9. 選擇子類別的類別中,分貓有多個家長
- 10. CSS選擇器,除第一次出現該類外,選擇一個類別
- 11. 選擇類別
- 12. Firebug不能個別化CSS選擇器
- 13. 有一個CSS類選擇器覆蓋CSS id選擇器
- 14. css選擇器的區別?
- 15. 在CSS類下選擇一個類
- 16. CSS:一類VS選擇很多元素
- 17. 多選擇類別WordPress定製控件
- 18. CSS多級選擇
- 19. CSS多選擇器
- 20. CSS DIV類選擇
- 21. 未選擇CSS類
- 22. 選擇二CSS類
- 23. CSS類選擇器
- 24. 使用REGEXP選擇類別與多個類別ID類似的帖子
- 25. CSS是否有一個選擇器用於選擇何時在多個類中?
- 26. 在多層次使用多個類別選擇DIV
- 27. CSS第一個孩子選擇,特殊類別遺漏
- 28. 將多個css類別分組到另一個類別
- 29. 類別和子類別的多選擇下拉列表
- 30. BEM多個類選擇器
你到目前爲止嘗試過什麼?我看不出爲什麼你會被卡住。 '.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