Есть идеи, как сделать эту текстовую анимацию CSS отзывчивой на маленьких экранах? - PullRequest
0 голосов
/ 11 октября 2019

У меня есть текстовая анимация слайдов, с которой я работаю, но текст не складывается на маленьких экранах. Вместо этого он убегает с экрана. Я хотел бы, чтобы оба предложения были в одной строке на больших и очень больших экранах, и чтобы они складывались на меньших экранах. До сих пор у меня он сложен независимо от размера, на средних и выше он отлично смотрится, но на маленьких экранах текст убегает с экрана. Любые советы о том, что я должен делать?

Скриншоты: Полный экран Маленький экран

body {
  text-align: center;
  background: linear-gradient(141deg, #ccc 25%, #eee 40%, #ddd 55%);
  color: #555;
  font-weight: 300;
  font-size: 32px;
  padding-top: 40vh;
  height: 100vh;
  overflow: visible;
  -webkit-backface-visibility: hidden;
  -webkit-perspective: 1000;
  -webkit-transform: translate3d(0, 0, 0);
}

.intro {
  display: inline-block;
  overflow: hidden;
  white-space: normal;
}

.intro:first-of-type {
  animation: showup 7s infinite;
}

.intro~.intro {
  width: 0px;
  animation: reveal 7s infinite;
  white-space: normal;
}

.intro~.intro span {
  margin-left: -355px;
  animation: slidein 7s infinite;
  white-space: normal;
}

@keyframes showup {
  0% {
    opacity: 0;
  }
  20% {
    opacity: 1;
  }
  80% {
    opacity: 1;
  }
  100% {
    opacity: 0;
  }
}

@keyframes slidein {
  0% {
    margin-left: -800px;
  }
  20% {
    margin-left: -800px;
  }
  35% {
    margin-left: 0px;
  }
  100% {
    margin-left: 0px;
  }
}

@keyframes reveal {
  0% {
    opacity: 0;
    width: 0px;
  }
  20% {
    opacity: 1;
    width: 0px;
  }
  30% {
    width: 650px;
  }
  80% {
    opacity: 1;
  }
  100% {
    opacity: 0;
    width: 650px;
  }
}

p {
  font-size: 12px;
  color: #999;
}
<div class="container-fluid">
  <div class="intro">Hello.</div>
  <div class="intro col-xs-12">
    <span>My name is Nate and I need this responsive</span>
  </div>
</div>

Ответы [ 2 ]

0 голосов
/ 12 октября 2019

Немного поигравшись с этим, я не думаю, что вы можете получить желаемый эффект с помощью просто правильного определения CSS-анимации. Лучше всего установить различное поведение для экранов разной ширины, используя правила @media:

@media screen and (max-width: 649px) {
    /* Rules for small screens */
}
@media screen and (min-width: 650px) and (max-width: 999px) {
    /* Rules for medium screens */
}
@media screen and (min-width: 1000px) {
    /* Rules for large screens */
}
0 голосов
/ 12 октября 2019

Попробуйте добавить это:

@media screen and (min-width: 480px) {
      html {
      font-size: 75%;
      }
    }

Теперь шрифт должен хорошо смотреться на маленьких экранах. Вы можете изменить значение min-width и отзывчивое значение font-size на любое, которое, по вашему мнению, будет работать лучше.

...