#css #css-transitions #css-animations
#css #css-переходы #css-анимация
Вопрос:
Я установил div выпадающего списка, чтобы иметь анимацию, как показано ниже, и это происходит при открытии div:
.locationDropdownList {
position: absolute;
top: 83px;
width: 100%;
background: white;
z-index: 1000;
padding: 0 1rem 1rem 1rem;
animation: dropdown 250ms ease-in-out;
box-shadow: 0px 30px 25px 0px rgba(0, 0, 0, 0.2);
max-height: 250px;
overflow-x: hidden;
}
@keyframes dropdown {
0% {
opacity: 0;
}
100% {
opacity: 1;
}
}
Он работает при открытии, но как я могу также установить его при закрытии? Я попытался добавить 0% под 100%, но это ничего не дало. Есть предложения по этому поводу?
Обновить:
Итак, как это работает, как показано ниже
У меня есть родительский элемент вызываемого div LocationDropdown
, и при нажатии на него вызываемый класс focused
применяется к родительскому элементу, который затем активирует выпадающий список для открытия locationDropdownList
, который представляет собой div, содержащий список
<div class="LocationDropdown">
<div>
<p class="locationSelectText">London</p>
</div>
</div>
при нажатии применяется сфокусированный класс
<div class="LocationDropdown focused">
<div>
<p class="locationSelectText">London</p>
</div>
<div class="locationDropdownList">
<ul>
<li></li>
.....
.....
</ul>
<ul>
<li></li>
.....
.....
</ul>
<ul>
<li></li>
.....
.....
</ul>
</div>
</div>
Комментарии:
1. простой переход будет работать нормально. для открытия вашего div необходимо установить стиль по умолчанию, если вы добавляете класс (или :hover /:focus/:active selectors). Как вы делаете это переключение стиля? Можете ли вы уточнить свой вопрос? как показано в коде, ничто не говорит о том, как применяется этот стиль
2. Я попробовал это и применил к переходу по максимальной высоте к div, который содержит список, и это не сработало, и я понятия не имею, почему.
3. вот что я имел в виду под переходом и непрозрачностью codepen.io/anon/pen/LvWWOr или максимальная высота dabblet.com/gist/5286471 😉
4. @G-Cyr Я попробовал ваше решение — оно вообще не применяет переход, но когда я проверяю и включаю и выключаю непрозрачность, оно делает то, что я хочу
Ответ №1:
Это ваше значение?
.locationDropdownList {
position: absolute;
top: 83px;
width: 100%;
background: white;
z-index: 1000;
padding: 0 1rem 1rem 1rem;
animation: dropdown 1s ease-in-out infinite;
box-shadow: 0px 30px 25px 0px rgba(0, 0, 0, 0.2);
max-height: 250px;
overflow-x: hidden;
}
@keyframes dropdown {
0% {
opacity: 0;
}
50% {
opacity: 1;
}
100% {
opacity: 0;
}
}
<div class="LocationDropdown focused">
<div>
<p class="locationSelectText">London</p>
</div>
<div class="locationDropdownList">
<ul>
<li></li>
.....
.....
</ul>
<ul>
<li></li>
.....
.....
</ul>
<ul>
<li></li>
.....
.....
</ul>
</div>
</div>
Комментарии:
1. Нет. Я имел в виду, что это не гладко, когда выпадающий список закрыт. При открытии он плавный.
2. Я не могу понять ваше значение. Пожалуйста, объясните подробнее.