CSSの仕様書でURI(URLとURNを含む)では<uri>と表記されます。属性値でURIを指定するために使用される関数表記法では、次のように 'url()' となります。
body { background: url("http://www.example.com/pinkish.png") }
URI値の形式は、
① 'url('で始まる
② オプションの空白文字
③ オプションのシングルクォート(')またはダブルクォート(")
④ URI本体
⑤ オプションのシングルクォート(')またはダブルクォート(")
⑥ オプションの空白文字
⑦ ')'
の順で並び、③のシングルクォートやダブルクォートは⑤とペアで存在しなければなりません。
url(https://books-nekoya.jp/)
URIに含まれる以下の文字はバックスラッシュでエスケープする必要があります。URIのタイプによっては、RFC3986に基づくURIエスケープすることもできます。
たとえば、URI中の'('と')'は次のようにエスケープすることができます。
文字 | バックスラッシュエスケープ | URIエスケープ |
---|---|---|
( | \( | %28 |
) | \) | %29 |
COMMENTトークンは他のトークン内では使用できません。したがて<url>値内の'/*'と'*/'で囲まれた部分はURIの一部として解釈されます。たとえば、次の<url>値は ─
url(/ * x * / pic.png)
'pic.png'ではなく '/*x*/pic.png'というURIを意味ます。
リソースの絶対的なロケーション依存しないスタイルシートを作成するために、相対URIを使用することができます。 相対URIは、 RFC 3986のセクション5で定義されるようなアルゴリズムで完全なURLに解決されます。相対URL解決の基準となる「ベースURI」は、ドキュメントではなくスタイルシートのURIとなります。