логотип PurpleSchool
Иконка входа
Вход
логотип PurpleSchool

Функция url в CSS. Полное руководство с примерами

Автор

Дмитрий Нечаев

Функция url() в CSS позволяет вставлять файлы по ссылке, что делает её важным инструментом для работы с фоновыми изображениями, шрифтами, медиафайлами и другими внешними ресурсами. В этой статье мы подробно рассмотрим, как использовать функцию url() в CSS, и приведём примеры её применения в различных контекстах.

Основы функции url()

Функция url() используется для указания пути к файлу, который необходимо загрузить и применить к элементу. Путь может быть относительным или абсолютным.

Синтаксис функции url()

property: url('path/to/file');
  • property — CSS-свойство, к которому применяется функция url().
  • path/to/file — путь к файлу.

Применение функции url() в CSS

1. Фоновые изображения

Фоновое изображение для элемента можно задать с помощью свойства background-image и функции url().

.element {
    background-image: url('images/background.jpg');
}

В этом примере к элементу применяется фоновое изображение background.jpg из папки images.

2. Шрифты

Функция url() также используется для подключения внешних шрифтов через правило @font-face.

@font-face {
    font-family: 'CustomFont';
    src: url('fonts/customfont.woff2') format('woff2'),
         url('fonts/customfont.woff') format('woff');
}

.element {
    font-family: 'CustomFont', sans-serif;
}

В этом примере подключаются шрифты customfont.woff2 и customfont.woff из папки fonts, и задаётся шрифт CustomFont для элемента.

3. Стили для списка

Можно использовать изображения для стилизации маркеров списка с помощью свойства list-style-image.

ul.custom-list {
    list-style-image: url('images/list-marker.png');
}

В этом примере маркеры списка заменяются изображением list-marker.png.

4. Контент для псевдоэлементов

Функция url() позволяет добавлять изображения через псевдоэлементы ::before и ::after.

.element::before {
    content: url('images/icon.png');
}

В этом примере изображение icon.png добавляется перед содержимым элемента с помощью псевдоэлемента ::before.

5. Вставка мультимедиа

Функция url() может использоваться для вставки мультимедиафайлов, таких как аудио и видео.

Пример аудио:

audio {
    src: url('audio/sound.mp3');
}

Пример видео:

video {
    src: url('video/movie.mp4');
}

Особенности использования функции url()

Относительные и абсолютные пути

  • Относительные пути указывают на файлы относительно расположения CSS-файла.
background-image: url('../images/background.jpg');
  • Абсолютные пути указывают на файлы с использованием полного URL.
background-image: url('<https://example.com/images/background.jpg>');

Кодирование URL

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

background-image: url('images/my%20background.jpg');

В этом примере пробел в имени файла заменён на %20.

Примеры использования функции url()

Пример 1: Фоновое изображение с дополнительными стилями

.hero-section {
    background-image: url('images/hero.jpg');
    background-size: cover;
    background-position: center;
    height: 100vh;
    color: white;
}

Пример 2: Подключение шрифта и применение его к заголовкам

@font-face {
    font-family: 'Roboto';
    src: url('fonts/roboto.woff2') format('woff2'),
         url('fonts/roboto.woff') format('woff');
}

h1, h2, h3 {
    font-family: 'Roboto', sans-serif;
}

Пример 3: Стилизация списка с кастомными маркерами

ul.styled-list {
    list-style-image: url('images/star-marker.png');
    padding-left: 20px;
}

ul.styled-list li {
    margin-bottom: 10px;
}

Пример 4: Вставка значка перед текстом элемента

.icon::before {
    content: url('images/icon.png');
    margin-right: 5px;
    vertical-align: middle;
}

Заключение

Функция url() в CSS является мощным инструментом для вставки внешних файлов по ссылке, будь то изображения, шрифты или мультимедиа. Она позволяет легко подключать и использовать различные ресурсы, улучшая визуальное и функциональное восприятие веб-страниц. Освоив использование функции url(), вы сможете значительно расширить возможности стилизации ваших веб-проектов.

Карта развития разработчика

Получите полную карту развития разработчика по всем направлениям: frontend, backend, devops, mobile