<p> marks one paragraph — a meaningful chunk of text. Use <br> only for a visual line break, and <p> when you want to separate ideas.
<p> は“文章のひとかたまり”を示すタグで、見た目の改行ではなく“意味の区切り”を伝えるために使う — 改行だけなら <br>, 内容を分けるなら <p> が基本です。
<p> は「段落(ひとまとまりの文)」を示すタグ。<br>、内容を分けるなら <p>。<p>...</p> と閉じる(自動で閉じられると構造が乱れやすいため)。<p> の中にはブロック要素を入れない(入れると勝手に閉じられる)。<br> と違い、<p> は「ここから新しいトピックが始まる」という論理情報を持ちます。HTML
<p>これは最初の段落です。</p>
<p>続く段落は別のアイデアを述べています。</p>
これは最初の段落です。
続く段落は別のアイデアを述べています。
省略形 : <p> は開始タグが必須で、終了タグは省略可能です(次にブロック要素などが来た時点で自動的に閉じられます)。ただし、意図しない自動終了を避けるため常に </p> を書くことをおすすめします。
ブラウザは <p> をブロック要素として表示します。標準のスタイルでは前後に上下1emほどの余白がつきます。
行の高さ(line-height)はユーザーやフォントにより変わります(よくある初期値は1.2前後)。
マージンの折り畳み(margin collapsing):隣接する段落の上下マージンは 1 つに“重なる”ため、意図より余白が小さく見えることがあります。
<p class="title"><h1>-<h6> を使用。スクリーンリーダが文書階層を誤認します。<ul><li>…</li></ul> が適切。意味付けが欠落すると SEO にも不利。p は “汎用コンテナ” ではありません。<div>・<section>・<article> 等を段落内に含めるとパーサが自動で </p> を挿入し、意図しない階層崩れが起こります。<br> 多用は可読性を損ないます。role を付ける必要はありません(デフォルトの意味で十分です)。<p> 自体に特別な構造化データの型はありません。記事本文などの親要素(例:<article>)に articleBody 等で意味を持たせると、検索エンジンに構造を伝えやすくなります。フォームでは、説明文や補足テキストに <p> を使って読みやすく区切るのは良いアイデアです。必須ではありませんが、<label> の関連付け(for と id)の方が重要です。
container-type: inline-size; を指定すれば、幅に応じ文字サイズや列数を変えられる。p に view-transition-name を付けてページ間の差分をスムーズにアニメーション。p 行内でアンカー基準に表示するなど、インライン-レベルでも柔軟に配置。align, clear, compact などは HTML 4.01 旧来属性。CSS へ置換が必須。<slot>p が 暗黙終了 しやすいので、テンプレート側は div を用い意図しない閉じタグ挿入を回避。HTMLParagraphElement インタフェースを実装。document.createElement('p') で生成可能。型判定は instanceof HTMLParagraphElement。p { break-inside: avoid; } を優先して使います(古いブラウザ向けに page-break-inside: avoid; を併記してもOK)。text-indent が書字方向(inline-start)に沿って働くため、通常はそのままでOKです。縦書きやRTLでも論理方向に追従します。HTML
<p>
「p 要素」は単なる視覚上の改行ではなく、論理構造を明示するための
セマンティックなタグです。スクリーンリーダーは段落の境界で
ポーズを入れます。検索エンジンにも段落の区切りが伝わりやすくなります。
</p>
<p>
Container Queries を併用すると、段落幅が
45 文字未満になった瞬間自動的に字下げを解除する――
といった高次な制御も容易です。
</p>
CSS
p {
line-height: 1.8;
max-width: 60ch;
margin-inline: auto;
}
p::first-letter {
font-size: 2.4em;
font-weight: 700;
}
「p 要素」は単なる視覚上の改行ではなく、論理構造を明示するための セマンティックなタグです。スクリーンリーダーは段落の境界で ポーズを入れます。検索エンジンにも段落の区切りが伝わりやすくなります。
Container Queries を併用すると、段落幅が 45 文字未満になった瞬間自動的に字下げを解除する―― といった高次な制御も容易です。
<br> でいい?<br>。内容を区切るなら <p> が基本です。<p> の終了タグは省略してもいい?<p> の中に <div> を入れていい?</p> を挿入し、構造が崩れます。padding-block を入れる等で回避できます。max-width: 60–70ch がよく使われます。<p>の中に<div>を入れた</p>を自動挿入。構造が崩れる原因。<p>を連発<br>で。margin-blockかマージン折り畳みを調整。親側paddingで安定させる。