@Dillett
Начинающий web разработчик

Как разделить блок на две части вместе с содержимым?

Добрый вечер, суть вопроса такова, что есть блок со списком, но при наведении он должен разделяться по полам и в центре должно появляться изображение. Выглядеть должно примерно вот так при наведении.5e385efd654fa850888255.jpeg
Уточню, что блок не просто растягивается по высоте, он именно должен разрываться.

Если честно ничего не приходит в голову кроме как создать 2 одинаковы блока и при наведении растягивать их в стороны.
Если кто то сталкивался с подобным, буду благодарен за совет.
  • Вопрос задан
  • 258 просмотров
Решения вопроса 2
FeST1VaL
@FeST1VaL
Тихий
Примерно так

Ответ написан
Комментировать
@kulaeff
Front-end developer
Теория
Делаем два слоя A и B, которые будут раздвигающимися половинками. Каждый из этих слоев имеет высоту H и `overflow: hidden`. Делаем два слоя с одинаковым содержимым X и Y, каждый из которых имеет высоту H*2 и выравнивание текста по вертикали. Вставляем слой X в слой A и абсолютно позиционируем его по верхнему краю. Вставляем слой Y в слой B и абсолютно позиционируем его по нижнему краю. Таким образом мы добьемся того, что слои A и B это как будто бы один слой с монолитным содержимым. Под слоями A и B размещаем слой C, который и будет появляется при "разрыве" слоев А и B.

Схема
5e39c2032a362577921694.png

Реализация
https://jsfiddle.net/vwdfqkph/1/

За кроссбраузерность не отвечаю, ибо используются флексы, но можно переделать и без флексов. Главное суть, надеюсь, донес.
Ответ написан
Комментировать
Пригласить эксперта
Ваш ответ на вопрос

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

Войти через центр авторизации
Похожие вопросы