Когда дело доходит до веб-дизайна, увлекательные визуальные эффекты могут иметь решающее значение. Изображения играют решающую роль в создании привлекательного и запоминающегося пользовательского опыта.

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

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

Как добавить изображения в HTML

Прежде чем вы сможете стилизовать изображение, вы должны сначала добавить его в свой HTML-документ. Для этого можно использовать <img> ярлык. <img> тег является самозакрывающимся тегом (не требует закрывающего тега). Он имеет src атрибут, который указывает URL-адрес или путь к файлу изображения, которое вы хотите отобразить.

<img src="https://kinsta.com/blog/css-image-styling/image.jpg" alt="Description of the image">

Вы также можете указать абсолютный URL-адрес или относительный путь к файлу изображения.

<img src="https://source.unsplash.com/tMHAmxLyzvA" alt="Boston city skyline">

alt Атрибут обозначает альтернативный текст и необходим для доступности. <img> тег также предоставляет два необязательных атрибута: width и height. Эти атрибуты позволяют указать размеры изображения в пикселях.

<img src="https://kinsta.com/blog/css-image-styling/image.jpg" alt="Description of the image" width="300" height="200">

Однако обычно рекомендуется избегать использования width и height атрибуты, если вам не нужно поддерживать определенные размеры изображения. Вместо этого вы можете использовать CSS для управления размером изображения, обеспечивая большую гибкость адаптивного дизайна.

img {
  height: 200px;
  width: 700px;
}

Адаптивный стиль изображения

Применение конкретных значений для width и height атрибуты изображения могут привести к нежелательным последствиям, таким как сжатие или искажение изображения. Это особенно верно, если указанные размеры не соответствуют исходному соотношению сторон изображения.

Сжатое изображение.

Чтобы избежать этих проблем и сохранить правильные пропорции изображения, в игру вступает адаптивный стиль изображения. Адаптивный стиль изображения обеспечивает адаптацию изображений к разным размерам экрана, что имеет решающее значение для адаптивного веб-дизайна.

Вы можете добиться этого с помощью max-width свойство, которое ограничивает максимальную ширину изображения.

img {
  max-width: 100%;
  height: auto;
}
Адаптивное изображение
Отзывчивое изображение.

Вы также можете использовать медиа-запросы для изменения стиля изображения на основе различных точек останова устройства. Медиа-запросы позволяют применять определенные правила CSS в зависимости от размера экрана устройства, ориентации и других характеристик. Например:

@media screen and (max-width: 600px) {
  .my-image {
    max-width: 50%;
  }
}

Использование Object-Fit для сохранения соотношения сторон и предотвращения сжатия

Иногда бывают ситуации, когда вам нужно указать определенную ширину и высоту изображения. В таких случаях вы можете использовать CSS object-fit свойство для управления поведением изображения в пределах заданных размеров.

object-fit Свойство позволяет указать, как изображение должно помещаться внутри своего контейнера, сохраняя соотношение сторон. Он может принимать несколько значений, например:

  • наполнять: Это значение растягивает или сжимает изображение, чтобы оно точно соответствовало его контейнеру, что может вызвать искажение.
  • содержать: Это значение масштабирует изображение пропорционально, чтобы оно поместилось в контейнер без обрезки, сохраняя при этом соотношение сторон. Это гарантирует, что все изображение будет видно внутри контейнера, что может привести к появлению пустых пространств.
  • крышка: Это значение масштабирует изображение пропорционально, чтобы покрыть контейнер, сохраняя соотношение сторон. Это может привести к обрезке краев изображения, чтобы оно заполнило весь контейнер.
  • никто: Это значение не применяется к масштабированию или обрезке, и изображение сохранит свой первоначальный размер, что может привести к переполнению контейнера.
Результат для популярных стилей подгонки объектов
Результат для популярных стилей подгонки объекта.

Вот пример использования свойства object-fit:

img {
  width: 300px;
  height: 300px;
  object-fit: cover;
}

Создание изображений с закругленными углами с помощью CSS

Добавление закругленных углов к изображениям может сделать их более мягкими и визуально привлекательными.

С помощью CSS вы можете легко добиться этого эффекта, применив border-radius свойство изображения.

Вот как можно сделать изображения с закругленными углами:

img {
  border-radius: 10px;
}

В приведенном выше примере мы установили border-radius собственность на 10px. Отрегулируйте значение по своему усмотрению, чтобы контролировать округлость углов. Это значение может использовать ваши предпочтительные единицы измерения, такие как бэр, процент и т. д.

Изображение со скругленными углами
Изображение со скругленными углами.

Создание круглых изображений с помощью CSS

Чтобы ваши изображения были идеально круглыми, комбинируйте border-radius свойство с одинаковыми размерами ширины и высоты.

Вот как создать круглые изображения:

img {
  border-radius: 50%;
  width: 200px;
  height: 200px;
}

В приведенном выше примере border-radius свойство установлено на 50%который создает круг, делая кривую границы половиной ширины или высоты изображения.

Вы также можете использовать clip-path свойство. Это позволяет вам определить путь отсечения для элемента, создавая уникальные формы.

Вот пример изображения, обрезанного по кругу:

img {
  clip-path: circle(50%);
  width: 200px;
  height: 200px;
}

Центрирование изображений с помощью CSS

Выравнивание изображений по центру их контейнера — обычная практика в веб-дизайне. Есть много способов добиться этого; один – установить изображение display собственность на block и применить margin: 0 autoкоторый горизонтально центрирует изображение внутри своего контейнера.

img {
  display: block;
  margin: 0 auto;
  width: 700px;
}
Изображение по центру
Изображение по центру.

Создание прозрачных изображений

Вы можете использовать CSS, чтобы применить желаемый эффект прозрачности, чтобы сделать изображение прозрачным. opacity Свойство позволяет вам контролировать уровень прозрачности элемента, включая изображения.

Значение 1 представляет полную непрозрачность (полностью видимый), в то время как 0 представляет собой полную прозрачность (полностью невидимый).

img {
  opacity: 0.5;
}

Непрозрачность изображения в приведенном выше коде установлена ​​​​на 0.5, что приводит к эффекту полупрозрачности. Вы можете настроить значение непрозрачности для достижения желаемого уровня прозрачности.

Прозрачное изображение
Прозрачное изображение.

Размещение текста на изображениях

Размещение текста на изображениях может создать визуально привлекательный и информативный дизайн. Чтобы поместить текст поверх изображения, вы можете использовать комбинацию позиционирования CSS и z-index.

Вот пример:

 // HTML
<div class="image-container">
  <img src="https://source.unsplash.com/tMHAmxLyzvA" alt="Boston city skyline" >
  <div class="image-text">Welcome to Kinsta</div>
</div>

// CSS
.image-container {
  position: relative;
}


.image-text {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  z-index: 1;
  color: white;
  font-size: 20px;
  font-weight: bold;
}

В приведенном выше коде image-container div служит контейнером как для изображения, так и для наложения текста. position: relative свойство применяется к контейнеру, чтобы установить контекст позиционирования. image-text Затем класс используется для абсолютного позиционирования текста внутри контейнера с помощью position: absoluteи top, leftи transform свойства, чтобы центрировать его. z-index Свойство гарантирует, что текст отображается над изображением, и вы можете дополнительно настроить внешний вид текста с помощью цвета, размера шрифта и толщины шрифта.

Обратите внимание, что определенные значения позиционирования и стиль можно настроить в соответствии с вашими предпочтениями и требованиями к дизайну.

Переворот изображений: создание зеркальных эффектов

Переворачивание изображений может добавить интересный визуальный элемент в ваш веб-дизайн. Если вы хотите создать зеркальный эффект или перевернуть изображение по вертикали или горизонтали, CSS предоставляет простые приемы для достижения этого эффекта.

Горизонтальное отражение

Чтобы перевернуть изображение по горизонтали, вы можете использовать свойство transform с параметром scaleX() функция. scaleX(-1) значение переворачивает изображение по горизонтальной оси.

img {
  transform: scaleX(-1);
}

Вертикальное отражение

Чтобы перевернуть изображение по вертикали, вы можете использовать свойство transform с параметром scaleY() функция. scaleY(-1) value переворачивает изображение по вертикальной оси.

img {
  transform: scaleY(-1);
}

Диагональное отражение

Чтобы создать эффект переворачивания по диагонали, совместите scaleX() и scaleY() функции в рамках transform свойство.

img {
  transform: scaleX(-1) scaleY(-1);
}

В приведенном выше коде изображение будет зеркально отражено по горизонтали и вертикали, что приведет к эффекту переворота по диагонали.

Переворот изображения по горизонтали, вертикали и диагонали
Переворот изображения по горизонтали, вертикали и диагонали.

Добавление фильтров к изображениям: улучшение визуальных эффектов

Фильтры могут преобразовывать внешний вид изображений, позволяя создавать уникальные визуальные эффекты. CSS предоставляет ряд свойств фильтров, которые можно применять к изображениям, позволяя регулировать яркость, контрастность, насыщенность и многое другое.

Вы можете использовать filter свойство, чтобы применить фильтр к изображению. Это свойство принимает различные функции фильтров, каждая из которых изменяет различные аспекты изображения.

img {
  filter: brightness(150%);
}

В приведенном выше коде brightness(150%) функция применяется к изображению. Это увеличивает яркость изображения на 150%.

Часто используемые функции фильтра

Вот некоторые часто используемые функции фильтра:

  • brightness(): регулирует яркость изображения.
  • contrast(): изменение контрастности изображения.
  • saturate(): изменение уровня насыщенности изображения.
  • grayscale(): Преобразует изображение в оттенки серого.
  • blur(): Применение эффекта размытия к изображению.
  • sepia(): Применяет к изображению эффект тона сепии.

Вы можете экспериментировать с различными функциями и значениями фильтров для достижения желаемых визуальных эффектов. Комбинирование нескольких фильтров также может привести к более сложным преобразованиям.

Создание наложений при наведении на изображения

Наложение курсора на изображения может сделать ваш сайт интерактивным и визуально интересным. Когда пользователь наводит курсор на изображение, может применяться эффект наложения, например наложение цвета или текстовая подпись.

CSS предоставляет несколько методов для создания наложений при наведении; один из способов — использование CSS-переходов. Перемещая определенные свойства элемента, вы можете плавно анимировать изменения при наведении курсора на изображение.

// HTML
<div class="image-container">
  <img src="https://kinsta.com/blog/css-image-styling/image.jpg" alt="Description of the image">
  <div class="overlay"></div>
</div>

// CSS
.image-container {
  position: relative;
  display: inline-block;
}
.overlay {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background-color: rgba(0, 0, 0, 0.5);
  opacity: 0;
  transition: opacity 0.3s ease;
}
.image-container:hover .overlay {
  opacity: 1;
}

В приведенном выше коде .image-container элемент оборачивает изображение и .overlay элемент. Накладка изначально прозрачная (opacity: 0) и покрывает все изображение. При наведении на .image-container, .overlay непрозрачность переходит в 1открывая наложение цвета.

Для достижения желаемого визуального эффекта вы можете настроить наложение, отрегулировав background-color и свойства непрозрачности.

Краткое содержание

Стилизация изображений с помощью CSS открывает целый мир творческих возможностей, позволяя повысить визуальную привлекательность и интерактивность веб-страниц.

При оформлении изображений с помощью CSS всегда помните о доступности, отзывчивости и производительности.

Что стиль изображения CSS, который вы используете чаще всего? Какой из них интересует вас больше всего? Дайте нам знать об этом в комментариях.