0

タイトルが示すように、このスニペット:

.group {
  width: 100px;
  height: 100px;
  background-color: blue;
}

.group:empty {
  background-color: red;
}

.hideme {
  display: none;
}
<div class="group">
  <div class="hideme">
    hello
  </div>
</div>

赤い背景を与えることができません。:empty子供がいる場合にも一致する代替品はありdisplay:noneますか?

4

3 に答える 3

0

残念ながら、css だけでは実現できませんが、:visible代わりに jquery セレクターを使用できます。

于 2013-09-12T14:45:04.933 に答える
0

いいえ、ありません。とにかく私が知っているわけではありません。

最善の策は JavaScript です。私は jQuery のファンなので、それを使用できます。

$group = $('.group');

if( $group.find('.hideme').is(':visible') ) {

    $(this).parent().css({ 'background-color' : 'blue' });

} else {

    $(this).parent().css({ 'background-color' : 'red' });

}

これはテストされていませんが、基本的なロジックはかなり明確なはずですか?

さらに、もちろん、HTML ドキュメントに jQuery ライブラリを含めることを忘れないでください。

<script src="//ajax.googleapis.com/ajax/libs/jquery/1.10.2/jquery.min.js"></script>
于 2013-09-12T14:48:16.563 に答える
0

あなたは試すことができます

div.group div.hideme
{
    background-color:red;
}

div.hidemeこれは theではなく theをスタイルしdiv.groupます

それ以外の場合は、他の回答が示しているように Javascript を使用できます。

于 2013-09-12T14:51:39.107 に答える