Задать вопрос
@QWERTY01

Как правильно сделать спойлер во vue.js?

Вот как я реализовал спойлер
https://jsfiddle.net/nua9t3he/

Но проблема в том, что при скрытии/раскрытии (нажатии серый на треугольник) сначала прорисовывается место под контент (просто белый прямоугольник), а уже потом "выплывает" сам контент поверх этого белого прямоугольника.
Как можно сделать, чтобы сразу выплывал именно сам контент без этого белого фона вначале.

И вообще, нормальная ли это реализация "спойлера" или можно сделать как-то более лучше?
  • Вопрос задан
  • 1107 просмотров
Подписаться 1 Средний 1 комментарий
Помогут разобраться в теме Все курсы
  • Яндекс Практикум
    Профессиональная вёрстка на HTML и CSS
    3 месяца
    Далее
  • Skillbox
    Веб-вёрстка 3.0
    3 месяца
    Далее
  • OTUS
    HTML/CSS
    3 месяца
    Далее
Решения вопроса 1
MDiMaI666
@MDiMaI666
Талантливый программист
Неправильно. Вы как раз при нажатии отображаете белый блок и контент заезжает сверху (как и работает)
А вам надо чтобы блок раскрывался, translate вообще не сюда. Используйте transition:all 1s ease; и в закрытом height 0, при открытии auto;
И советую глянуть на реализацию bootstrap/v4/component/collapse
От Vue требуется только добавить класс show или убрать. Остальное через css
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

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

Похожие вопросы
ITK academy Нижний Новгород
от 50 000 до 90 000 ₽
FoodSoul Калининград
от 180 000 до 250 000 ₽
Data Directs Тель-Авив
от 350 000 ₽