web-dev-qa-db-ja.com

<link>タグにはtype = "text / css"が必要ですか?

<link rel="stylesheet" type="text/css" href=...>ではなく<link rel="stylesheet" href=...>を使用する必要があるかどうか疑問に思っていました。 rel="stylesheet"は、それがスタイルシートであるという情報をマークします。したがって、text/cssは、私が関係する限り、実際には何も追加しません。

とにかく、HTMLで使用されるスタイルシート形式はCSSだけです。ブラウザに対してtext/css 'say'とは何ですか?一部のWebサイトはtype="text/css"属性( http://www.jquery.com/ )を追加しているようですが、他のWebサイトは追加していません( http://www.youtube .com / )。

それで、type="text/css"要素で<link rel="stylesheet">を使用することは何ですか?それを含める必要がありますか?

184
pimvdb

HTML5仕様では必要ありませんが、HTMLの古いバージョンでは必要です。

Html 4 W3.org spec

http://www.w3.org/TR/html40/struct/links.html#edef-LINKhttp://www.w3.org/TR/html40/present/ styles.html

タイプは、スタイルシートのMIMEタイプを表します。私が今まで見た唯一のサポートされている値は、おそらくHTML5がそれを落とした理由であるText/CSSです。私は彼らが以前のバージョンでそれがあったことを想像しました。

HTML5を使用し、タイプを指定せずに、IEの古いバージョンをテストする場合でも、互換性に関する問題はこれまでのところ発生していません。

144
Tom Gullen

必須ではありません。

興味のあるHTML Living Standardの部分は link要素 です。

link要素には、rel属性またはitemprop属性のいずれかが必要ですが、両方は必要ありません。

type属性は、リンクされたリソースのMIMEタイプを提供します。それは純粋に助言です。値は有効なMIMEタイプの文字列である必要があります。

外部リソースリンクの場合、type属性はユーザーエージェントへのヒントとして使用されます...

29
alexmuller

私の理解では、text/css以外の形式でスタイルシートを指定できるようにすることです。

これは(X)HTMLドキュメントのスタイルシートの主要な(および標準の)配信形式になりましたが、実際には仕様はさまざまなMIMEタイプを渡すことができるほど十分に広いので、標準ブラウザでは実装されていません。

4
GShenanigan

HTML4.01は、 type 属性を <link> タグに必要としません。仕様によれば、type属性はブラウザへのヒントです。ブラウザがヒントコンテンツタイプをサポートしていない場合、ブラウザは取得をスキップできます。

タイプ=コンテンツタイプ[CI]

この属性は、リンクターゲットアドレスで利用可能なコンテンツのコンテンツタイプに関する助言的なヒントを提供します。ユーザーエージェントは、サポートしていないコンテンツタイプでコンテンツを取得することが推奨されている場合、コンテンツを取得するのではなく、フォールバックメカニズムを使用することを選択できます。

この属性を使用する作成者は、リンクターゲットアドレスで利用可能なコンテンツと矛盾する可能性があるリスクを管理する責任を負います。

  • 注:<link>は、type属性の<a>の定義に従います。
3
cpburnz

ほとんどの人には関係ありませんが、一部のシステム(少なくともMicrosoft SharePoint 2013)は、HTMLの処理方法を検討するとき(たとえば、.masterページファイルを作成するとき)にこのtype属性を使用します。

1

いいえ、MIMEタイプを表すだけで、HTMLで非推奨になりました。ブラウザの互換性なしに使用することはできません。

0
prasen sinha