Перейти к основному содержимому

Галерея изображений CSS

Когда веб-страница показывает набор изображений организованным и часто адаптивным способом, это и есть галерея изображений CSS.

Её HTML состоит из двух уровней:

  • Внешний контейнерный элемент, оборачивающий всю галерею (например, <div> как обёртка галереи).
  • Внутри него ещё один контейнерный элемент для каждого изображения (например, <div> для каждого элемента галереи), содержащий тег <img> и, возможно, описание.

Пример

Базовая галерея изображений, построенная с помощью flexbox, на HTML и CSS:

Prompt
Создайте CSS-галерею изображений с использованием flexbox. Контейнер галереи (div.gallery) использует display: flex и flex-wrap: wrap с justify-content: flex-start. Каждый элемент галереи (div.gallery-item) имеет margin 5px, border 1px solid #ccc и width 180px. При наведении граница меняется на 1px solid #777. Изображения внутри элементов галереи имеют width 100% и height auto. Div описания (div.desc) имеет padding 15px и text-align center. Включите четыре изображения: Cinque Terre (img_5terre.jpg), Forest (img_forest.jpg), Northern Lights (img_lights.jpg) и Mountains (img_mountains.jpg). Каждое изображение обёрнуто в тег ссылки с target="_blank" и имеет атрибуты width="600" height="400". Добавьте текст описания под каждым изображением.
Output: полная HTML-страница

Адаптивная галерея изображений CSS

С помощью медиазапросов CSS изображения перестраиваются в зависимости от размера экрана:

  • На экранах шире 768px — четыре изображения отображаются рядом
  • На экранах уже 768px — два изображения отображаются рядом
  • На экранах уже 480px — изображения располагаются вертикально (width: 100%)

Пример

Prompt
Создайте адаптивную CSS-галерею изображений с использованием flexbox и медиазапросов. Контейнер галереи (div.gallery) использует display: flex и flex-wrap: wrap с justify-content: flex-start. Каждый элемент галереи (div.gallery-item) имеет margin 5px, border 1px solid #ccc и использует процентную ширину, которая меняется в зависимости от размера экрана. При наведении граница меняется на 1px solid #777. Изображения внутри элементов галереи имеют width 100% и height auto. Div описания (div.desc) имеет padding 15px и text-align center. Используйте медиазапросы так, чтобы: если экран шире 768px, показывать четыре изображения рядом (каждый элемент около 24%); если экран уже 768px, показывать два изображения рядом (каждый элемент около 48%); если экран уже 480px, располагать изображения вертикально (каждый элемент шириной 100%). Включите четыре изображения: Cinque Terre (img_5terre.jpg), Forest (img_forest.jpg), Northern Lights (img_lights.jpg) и Mountains (img_mountains.jpg). Каждое изображение обёрнуто в тег ссылки с target="_blank" и имеет атрибуты width="600" height="400".
Output: полная HTML-страница