CSS-функция `url()`
Базовая поддержка Широко доступна
Эта функция хорошо зарекомендовала себя и работает на множестве устройств и в разных версиях браузеров. Она доступна во всех браузерах с сентября 2016 года.
url() CSS-функция используется для подключения файла. Параметром может быть абсолютный URL, относительный URL, URL blob или URL данных. Функцию url() можно передать в качестве параметра другой CSS-функции, например функции attr(). В зависимости от свойства, для которого она используется в качестве значения, искомый ресурс может быть изображением, шрифтом или таблицей стилей. Функциональная нотация url() — это значение для типа данных <url>.
Примечание: между URI и URL есть различие. URI идентифицирует ресурс. URL — это разновидность URI, описывающая местоположение ресурса. URI может быть URL или именем ресурса (URN).
В CSS уровня 1 функциональная нотация url() описывала только URL в строгом смысле. В CSS уровня 2 определение url() было расширено и стало описывать любые URI — как URL, так и URN. Это, как ни странно, означало, что url() можно было использовать для создания типа данных CSS <uri>. Это изменение было не только неудобным, но и, возможно, ненужным, поскольку URN редко используются в реальном CSS. Чтобы устранить путаницу, в CSS уровня 3 вернулись к более узкому первоначальному определению. Теперь url() обозначает только URL в строгом смысле — <url>.
Относительные URL разрешаются относительно URL таблицы стилей, а не URL веб-страницы. Однако, если url() используется внутри пользовательского свойства (например, --my-image: url(foo.jpg)), относительный URL разрешается не сразу. Он разрешается при вычислении пользовательского свойства посредством подстановки var() в стандартное свойство. На этом этапе базовым URL является таблица стилей, в которой указана ссылка var(), а не та, где было определено пользовательское свойство.
Функцию url() можно использовать в качестве значения для свойств background, background-image, border-image, border-image-source, content, cursor, filter, list-style, list-style-image, mask, mask-image, offset-path, clip-path, src в блоке @font-face и @counter-style/symbol
Синтаксис
/* Basic usage */
url("https://example.com/images/myImg.jpg");
url('https://example.com/images/myImg.jpg');
url(https://example.com/images/myImg.jpg);
url("data:image/jpeg;base64,iRxVB0…");
url(myImg.jpg);
url(#IDofSVGpath);
/* associated properties */
background-image: url("star.gif");
list-style-image: url('../images/bullet.jpg');
content: url("my-icon.jpg");
cursor: url(my-cursor.cur);
border-image-source: url(/media/diamonds.png);
src: url('fantastic-font.woff');
offset-path: url(#path);
mask-image: url("masks.svg#mask1");
/* Properties with fallbacks */
cursor: url(pointer.cur), pointer;
/* Associated short-hand properties */
background: url('star.gif') bottom right repeat-x blue;
border-image: url("/media/diamonds.png") 30 fill / 30px / 30px space;
/* As a parameter in another CSS function */
background-image: cross-fade(20% url(first.png), url(second.png));
mask-image: image(url(mask.png), skyblue, linear-gradient(black, transparent));
/* as part of a non-shorthand multiple value */
content: url(star.svg) url(star.svg) url(star.svg) url(star.svg) url(star.svg);
/* at-rules */
@document url("https://www.example.com/") { /* … */ }
@import url("https://www.example.com/style.css");
@namespace url(http://www.w3.org/1999/xhtml);
Значения
-
<string> -
Строка, задающая URL — относительный или абсолютный адрес либо указатель на подключаемый веб-ресурс, — или URL данных. Также можно использовать URL с хешем, чтобы указать идентификатор фигуры SVG или фильтра SVG.
Кавычки обычно необязательны. Они требуются, если URL содержит круглые скобки, пробелы или кавычки (если только эти символы не экранированы), а также если адрес содержит управляющие символы с кодом выше 0x7e. Применяются обычные правила синтаксиса строк: двойные кавычки нельзя использовать внутри строк в двойных кавычках, а одинарные — внутри строк в одинарных кавычках, если только они не экранированы.
-
<url-modifier> - В будущем функция
url()может поддерживать указание модификатора — идентификатора или функциональной нотации, изменяющего значение строки URL. Эта возможность не поддерживается и не полностью определена в спецификации.
Формальный синтаксис
Примеры
В качестве значения свойства background
body {
background: url("https://mdn.github.io/shared-assets/images/examples/leopard.jpg")
#0000dd no-repeat fixed;
}
Для установки изображения в качестве маркера списка
<ul> <li>One</li> <li>Two</li> <li>Three</li> </ul>
ul {
font-size: 3rem;
margin: 0;
}
ul {
list-style: outside
url("https://mdn.github.io/shared-assets/images/examples/firefox-logo.svg");
}
Использование в свойстве content
HTML
<ul> <li>One</li> <li>Two</li> <li>Three</li> </ul>
CSS
li::after {
content: " - "
url("https://mdn.github.io/shared-assets/images/examples/star-white_16x16.png");
}
Результат
Использование URL данных
CSS
body {
background: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='90' height='45'%3E%3Cpath d='M10 10h60' stroke='%2300F' stroke-width='5'/%3E%3Cpath d='M10 20h60' stroke='%230F0' stroke-width='5'/%3E%3Cpath d='M10 30h60' stroke='red' stroke-width='5'/%3E%3C/svg%3E");
}
Использование в фильтрах
Если URL используется в качестве пути к фильтру, он должен быть одним из следующих:
- Путь к файлу SVG с добавленным идентификатором фильтра.
- Идентификатор фильтра, если SVG уже присутствует на странице.
.blur {
filter: url("my-file.svg#svg-blur"); /* the URL of an SVG file used as a filter */
}
.inline-blur {
filter: url("#svg-blur"); /* the ID of an SVG that is embedded in the HTML page */
}
Спецификации
| Спецификация |
|---|
| Модуль значений и единиц CSS, уровень 4 # urls |
Совместимость с браузерами
| Настольные устройства | Мобильные устройства | |||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|
| Chrome | Edge | Firefox | Opera | Safari | Chrome для Android | Firefox для Android | Opera для Android | Safari для iOS | Samsung Internet | WebView для Android | WebView для iOS | |
url |
1 |
12 |
1 |
3.5 |
1 |
18 |
4 |
14 |
1 |
1.0 |
4.4 |
1 |
cross-origin |
150 |
150 |
Нет |
134 |
26.2 |
150 |
Нет |
101 |
26.2 |
Нет |
150 |
26.2 |
integrity |
150 |
150 |
Нет |
134 |
Нет |
150 |
Нет |
101 |
Нет |
Нет |
150 |
Нет |
referrer-policy |
150 |
150 |
Нет |
134 |
26.2 |
150 |
Нет |
101 |
26.2 |
Нет |
150 |
26.2 |
См. также
© 2005–2025 MDN contributors.
Licensed under the Creative Commons Attribution-ShareAlike License v2.5 or later.
https://developer.mozilla.org/en-US/docs/Web/CSS/Reference/Values/url_function