Создайте выдвижную панель с использованием CSS и HTML - PullRequest
4 голосов
/ 27 декабря 2011

Я хочу создать домашнюю страницу для веб-сайта.Мне бы хотелось, чтобы на домашней странице было 4 или 5 прямоугольников, один за другим, по центру страницы.Каждый из этих прямоугольников будет иметь изображение (слева) и текст (справа) внутри.

Когда пользователь наведет курсор на каждый прямоугольник, я бы хотел, чтобы он расширялся вертикально вниз на страницу на 4-500 пикселей (при сохранении его горизонтальной длины), и чтобы прямоугольники были ниже того, который был наведен, сдвиньте внизстраницы (для размещения расширенного «ящика»).Когда мышь вынута из «выдвижного ящика», «выдвижной ящик» убирается, образуя исходный прямоугольник, а остальные прямоугольники возвращаются в исходное положение.

Содержимое «ящиков» будет текстовым иизображения, с оригинальным прямоугольником, оставшимся неподвижным и выступающим в качестве заголовка или заголовка для «ящика».Мой вопрос: как бы я выполнил задачу расширения каждого из прямоугольников, чтобы другие прямоугольники двигались одновременно, а затем убирались, когда мышь убирали.

Я предполагаю, что это будет сделано с помощью CSS-переходов (и, может быть, некоторых изворотливых HTML5-вещей?), Но на этом мои знания CSS заканчиваются.Я понимаю, что это довольно большой и сложный вопрос, поэтому любая помощь будет высоко ценится.

Большое спасибо.

Ответы [ 2 ]

3 голосов
/ 27 декабря 2011

Вы можете использовать переходы CSS3 Спецификации W3C , Документы MDN на псевдоклассе :hover.

Демо на http://jsfiddle.net/gaby/mX7qN/

1 голос
/ 27 декабря 2011

Вы ищете что-то похожее на то, что называется аккордеонное меню . Они действительно могут быть выполнены через свойство CSS3 transition. Особенность HTML5 не нужна. См. здесь для примера. Небольшое отличие в этом примере состоит в том, что первый элемент меню остается развернутым, когда вы наводите курсор, тогда как вы, кажется, хотите свернуть его. Но немного подправьте этот пример, и я думаю, у вас должно быть то, что вам нужно.

...