#html #css #animation #css-animations
Вопрос:
Я пытаюсь использовать CSS-анимацию, чтобы заставить div входить/выходить со страницы при нажатии кнопки. Я знаю, как анимировать с помощью CSS, но моя проблема: если я попытаюсь сделать позицию div равной -1000%, появится горизонтальная полоса прокрутки. Я не хочу, чтобы это отображалось, но я также не хочу отключать полосу прокрутки.
Комментарии:
1. Не все так просто. Пожалуйста, приведите нам пример структуры html. И что должно спровоцировать»вылететь»?
Ответ №1:
используйте ключевые кадры. Например:
.fly{
animation: superman-fly-right ease-in-out 0.5s forwards;
}
@keyframes superman-fly-right {
from {
transform: translateX(0);
}
to {
transform: translateX(100vw);
}
}
Ответ №2:
Используя положение элемента в CSS, вы можете использовать animation
и @keyframes
править. Установите для элемента значение относительное или абсолютное в соответствии с тем, как вы хотите управлять расположением элемента в родительском элементе, и используйте положение left
или top
в своем правиле анимации css. @ 0%
установите левую позицию на странице и введите ее в 100%
=> 0
body {
overflow-x:hidden;
}
#main {
display: flex;
justify-content: center;
align-items: center;
width: 100vw;
height: 100vh;
position: relative;
}
#header {
position: absolute;
left: 37%;
z-index: 10;
font-size: 3rem;
animation: slideup 1.2s ease-in-out;
text-shadow: 1px 1px white;
font-family: sans-serif;
}
#image {
position: absolute;
left: 0px;
top: 0px;
animation: slidein 1s ease-in-out;
z-index: 1;
}
@keyframes slidein {
0% {
top: -1900px;
}
100% {
top: 0px;
}
}
<div id="main">
<img id='image' src="https://assets3.thrillist.com/v1/image/1679696/size/tmg-facebook_social.jpg">
<h2 id="header">My Vacation</h2>
</div>
Комментарии:
1. Ну, у него есть полоса прокрутки, которая тянется вправо и влево… Мне не нужна полоса прокрутки… (У меня полноэкранное фоновое изображение без прокрутки).
2. @ublec вы можете добавить
overflow: hidden;
в свое тело, и это устранит проблему со прокруткой.3. Да, я это сделал. Но что, если я хочу, чтобы на моем сайте была прокрутка?
4. Мое предложение состояло бы в том, чтобы использовать боковое скольжение, и
overflow-x:hidden;
таким образом вы все еще можете использовать прокрутку y