4

しばらく前、私は HTML5 のw3c バリデーターを使用していて、非推奨のタグを置き換えるタグを試していました<tt>。この小さな例を入力しました:

<!DOCTYPE html>
<html>
<head><title>Valid tags inside other tags</title></head>
<body>

<p>Inside paragraph you cannot use <pre>preformated text</pre></p>

</body>
</html>

そして、このエラーが発生しました:

行 6、列 66: スコープ内に p 要素はありませんが、ap 終了タグが表示されます。

しかし、タグの<pre>タグを変更したところ<code>、エラーは発生しませんでした。

これは、段落内に事前に書式設定されたテキストを含めることができないためだと思いますが、正規表現または他のタグ内の有効なタグを指すことができるものを検索することができませんでした.

誰でもそのようなリソースを教えてもらえますか?

編集:

私はドキュメントを読むのが苦手で、ブロックレベルの要素を見ていないことがわかりました。では、問題は、有効なインライン要素と、他のブロック レベル要素内でブロック レベル要素を使用する方法をどのように知ることができるかということです。

4

1 に答える 1

4

HTML5 では、 と の古いカテゴリblockが拡張され、新しいコンテンツ モデルinlineに置き換えられました。との区別は、CSSでのみ重要になるようになりました。blockinline

仕様内の特定の要素を見ると、その要素が属するコンテンツ カテゴリのリスト、要素を使用できるカテゴリ、およびその子孫の許可されたコンテンツ モデルがあることがわかります。

p要素にはフレージング コンテンツのコンテンツ モデルがあるため、pre要素を含めることはできません。これは、フロー コンテンツが期待される場所でのみ使用できるためです。

于 2012-12-03T11:46:06.343 に答える