6

Google Web Fonts を使用しようとしていますが、公式サイトでは、次のように属性を含むタグを使用することを推奨しています。<link>type

<link href='http://fonts.googleapis.com/css?family=Ubuntu:400,700' rel='stylesheet' type='text/css'>`

公式の HTML5 ボイラープレート サイトでは、type属性を省略しています

<link rel="stylesheet" href="http://fonts.googleapis.com/css?family=Open+Sans:400,700">

このかなり古い回答によると、HTML5 では、type属性はタグではオプションであり、<style>タグでは必須<link>です。

ただし、属性のないバージョンは、 W3C バリデーターtypeで正常に検証されます。

それで、type属性は必須ですか?

4

2 に答える 2

6

公式の W3C HTML5 ドラフトで答えを見つけました:

type 属性は、リンクされたリソースの MIME タイプを示します。これは単なる助言です。値は有効な MIME タイプでなければなりません。

外部リソース リンクの場合、 type 属性はユーザー エージェントへのヒントとして使用されるため、ユーザー エージェントはサポートしていないリソースを取得することを回避できます。属性が存在する場合、ユーザー エージェントは、リソースが指定されたタイプであると想定する必要があります (たとえそれが有効な MIME タイプでなくても、たとえば空の文字列でも)。属性が省略されているが、外部リソース リンク タイプにデフォルト タイプが定義されている場合、ユーザー エージェントはリソースがそのタイプであると想定する必要があります。(...)

ユーザー エージェントは type 属性を正式なものと見なしてはなりません — リソースをフェッチする際に、ユーザー エージェントは type 属性を使用してその実際のタイプを決定してはなりません。実際のタイプのみ (...)。

スタイルシート リンク タイプは、リソースの Content-Type メタデータを処理するためのルールを定義します。(...)

ドキュメントに次のようなラベルの付いたスタイル シート リンクが含まれている場合:

 <link rel="stylesheet" href="A" type="text/plain">
 <link rel="stylesheet" href="B" type="text/css">
 <link rel="stylesheet" href="C">

...次に、CSS スタイル シートのみをサポートする準拠 UA は、B および C ファイルをフェッチし、A ファイルをスキップします (text/plain は CSS スタイル シートの MIME タイプではないため)。

ファイル B と C については、サーバーから返された実際のタイプを確認します。text/css として送信されたものにはスタイルが適用されますが、text/plain やその他のタイプのラベルが付いたものには適用されません。

2 つのファイルのいずれかが Content-Type メタデータなしで返された場合、または Content-Type: "null" のような構文的に正しくないタイプで返された場合、スタイルシート リンクのデフォルト タイプが開始されます。デフォルト タイプは text/css であるため、それでもスタイルシートは適用されます。

属性については<style>、同じドキュメントに次のように記載されています。

type 属性はスタイリング言語を指定します。属性が存在する場合、その値はスタイリング言語を指定する有効な MIME タイプでなければなりません。charset パラメータは指定しないでください。属性が存在しない場合に使用される type 属性のデフォルト値は、「text/css」です。[RFC2318]

于 2013-07-09T17:35:15.823 に答える
0

私はそれが必須ではないと<style>思います<style type="text/css">.<script><script type="text/javascript"

于 2013-07-09T17:46:35.390 に答える