Spec-Zone.ru › 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() может использоваться для создания <uri> типа данных CSS. Это изменение было не только неуклюжим, но, вероятно, и необоснованным, поскольку URN практически никогда не используются в реальном CSS. Чтобы устранить путаницу, CSS уровня 3 вернулся к более узкому, исходному определению. Теперь url() обозначает только истинные <url>.

/* Simple 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/jpg;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(rgb(0 0 0 / 100%), 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);

Относительные URL-адреса, если они используются, относительны к URL-адресу таблицы стилей (а не к URL-адресу веб-страницы).

Функция url() может быть включена в качестве значения для background, background-image, border, 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

Синтаксис

Значения

<string>

Строка, которая может указывать URL или идентификатор SVG-фигуры.

url

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

<css_property>: url("https://example.com/image.png")
<css_property>: url('https://example.com/image.png')
<css_property>: url(https://example.com/image.png)

Если вы предпочитаете писать URL без кавычек, используйте обратную косую черту (\) перед скобками, пробелами, одинарными кавычками (') и двойными кавычками ("), которые являются частью URL.

path

Ссылка на идентификатор SVG-фигуры или SVG-фильтра.

<url-modifier>

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

Формальный синтаксис

url( <string> <url-modifier>* )

Примеры

В качестве значения свойства background

body {
  background: url("https://mdn.github.io/shared-assets/images/examples/leopard.jpg")
    #00d no-repeat fixed;
}

Для установки изображения в качестве маркера списка

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 используется в качестве пути для фильтра, URL должен быть одним из следующих:

  1. Путь к SVG-файлу с добавленным идентификатором фильтра.
  2. Идентификатор фильтра, если 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 Values and Units Level 4
# urls

Совместимость с браузерами

Рабочие столы Мобильные устройства
Chrome Edge Firefox Opera Safari Chrome Android Firefox для Android Opera Android Safari на iOS Samsung Internet WebView Android
url_function 1 12 1 3.5 1 18 4 14 1 1.0 4.4

См. также

  • <gradient>
  • element()
  • image()
  • image-set()
  • cross-fade()

© 2005–2024 MDN contributors.
Licensed under the Creative Commons Attribution-ShareAlike License v2.5 or later.
https://developer.mozilla.org/en-US/docs/Web/CSS/url_function

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API