Groyreg
@Groyreg
Front-end

Как правильно скрыть/отобразить блок, чтобы работало плавное появление?

Добрый день. Есть два блока, которые отображаются и скрываются по определенному условию.
Каждый блок состоит из внутреннего svg элемента и псевдоэлемента :after.

Необходимо, чтобы их появление / исчезание было плавным.

Вот пример стилей:

.horizontal-scrollbar {
  &__buttons {
    position: relative;
  }

  &__button-left {
    position: absolute;
    top: 20px;
    left: 0;
    opacity: 0;

    .icon {
      position: relative;
      fill: $blue;
      height: rem(25);
      width: rem(25);
      transform: rotate(270deg);
      cursor: pointer;
      z-index: $zi-layer-2;

      &:hover {
        transform: rotate(270deg) scale(1.2);
      }
    }

    &:after {
      position: absolute;
      top: -30px;
      left: 0;
      display: block;
      content: '';
      width: rem(100);
      height: rem(90);
      background: linear-gradient(to right, rgba(255,255,255,1), rgba(255,255,255,0.20));
      z-index: $zi-layer-1;
    }

    &.is-visible {
      opacity: 1;
    }
  }

  &__button-right {
    position: absolute;
    top: 20px;
    right: 0;
    opacity: 0;

    .icon {
      position: relative;
      fill: $blue;
      height: rem(25);
      width: rem(25);
      transform: rotate(90deg);
      cursor: pointer;
      z-index: $zi-layer-2;

      &:hover {
        transform: rotate(90deg) scale(1.2);
      }
    }

    &:after {
      position: absolute;
      top: -30px;
      right: 0;
      display: block;
      content: '';
      width: rem(100);
      height: rem(90);
      background: linear-gradient(to left, rgba(255,255,255,1), rgba(255,255,255,0.20));
      z-index: $zi-layer-1;
    }

    &.is-visible {
      opacity: 1;
    }
  }

  &__content {

  }
}


кнопки: horizontal-scrollbar__button-left и horizontal-scrollbar__button-right по умолчанию скрыты. Когда им добавляется класс is-visible. они вместе с классом icon и элементом :after должны плавно появляться. И аналогично при удалении класса is-visible исчезать.

Повторюсь меня интересуют только стили для придания плавности, остальное все есть.

Заранее спасибо.
  • Вопрос задан
  • 82 просмотра
Пригласить эксперта
Ответы на вопрос 1
Exploding
@Exploding
wtf?
Transition: opacity 300ms;
Так?
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы
22 нояб. 2024, в 06:06
1500 руб./в час
22 нояб. 2024, в 06:04
1 руб./за проект
22 нояб. 2024, в 03:54
1500 руб./за проект