2015-12-17 3 views
-1

Здравствуйте у меня есть структура:CSS выберите элемент, когда брат появляется

<section class="entry"> 
 
    <div class="1"> 
 
    <div class="IappearSometimes">text1</div> 
 
    <p class="ImAlwaysShowingText">text2</p> 
 
    </div> 
 
</section>

Я хотел бы скрыть от display:none р класса .ImAlwaysShowingText элемента, только тогда, когда появляется DIV класса .IappearSometimes. По умолчанию класс .ImAlwaysShowingText всегда находится на экране, и я хочу скрыть его, когда класс. Отображается. Иногда отображается. Я пытался с помощью nth-child, ~ selector, но через 2 дня пытался скрыть другие элементы на странице, im действительно потерял .. Могу ли я его выбрать?

+0

Если они смежные братья и сестры, '.IappearSometimes + .ImAlwaysShowingText {display: none; } '.. –

+0

Джош Крозье решил мое дело. Большое спасибо за помощь! – KwS

ответ

0

Это должно работать

.IappearSometimes ~ .ImAlwaysShowingText { 
 
    display: none; 
 
}
<section class="entry"> 
 
    <div class="1"> 
 
    <div class="IappearSometimes">text1</div> 
 
    <p class="ImAlwaysShowingText">text2</p> 
 
    </div> 
 
</section>

Edit: Вы можете увидеть здесь DEMO если .IappearSometimes существует .ImAlwaysShowingText будет display: none

0

Вы можете сделать это с помощью JQuery

if ($('.IappearSometimes.').is(':visible')) { 
    $('.ImAlwaysShowingText').hide(); 
} 

Это приведет к тому, когда элемент IAppearSometimes виден на экране, чтобы скрыть ImAlwaysShowingText

0

Я думаю, что это достаточно (комбинированный селектор):

.IappearSometimes.ImAlwaysShowingText { 
    display: none; 
} 

EDIT: К сожалению, нет места между классами. Вот код (с другой добавленной линией): http://codepen.io/anon/pen/pgybdL

Смежные вопросы