<html xmlns="http://www.w3.org/1999/xhtml"><head></head><body><p><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="2" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[2]</anchor-end> 本項では <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">CSS</anchor> における<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">基底URL</anchor>と <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">URLの解決</anchor>について扱います。</p><section><h1>仕様書</h1><refs xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:"><ul xmlns="http://www.w3.org/1999/xhtml"><li><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="5" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[5]</anchor-end> <strong><cite xml:lang="en">CSS Values and Units Module Level 3</cite> (<time>2013-08-23 23:29:23 +09:00</time> 版) <anchor-external xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:resParameter="http://dev.w3.org/csswg/css-values/#url" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:resScheme="URI">http://dev.w3.org/csswg/css-values/#url</anchor-external></strong></li><li><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="1" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[1]</anchor-end> <cite xml:lang="en-US-x-hixie">HTML Standard</cite> (<time>2013-08-22 05:23:59 +09:00</time> 版) <anchor-external xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:resParameter="http://www.whatwg.org/specs/web-apps/current-work/#the-style-element" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:resScheme="URI">http://www.whatwg.org/specs/web-apps/current-work/#the-style-element</anchor-external></li><li><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="7" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[7]</anchor-end> <cite xml:lang="en-US-x-hixie">HTML Standard</cite> (<time>2013-08-22 05:23:59 +09:00</time> 版) <anchor-external xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:resParameter="http://www.whatwg.org/specs/web-apps/current-work/#dynamic-changes-to-base-urls" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:resScheme="URI">http://www.whatwg.org/specs/web-apps/current-work/#dynamic-changes-to-base-urls</anchor-external></li></ul></refs></section><section><h1>基底 URL</h1><p><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="6" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[6]</anchor-end> <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">CSSスタイルシート</anchor>の<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">基底URL</anchor>は<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">スタイルシート</anchor>自体の<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">基底URL</anchor>であって、
参照元の<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">文書</anchor>の<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">基底URL</anchor>ではありません <src xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:10:"><anchor-internal xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="5" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">&gt;&gt;5</anchor-internal></src>。</p><p><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="3" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[3]</anchor-end> <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">HTML</anchor> <code class="HTMLe" xml:lang="en"><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">style</anchor></code> <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">要素</anchor>の<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">スタイル言語</anchor>の<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">処理器</anchor>がみつけた <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">URL</anchor>
は、<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">要素の基底URL</anchor>に対して (あるいは<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">スタイル言語</anchor>の規定するところにより) <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">解決</anchor>し<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:"><strong xmlns="http://www.w3.org/1999/xhtml">なければなりません</strong></anchor> <src xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:10:"><anchor-internal xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="1" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">&gt;&gt;1</anchor-internal></src>。</p><comment-p xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:10:"><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="4" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[4]</anchor-end> <code xmlns="http://www.w3.org/1999/xhtml" class="HTMLa" xml:lang="en"><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">style</anchor></code> <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">属性</anchor>その他の埋め込み・参照方法の<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">基底URL</anchor>についての規定はありません。</comment-p><p><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="8" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[8]</anchor-end> <code class="HTMLe" xml:lang="en"><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">style</anchor></code> <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">要素</anchor>や <code class="HTMLa" xml:lang="en"><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">style</anchor></code> <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">属性</anchor>は<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">基底URL変更の影響</anchor>を受けません <src xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:10:"><anchor-internal xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="7" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">&gt;&gt;7</anchor-internal></src>。</p><example xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:"><p xmlns="http://www.w3.org/1999/xhtml"><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="9" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[9]</anchor-end> 例えば <code class="DOMm" xml:lang="en"><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">pushState</anchor></code> によって<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">文書基底URL</anchor>が変化しても、それ以前からあった 
<code class="HTMLe" xml:lang="en"><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">style</anchor></code> <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">要素</anchor>の<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">スタイルシート</anchor>の<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">基底URL</anchor>は変化しません。
その後、たとえば <code class="HTMLe" xml:lang="en"><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">style</anchor></code> <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">要素</anchor>の <code class="DOMa" xml:lang="en"><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">textContent</anchor></code>
<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">属性</anchor>に値を設定すると、新しい<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">基底URL</anchor>で改めて<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">スタイルシート</anchor>が評価されるため、
新しい<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">基底URL</anchor>に変化します。</p></example><p><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="10" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[10]</anchor-end> <anchor-internal xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="5" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">&gt;&gt;5</anchor-internal> によれば <code xml:lang="en"><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">&lt;url&gt;</anchor></code> の<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">指定値</anchor>は元の値、<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">算出値</anchor>は<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">解決</anchor>した値ということになっていますが、
<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">Chrome</anchor> の <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">CSSOM</anchor> に現れるのは<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">解決</anchor>した値です
(<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">Firefox</anchor> と <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">WinIE9</anchor> では元の値)。<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">構文解析</anchor>の時点で<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">絶対URL</anchor>に<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">解決</anchor>されているものと思われます。 <time>2013-08-26T02:55:12.700Z</time></p><p><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="11" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[11]</anchor-end> <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">Chrome</anchor> も <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">Firefox</anchor> も、 <code class="HTMLe" xml:lang="en"><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">style</anchor></code> <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">要素</anchor>から作られた<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">スタイルシート</anchor>は作成時点での<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">要素</anchor>の<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">基底URL</anchor>をコピーしていて、
その後変化しても追随しないようです。一方 <code class="HTMLa" xml:lang="en"><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">style</anchor></code> <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">属性</anchor>は<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">基底URL</anchor>を持っておらず、
値を設定するとその時点での<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">要素</anchor>の<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">基底URL</anchor>を使って<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">解決</anchor>し、<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">解決</anchor>済みの値は<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">基底URL</anchor>が変わっても保持し続けるようです。
<time>2013-08-26T03:00:50.000Z</time></p><p><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="12" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[12]</anchor-end> <code class="CSS" xml:lang="en"><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">@import</anchor></code> では <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">URL</anchor> は構文に関わらず <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">Chrome</anchor> でも <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">Firefox</anchor>
でも元々の値が <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">CSSOM</anchor> に現れます。</p></section></body></html>