XHTML 1.0 StrictやXHTML 1.1ではいくつかの要素・属性が廃止されている。これらは「非推奨要素・属性」と呼ばれ、主に視覚表現に関するものであるため、シンプル&クリーンなXHTMLのためには使わないほうがよい。前回に引き続き、非推奨属性の代替方法を見ていこう。
11. (html要素)version属性
html要素のversion属性は、厳密にはその機能をそのまま代替する方法は存在しないが、文書型宣言を指定することで代替される。
[XHTML 1.0 Transitional/Frameset] <html version="XHTML 1.0 Transitional">
|
[XHTML 1.0 Strict/1.1] <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
|
12. (img、object要素)align、border、hspace、vspace属性
img、object要素のalign属性は、値が「top」「middle」「bottom」の場合はCSSのvertical-alignプロパティで、値が「left」「right」の場合はfloatプロパティで代替する。border属性はborderプロパティで、hspace属性とvspace属性はmarginプロパティで代替する。
[XHTML 1.0 Transitional/Frameset] <img src="images/logo.gif" alt="サイバーガーデン" align="middle" border="2" hspace="10" vspace="5" />
|
[XHTML 1.0 Strict/1.1] img { vertical-align: middle; border: 2px solid; margin: 5px 10px; } : : <img src="images/logo.gif" alt="サイバーガーデン" />
|
13. (input要素)align属性
input要素のalign属性は、値が「top」「middle」「bottom」の場合はCSSのvertical-alignプロパティで、値が「left」「right」の場合はfloatプロパティ代替する。
[XHTML 1.0 Transitional/Frameset] <input type="text" value="" size="30" align="middle" />
|
[XHTML 1.0 Strict/1.1] input { vertical-align: middle; }
|
14. (legend要素)align属性
legend要素のalign属性には代替する方法はない。
15. (li要素)type、value属性
li要素のtype属性は、CSSのlist-style-typeプロパティを、id/classを割り当てたli要素に適用して代替する。value属性には代替する方法はない。
[XHTML 1.0 Transitional/Frameset] <ul> <li type="disc">項目1</li> <li type="circle">項目2</li> <li type="square">項目3</li> </ul>
|
[XHTML 1.0 Strict/1.1] li.di { list-style-type: disc; } li.ci { list-style-type: circle; } li.sq { list-style-type: square; } : : <ul> <li class="di">項目1</li> <li class="ci">項目2</li> <li class="sq">項目3</li> </ul>
|
16. (link要素)target属性
link要素のtarget属性には代替する方法はない。
17. (map要素)name属性
map要素のname属性は、id属性で代替する。ただし、XHTML 1.0では後方互換性を考慮してname属性とid属性の両方を指定し、XHTML
1.1ではid属性のみを指定するという点に違いがある。
[XHTML 1.0 Strict/Transitional/Frameset] <map name="c001" id="c001">
|
[XHTML 1.0 Strict/1.1] <map id="c001">
|
18. (ol要素)compact、start、type属性
ol要素のcompact属性とstart属性には代替する方法はない。type属性は、CSSのlist-style-typeプロパティで代替する。
[XHTML 1.0 Transitional/Frameset] <ol type="1"> <li>項目1</li> <li>項目2</li> <li>項目3</li> </ol>
|
[XHTML 1.0 Strict/1.1] ol { list-style-type: decimal; }
|
19. (pre要素)width属性
pre要素のwidth属性は、その機能をそのまま代替する方法は存在しないが、CSSのwidthプロパティを指定し、包含ブロックの幅を制限することで代替する(値をem単位で指定するとより近い代替となる)。
[XHTML 1.0 Transitional/Frameset] <pre width="50">>
|
[XHTML 1.0 Strict/1.1] pre { width: 50em; }
|
20. (script要素)language属性
script要素のlanguage属性は、その機能をそのまま代替する方法は存在しないが、type属性を指定することで代替される。
[XHTML 1.0 Transitional/Frameset] <script language="JavaScript1.2">
|
[XHTML 1.0 Strict/1.1] <script type="text/javascript">
|
では、次回も非推奨属性の代替方法を見ていくことにする。