Я создал отзывчивое меню, в котором элементы списка элементов после четвертого получают display:none; opacity:0
на мобильном телефоне. Четвертый элемент - это другой элемент списка, который является значком. При наведении курсора на иконку скрытые пункты меню отображаются в виде списка блоков ниже, используяПеремещение непрозрачности CSS не работает на селекторе sibling при наведении на элемент
li:nth-child(4):hover ~ li { display:block; opacity:1; }
где бы то ни я придерживаюсь transition: all 0.5s ease
в моем CSS я не могу получить переход идет. Я пытаюсь сделать что-то, что просто не сработает, потому что я действую на селекторе, или я делаю что-то неправильно?
См. Скрипку: https://jsfiddle.net/nicoleamurray/zap1L8hq/, которая отображает мобильную версию.
ОБНОВЛЕНИЕ: У него действительно хорошо работает height
!
`.mainmenu{
float: right;
text-align: right;
}
.mainmenu li{
display:inline-block;
}
.mainmenu li:nth-child(4):hover ~ li{
opacity:1;
transition-delay: 0s;
height: 20px;
}
.mainmenu li:nth-child(n+5){
opacity:0;
overflow: hidden;
height: 0;
display: block;
transition: all 0.5s 1s;
}`
я знаю, вы не можете перейти дисплей, поэтому я добавил непрозрачность всех состояний/элементов. проблема с этим решением заключается в том, что дисплей НЕ 'none', невидимые пункты меню по-прежнему технически существуют, только при 0 непрозрачности. наведите указатель мыши туда, где находятся пункты меню, и мышь повернется к указателю. мне действительно нужно их скрывать. – nicole
на основе ваших отзывов, хотя я собираюсь попробовать это: http://stackoverflow.com/questions/22103006/css3-transition-doesnt-work-with-display-property – nicole