url()
Die url()
CSS Funktion wird verwendet, um eine Datei einzubinden. Der Parameter ist eine absolute URL, eine relative URL, eine Blob-URL oder eine Daten-URL. Die url()
-Funktion kann als Parameter einer anderen CSS-Funktion, wie der attr()
, übergeben werden. Abhängig von der Eigenschaft, für die sie einen Wert darstellt, kann die gesuchte Ressource ein Bild, eine Schriftart oder ein Stylesheet sein. Die url()
-Funktionale Notation ist der Wert für den <url>
-Datentyp.
Hinweis: Es gibt einen Unterschied zwischen einem URI und einer URL. Ein URI identifiziert eine Ressource. Eine URL ist eine Art von URI und beschreibt den Ort einer Ressource. Ein URI kann entweder eine URL oder ein Name (URN) der Ressource sein.
In CSS Level 1 beschrieb die url()
-Funktionale Notation nur echte URLs. In CSS Level 2 wurde die Definition von url()
erweitert, um jeden URI zu beschreiben, sei es eine URL oder ein URN. Verwirrenderweise bedeutete dies, dass url()
verwendet werden konnte, um einen <uri>
CSS-Datentyp zu erstellen. Diese Änderung war nicht nur umständlich, sondern, bezogen auf URNs, die fast nie in tatsächlichem CSS verwendet wurden, debatierbar unnötig. Um die Verwirrung zu lindern, kehrte CSS Level 3 zur engeren, ursprünglichen Definition zurück. Jetzt bezeichnet url()
nur noch echte <url>
s.
/* 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);
Relative URLs, sofern verwendet, sind relativ zur URL des Stylesheets (nicht zur URL der Webseite).
Die url()
-Funktion kann als Wert für
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 als Teil eines @font-face
Blocks, und @counter-style/symbol
eingeschlossen werden.
Syntax
Werte
<string>
-
Ein String, der eine URL oder die ID einer SVG-Form angeben kann.
- url
-
Eine URL, die eine relative oder absolute Adresse oder ein Zeiger zur einzubindenden Webressource ist, oder eine Daten-URL, optional in einfachen oder doppelten Anführungszeichen. Anführungszeichen sind erforderlich, wenn die URL Klammern, Leerzeichen oder Anführungszeichen enthält, es sei denn, diese Zeichen sind maskiert, oder wenn die Adresse Steuerzeichen oberhalb von 0x7e enthält. Doppelte Anführungszeichen können nicht innerhalb doppelter Anführungszeichen auftreten und einzelne Anführungszeichen können nicht innerhalb einzelner Anführungszeichen auftreten, es sei denn, sie sind maskiert. Die folgenden sind alle gültig und gleichwertig:
css<css_property>: url("https://example.com/image.png") <css_property>: url('https://example.com/image.png') <css_property>: url(https://example.com/image.png)
Wenn Sie sich entscheiden, die URL ohne Anführungszeichen zu schreiben, verwenden Sie einen Backslash (
\
) vor allen Klammern, Leerzeichen, einfachen Anführungszeichen ('
) und doppelten Anführungszeichen ("
) die Teil der URL sind. - path
-
Bezieht sich auf die ID einer SVG-Form oder eines SVG-Filters.
<url-modifier>
-
In Zukunft könnte die
url()
-Funktion die Angabe eines Modifikators unterstützen, ein Identifikator oder eine Funktionale Notation, die die Bedeutung der URL-String ändert. Dies wird nicht unterstützt und ist in der Spezifikation nicht vollständig definiert.
Offizielle Syntax
url( <string> <url-modifier>* )
Beispiele
Als Hintergrund-Eigenschaftswert
body {
background: url("https://mdn.github.io/shared-assets/images/examples/leopard.jpg")
#00d no-repeat fixed;
}
Zum Setzen eines Bildes als Listen-Aufzählungszeichen
ul {
list-style: outside
url("https://mdn.github.io/shared-assets/images/examples/firefox-logo.svg");
}
Verwendung in der Content-Eigenschaft
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");
}
Ergebnis
Verwendung einer Daten-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");
}
Verwendung in Filtern
Wenn eine URL als Pfad für einen Filter verwendet wird, muss die URL eine der folgenden sein:
- Der Pfad zu einer SVG-Datei mit angehängter ID des Filters.
- die ID des Filters, wenn die SVG bereits auf der Seite vorhanden ist.
.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 */
}
Spezifikationen
Specification |
---|
CSS Values and Units Module Level 4 # urls |
Browser-Kompatibilität
BCD tables only load in the browser