Любая идея о том, как сделать эту текстовую анимацию CSS отзывчивой на маленьких экранах?

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

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

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>


person redshirt509    schedule 11.10.2019    source источник
comment
Скриншот текущего и желаемого поведения может быть полезен   -  person Snappawapa    schedule 11.10.2019
comment
О да, моя вина. Здесь у вас есть скриншоты как полноэкранного, так и мелкоэкранного режима. Спасибо @Snappawapa.   -  person redshirt509    schedule 11.10.2019
comment
Я не думаю, что можно сделать так, чтобы слайд слева хорошо выглядел, когда весь текст находится в одной строке.   -  person Brilliand    schedule 12.10.2019


Ответы (2)


Немного повозившись с этим, я не думаю, что вы сможете добиться желаемого эффекта, просто правильно определив 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 */
}
person Brilliand    schedule 12.10.2019
comment
Ценить это. Я сейчас попробую. - person redshirt509; 13.10.2019

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

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

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

person Mint    schedule 12.10.2019
comment
Спасибо! Я играю с этим сейчас. - person redshirt509; 13.10.2019
comment
Очень личные вещи, но, поскольку я немного помог вам, не могли бы вы проголосовать за меня? Я пытаюсь набрать 50 репутаций, чтобы иметь возможность комментировать чужие посты :( - person Mint; 13.10.2019
comment
Я бы полностью, но у меня недостаточно влияния, чтобы проголосовать за кого-либо, я боюсь. Если нет обходного пути? - person redshirt509; 13.10.2019
comment
Я не думаю, что есть один, но все в порядке, не беспокойтесь - person Mint; 13.10.2019