<html xmlns="http://www.w3.org/1999/xhtml"><head></head><body><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="7" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[7]</anchor-end> 
<cite xml:lang="en">CSS Inline Layout Module Level 3</cite>, <time>2023-11-17T20:01:02.000Z</time>, <time>2023-11-18T04:15:02.744Z</time> <anchor-external xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:resScheme="URI" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:resParameter="https://drafts.csswg.org/css-inline-3/#propdef-vertical-align">https://drafts.csswg.org/css-inline-3/#propdef-vertical-align</anchor-external></li></ul></refs></section><section><h1>特性値</h1><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>vertical-align</code>
は、
<code>baseline-source</code>,
<code>alignment-baseline</code>,
<code>baseline-shift</code>
の<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">shorthand</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><p><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>baseline-source</code> の <code>auto</code>
は
<code>vertical-align</code>
には使えません。
<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><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> 
<code>vertical-align</code> は古くからあり、
<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">longhand</anchor>
は後に <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">SVG</anchor> で導入されたものでした。
その歴史的経緯もあって、
<code>vertical-align</code>
の方がよく使われ、十分に実装されていました。</p><p><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="13" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[13]</anchor-end> 
<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">仕様書</anchor>は、
<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">longhand</anchor> を個別に <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">cascade</anchor> する必要がある場合や、
<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">異物</anchor>の <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">SVG</anchor> 実装との互換性が必要な場合を除き、
<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">shorthand</anchor> の <code>vertical-align</code>
を使う<SHOULD xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">べき</SHOULD>としています。
<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><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:">longhand</anchor> の個別の指定はできても、 <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">shorthand</anchor> で指定できないことがあります。)
<time>2023-11-18T04:26:07.200Z</time></p><p><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="14" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[14]</anchor-end> <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">文字列座標系</anchor></p></section><section><h1>表</h1><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> <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">表</anchor>の<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">こま</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></section><section><h1>歴史</h1><section><h1>HTML</h1><p><sw-see xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:"> <code xmlns="http://www.w3.org/1999/xhtml">valign</code> </sw-see></p></section><section><h1>CSS</h1><p><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>Bug 1652 - &lt;sup&gt;(vertical-align:super)の位置が上過ぎる</cite> <anchor-external xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:resScheme="URI" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:resParameter="http://bugzilla.mozilla.gr.jp/show_bug.cgi?id=1652">http://bugzilla.mozilla.gr.jp/show_bug.cgi?id=1652</anchor-external>
(<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">名無しさん</anchor> <weak xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">2005-11-26 02:27:19 +00:00</weak>)</p><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>
<code class="CSS" xml:lang="en"><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">-webkit-baseline-middle</anchor></code>
(<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">名無しさん</anchor> [sage])</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>
<code class="CSS" xml:lang="en"><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">vertical-align</anchor></code> の<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">算出値</anchor>
<anchor-external xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:resScheme="URI" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:resParameter="https://suika.suikawiki.org/gate/2007/cssom/viewer?c=p%20%7B%0D%0A%20%20vertical-align%3A%2024.5%25%3B%0D%0A%7D%0D%0A;h=%3Cinput%20type%3Dbutton%20onclick%3D%22%0D%0A%20%20var%20el%20%3D%20document.getElementsByTagName%20('p')%5B0%5D%3B%0D%0A%20%20var%20sd%20%3D%20getComputedStyle%20(el%2C%20null)%3B%0D%0A%20%20w%20(sd.verticalAlign)%3B%0D%0A%22%20value%3DgetComputedStyle%3E%0D%0A%3Cinput%20type%3Dbutton%20onclick%3D%22%0D%0A%20%20var%20el%20%3D%20document.getElementsByTagName%20('p')%5B0%5D%3B%0D%0A%20%20var%20sd%20%3D%20el.currentStyle%3B%0D%0A%20%20w%20(sd.verticalAlign)%3B%0D%0A%22%20value%3DcurrentStyle%3E%0D%0A%3Cp%3Exxx;p=n;x=style-element">https://suika.suikawiki.org/gate/2007/cssom/viewer?c=p%20%7B%0D%0A%20%20vertical-align%3A%2024.5%25%3B%0D%0A%7D%0D%0A;h=%3Cinput%20type%3Dbutton%20onclick%3D%22%0D%0A%20%20var%20el%20%3D%20document.getElementsByTagName%20('p')%5B0%5D%3B%0D%0A%20%20var%20sd%20%3D%20getComputedStyle%20(el%2C%20null)%3B%0D%0A%20%20w%20(sd.verticalAlign)%3B%0D%0A%22%20value%3DgetComputedStyle%3E%0D%0A%3Cinput%20type%3Dbutton%20onclick%3D%22%0D%0A%20%20var%20el%20%3D%20document.getElementsByTagName%20('p')%5B0%5D%3B%0D%0A%20%20var%20sd%20%3D%20el.currentStyle%3B%0D%0A%20%20w%20(sd.verticalAlign)%3B%0D%0A%22%20value%3DcurrentStyle%3E%0D%0A%3Cp%3Exxx;p=n;x=style-element</anchor-external></p><p><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>
<anchor-internal xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="3" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">&gt;&gt;3</anchor-internal> <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">Opera</anchor> 9 では、
<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>) を返します。
<code class="CSS" xml:lang="en">&lt;<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">length</anchor>&gt;</code> や <code class="CSS" xml:lang="en">&lt;<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">percentage</anchor>&gt;</code>
が指定されると、 <code class="DOMm" xml:lang="en"><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">getComputedStyle</anchor></code> では<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">算出値</anchor>
(<code class="CSS" xml:lang="en"><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">px</anchor></code>) を、 <code class="DOMa" xml:lang="en"><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">currentStyle</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>は常になぜか <code class="CSS" xml:lang="en"><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">px</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>)。</p><p><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">WinIE 6</anchor> は<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">指定値</anchor>を返します。</p><p><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">Firefox</anchor> 2 では、
<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>) を返します。
<code class="CSS" xml:lang="en">&lt;<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">length</anchor>&gt;</code> が指定されたら<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">算出値</anchor> (<code class="CSS" xml:lang="en"><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">px</anchor></code>)
を返します。 <code class="CSS" xml:lang="em">&lt;<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">percentage</anchor>&gt;</code> が指定されたら<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">指定値</anchor>を返します。</p><p><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>
<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">WinIE 6</anchor> は <code class="CSS" xml:lang="en"><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">auto</anchor></code> という値を認識します。
<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">初期値</anchor>はそれのようです。</p><comment-p xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:10:"><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">Firefox</anchor> 2 と <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">Opera</anchor> 9 は<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">宣言</anchor>ごと<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">無視</anchor>します。</comment-p><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>
<code class="CSS" xml:lang="en"><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">vertical-align</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>の
<code class="CSS" xml:lang="en"><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">line-height</anchor></code> に対するものと定義されています。
<code class="CSS" xml:lang="en"><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">line-height</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>
<code class="CSS" xml:lang="en"><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">normal</anchor></code> だったり
<code class="CSS" xml:lang="en">&lt;<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">number</anchor>&gt;</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:">百分率値</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:">Firefox</anchor> のような実装はそれなりに筋は通っています。
(<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">名無しさん</anchor>)</p></section></section></body></html>