我有以下标记:
<div class="c1">
<div class="c2">
<div class="c3">
<input>
<textarea></textarea>
</div>
<input>
<textarea></textarea>
</div>
</div>
我想匹配 input
和 textarea
来自 div.c3
的元素只有一个 CSS 规则。我在用着
div.c1 .c2 .c3 input,textarea { border: 1px solid #f00; }
但这匹配所有文本区域,不仅是 c3
div 中的一个。
这是可能的,还是我必须为每个元素编写单独的 CSS 选择器?
查看 http://jsfiddle.net/Bp3qn/1/ 以获取实时示例。
我更新 了 http://jsfiddle.net/Bp3qn/3/
我只需要突出显示 c1->c2->c3 容器中包含的输入和文本区域,而不需要其他组合。
原文由 Quamis 发布,翻译遵循 CC BY-SA 4.0 许可协议
您不需要选择器中的其他元素,除非您 只想 匹配
.c3
如果它在div.c1 .c2
内:如果你这样做(根据你的编辑),使用这个:
演示:http: //jsfiddle.net/wesley_murch/Bp3qn/6/
在这种情况下,为了让事情变得更容易,只需在
.c3
中添加另一个类,如下所示:演示:http: //jsfiddle.net/wesley_murch/Bp3qn/7/
如果您必须使选择器尽可能小,并且没有
.c3.special
的其他子级,则只需使用星形选择器(几乎从不推荐):