У меня есть боковая панель слева, которая переключает отображение и блокировку.
Вот css:
.hide {
display: none;
}
.show {
display: block;
}
И функция javascript:
function elToggle() {
var s = document.getElementById('sidebar');
if (s.classList.contains('hide')) {
s.classList.remove("hide");
s.classList.add("show");
} else {
s.classList.remove("show");
s.classList.add("hide");
}
}
Вышеприведенное работает нормально, но мне нужна плавная анимация (вход и выход), когда он скрывается и показывается.
Как мне это сделать?
Если вы хотите плавную анимацию, вам нужно изменить css
Например, если вы хотите, чтобы он появлялся и исчезал,
.hide {
display: block;
position: absolute;
opacity: 0;
top: 0; left: 0;
bottom: 0; right: 0;
transition: opacity 1s;
}
.show {
display: block;
position: absolute;
opacity: 1;
top: 0; left: 0;
bottom: 0; right: 0;
transition: opacity 1s;
}
Я не могу написать все переходы, так что это зависит от того, как вы хотите, чтобы переход происходил
Чтобы он не занимал места
.hide {
display: block;
position: absolute;
width: 0;
top: 0; left: 0;
bottom: 0; right: 0;
transition: width 1s;
overflow: hidden;
}
.show {
display: block;
position: absolute;
width: 100%;
top: 0; left: 0;
bottom: 0; right: 0;
transition: width 1s;
overflow: hidden;
}
Для скольжения внутрь и наружу используйте это
.hide {
display: block;
position: absolute;
width: 100%;
top: 0; left: 0;
bottom: 0; right: 0;
transition: left 1s;
overflow: hidden;
}
.show {
display: block;
position: absolute;
width: 100%;
top: 0; left: 100%;
bottom: 0; right: 0;
transition: left 1s;
overflow: hidden;
}
/* Note: To use this, the container should have overflow set to hidden and display relative */
Примечание: убедитесь, что контейнер, содержащий элементы, имеет отображение относительного
Хорошо, это тоже легко. Все дело в css. Дайте мне 5 минут, чтобы обновить
Это зависит от ваших знаний CSS, вы можете изменить его, как хотите. Также используйте left
или right
в зависимости от положения панели навигации.
Вы должны использовать opacity
. Потому что не работает display
анимация(transition
).
.hide {
opacity:0;
transition: opacity 0.5s;
}
.show {
opacity: 1;
transition: opacity 0.5s;
}
Все это эффекты затухания, которые плохо сочетаются с боковой панелью. Я искал эффект слайда и выхода
Все это эффекты затухания, которые плохо сочетаются с боковой панелью. Я искал эффект слайда и выхода