Putting <div> inside <p> is adding an extra <p> [duplicate]
Question
から http://webdesign.about.com/od/htmltags/p/aadivtag.htm
<ブロッククオートHTML 4.0では、DIV要素はP要素のような他のブロック-レベル要素の内部にあることはできません。 しかし、HTML5では、DIV要素はPやDIVのような他のフローコンテンツ要素の中に見つけることができ、含むことができます。
フォームの中にこのようなものがあります。
<p> <label...> <input...> </p>
が、Railsがerror_explanationというdivで入力を自動生成すると、1つの段落が2つになり、Firebugで見るとこのようになっています。
<p> <label...> </p> <div...> <input...> </div> <p> </p>
また、単純に
<p> <div> test </div> </p>
も同じ問題が発生します ( JSFiddle として DOM にレンダリングされます。
<p> </p> <div> test </div> <p> </p>
どうして?
更新しました。 記事の著者にメールしたところ、適切な変更をしてくれました。
どのように解決するのですか?
からの 細かい仕様 :
p - 段落
[...]
許可されたコンテンツ
フレーズコンテンツ
そして、これは何かというと フレーズコンテンツ ? フレーズ内容 :
<ブロッククオート構成要素 フレージング要素 が混在している 通常の文字データ .
通常の文字データ は、まさに「マークアップされていないテキスト」です。 フレージング要素 は
a または em または 強い ... [他の要素の束は、どれも div ]
では
<p><div></div></p>
は有効なHTMLではありません。仕様書に記載されているタグの省略ルールに従って
<p>
タグは自動的に
<div>
タグによって自動的に閉じられ、その結果
</p>
タグにマッチする
<p>
. ブラウザはこれを修正するために、オープンな
<p>
タグの後に
<div>
:
<p></p><div></div><p></p>
を置くことはできません。
<div>
の中に
<p>
の中に記述し、様々なブラウザから一貫した結果を得ることができます。ブラウザに妥当なHTMLを提供すれば、より良い動作をするようになります。
を置くことができます。
<div>
の中に
<div>
に置き換えることができます。
<p>
を
<div class="p">
を追加し、適切なスタイルにすることで、望みのものを手に入れることができます。
about.comでのあなたの参照は、w3.orgでの仕様と一致しません。あなたの参照はあなたを惑わせます。
関連
-
[解決済み】divの高さを画面の残りスペースで埋めるようにする
-
[解決済み] 横型リストアイテム
-
[解決済み] div' コンテナに合わせて画像を自動リサイズするにはどうしたらいいですか?
-
[解決済み] divの中のテキストを縦に揃えるにはどうしたらいいですか?
-
[解決済み] divブロック内のテキストを(水平方向と垂直方向に)センタリングするにはどうすればよいですか?
-
[解決済み] localStorage、sessionStorage、session、cookieの違いは何ですか?
-
[解決済み] 親ディバイスの高さを指定せずに、子ディバイスの高さを100%にする方法は?
-
[解決済み] div内の画像の下に余分なスペースがある
-
[解決済み] アンカー内にdivを置くことは正しいことですか?
-
[解決済み】あるdivの上に別のdivを重ねる方法
最新
-
nginxです。[emerg] 0.0.0.0:80 への bind() に失敗しました (98: アドレスは既に使用中です)
-
htmlページでギリシャ文字を使うには
-
ピュアhtml+cssでの要素読み込み効果
-
純粋なhtml + cssで五輪を実現するサンプルコード
-
ナビゲーションバー・ドロップダウンメニューのHTML+CSSサンプルコード
-
タイピング効果を実現するピュアhtml+css
-
htmlの選択ボックスのプレースホルダー作成に関する質問
-
html css3 伸縮しない 画像表示効果
-
トップナビゲーションバーメニュー作成用HTML+CSS
-
html+css 実装 サイバーパンク風ボタン
おすすめ
-
[解決済み] ジャンボトロンのセンター出しは?
-
[解決済み] HTMLとCSSによるテーブルスクロール [重複]について
-
[解決済み] HTMLにPDFを埋め込むおすすめの方法とは?
-
[解決済み] CSSでdivのアスペクト比を維持する
-
[解決済み] 複数のノンブレイキングスペース("nbsp")ではなく、タブスペースを使用しますか?
-
[解決済み] ボディの高さをブラウザの高さの100%にする
-
[解決済み] mailto:を使ってメールの件名や内容を設定することはできますか?
-
[解決済み] テーブル内のテキストアラインクラス
-
[解決済み] localStorage、sessionStorage、session、cookieの違いは何ですか?
-
[解決済み] Why can't the <p> tag contain a <div> tag inside it?