有一个网页包含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