据我所知,基于子元素设计父元素的样式不是CSS的可用功能。您可能需要为此编写脚本。
如果您可以做类似div[div.a]
或div:containing[div.a]
如您所说的事情,那就太好了,但这是不可能的。
您可能需要考虑使用jQuery。它的选择器可以很好地与“包含”类型一起使用。您可以根据其子级内容选择div,然后将CSS类全部应用于父级。
如果您使用jQuery,则类似的方法可能会起作用(未经测试但理论存在):
$('div:has(div.a)').css('border', '1px solid red');
要么
$('div:has(div.a)').addClass('redBorder');
结合CSS类:
.redBorder
{
border: 1px solid red;
}