web-dev-qa-db-ja.com

html <COL align>は非推奨ですか?

<COL>要素を使用して列を整列するW3Schoolsデモ

<table width="100%" border="1">
  <col align="left" />
  <col align="left" />
  <col align="right" />
  <tr>
    <th>ISBN</th>
    <th>Title</th>
    <th>Price</th>
  </tr>
  <tr>
    <td>3476896</td>
    <td>My first HTML</td>
    <td>$53</td>
  </tr>
</table>

そして、それのブラウザのレンダリングは勇気づけられません:

Chrome(10.0.648.127):
enter image description here

FireFox(3.6.8):
enter image description here

Internet Explorer 9(標準モード):
enter image description here

Internet Explorer 8(標準モード):
enter image description here

Internet Explorer 7(標準モード):
enter image description here

Internet Explorer(癖モード): enter image description here

<COL align>がブラウザで動作するために使用され、機能が削除されたie8で。 (そして、Chromeは、すべてのものの完璧な調停者であるという立場で、それをサポートしていません。)

これは、<COL align>想定されていないものであるかどうか疑問に思います。

<COL align>は非推奨になりましたか?


アップデートワン

正式に廃止されていないことを理解しています。しかし、ブラウザがそれをサポートするために使用したという事実、そして停止それをサポートする私が見逃しているいくつかの歴史的な物語があると私に信じさせます。 IEからのcol alignサポートの意図的な削除、および他のブラウザーからのサポートの継続的な欠如は、何かが起こっていることを示していると思います。

アップデート2

<COL>のすべての機能がサポートされていないと誤って想定していたため、<COL>自体はサポートされていません。私が試していた唯一の属性が機能していないので、要素が機能していないと誤って想定しました。これは私の間違いでした。後から考えると、ishouldは、「COLalign」が非推奨かどうかを尋ねました(これは非推奨です)。

私の弁護では、「もう」機能していない例が示されていると思いました。

も参照してください

24
Ian Boyd

はい、<col />align属性はHTML5に表示されなくなりました。 スペックを言う!

また、<col />タグでCSSを使用して同様の結果を達成することはできないことに注意してください。 style属性(またはidclassなどから誘導されたスタイル)は、列自体に適切に適用されるプロパティのみを考慮します。つまり、各<td />にはテキストコンテンツを含めることができるため、text-align setなどの属性を含めることができますが、<col />要素にはテキストが含まれないため、テキストレベルのスタイルは適用されません。 (background-colorのようなブロックレベルのものはまだ機能します。)

ただし、colspanまたはrowspanを含まない基本的なケースでは、CSS疑似クラス<td />を使用して、:nth-of-typesのブロック(つまり、ある意味で「列」)を選択できます。例えば。テーブルの3番目の列をクラスc3で中央揃えにするには

table.c3 td:nth-of-type(3) { text-align: center; }

OPによる編集:

From HTML標準

15廃止された機能
15.2不適合機能

次の属性は廃止されており(要素はまだ言語の一部ですが)、作成者が使用してはなりません。
align on col 要素
.。

代わりにCSSを使用してください。

WHATWG wikiは、さまざまな廃止された プレゼンテーション属性 のいくつかの推奨される代替案を提供します。

Attribute              CSS equivalent
=====================  =====================================
align on col elements  'text-align' on the appropriate td/th
27
Domenic

試してみてください

<!doctype html>
<html>
  <head>
    <title>Table</title>
    <style>
      table.foo td:nth-of-type(2) {
        font-style: italic;
      }
    </style>
  </head>
  <body>
    <table class="foo">
      <thead>
        <tr> <th>first</th> <th>second</th> </tr>
      </thead>
      <tbody>
        <tr> <td>bar</td> <td>baz</td> </tr>
        <tr> <td>bim</td> <td>buh</td> </tr>
      </tbody>
    </table>
  </body>
<html>

どの としてレンダリング

enter image description here

4
bastian

<col>タグは非推奨ではありません。

参照: <col>タグを正しく使用する方法と、すべてのブラウザーでサポートされていますか? この回答は、その使用法を明確にし、問題のいくつかを説明していると思います。

これはXHTMLおよびHTML5の一部です。 http://www.tutorialspoint.com/html5/html5_tags.htm

2
Brad

[編集]うーん、あなたは質問を変更して、特にalignプロパティを参照しました。

いいえ、廃止されていません。ブラウザのサポートはありますが、実装と範囲はさまざまです。私が実際にそれを使用して得た唯一のクロスブラウザーの成功は、列全体の幅を設定することでした。

W3からのメモ:

  • Firefox、Chrome、およびSafariは、colgroup要素のspan属性とwidth属性のみをサポートします。
  • Firefoxでは[col要素の] width属性のみが機能します(他の属性は機能しません)。
1
canon

HTML仕様の2番目の例の表によると、colgroupタグがないにもかかわらず、colgroupです。

http://www.w3.org/TR/html4/struct/tables.html#h-11.4.1

0
user2807024

マークアップを意味的に意味のあるものにするために、 <col>タグを<colgroup>に置き換える を検討しましたか?

<col>は純粋にスタイル設定に使用されますが、<colgroup>は関連する列をグループ化するために使用できます(おそらくこれが、2つを左に揃える理由です)。次に、CSSをさまざまなcolgroupに適用してスタイルを設定できます。それに応じて。

いいえ、そうではありません。html4仕様とhtml5仕様の両方の一部です。

http://www.w3.org/TR/html401/struct/tables.html#h-11.2.4.2

http://dev.w3.org/html5/markup/col.html

http://www.html-5.com/tags/col-tag/

0