
hタグは h1,h2,h3,h4 の順に書くべきだと分かってはおりますが、
例えば以下のように、大きいコンテンツの中でh2ブロック→h3ブロックと続き、
h2ブロックは、いわゆるコンテンツの中の序章です。
その際、序章の中の小見出し(<●●●>部分)のタグはどうするのが適当でしょうか。
<h2>の中にいきなり<h4>は変ですよね。
<h2>の中の見出しも<h3>でしょうか?
そうした場合、<h2>の中にある<h3>と後から出てくる<h3>ブロックが
同レベルだと認識されてしまいませんでしょうか。
それとも<p>、<strong>、<div>等が適当でしょうか?
--------------------------------------
<h1>第1の見出し</h1>
<div id="contents">
<div class="section">
<h2>第2の見出し</h2>
<●●●>第2に関連する小見出し</●●●>
<p>テキストテキストテキスト</p>
<●●●>第2に関連する小見出し</●●●>
<p>テキストテキストテキスト</p>
</div>
<div class="section">
<h3>第3の見出し</h3>
<p>テキストテキストテキスト</p>
<h3>第3の見出し</h3>
<p>テキストテキストテキスト</p>
</div>
</div>
--------------------------------------
検索してもみたのですが「hタグは順番通りに書くべし」といった記事ばかり引っかかり
うまく見つけられませんでしたので、ここに質問させていただきます。
また、分かる方には基本なことかもしれませんが、
私も一応調べ、それでも分からなく質問しておりますので
「こんなこと基本的なこと」や「もっと勉強しろ」等の
攻撃的な文言は避けて頂きたくお願いします。
No.4ベストアンサー
- 回答日時:
No.2です。
サブタイトル、小見出しであれば<h1-6>に含めれば良いですが、
導入句を<p>で書くと、本文の1段落目なのか、導入句なのかの区別がつきません。
<h1>見出し <span>小見出し</span></h1>
<p>導入句</p>
<p>本文・・・
そこで、見出しと導入句を<div>で囲ってグループ化させます。
<div>
<h1>見出し <span>小見出し</span></h1>
<p>導入句</p>
</div>
<p>本文・・・
<p>本文・・・
このままでは見出しと本文が別のグループに入っているように見えます。
そこで、全体を1つのグループ化させます。
<div>
<div>
<h1>見出し <span>小見出し</span></h1>
<p>導入句</p>
</div>
<p>本文・・・
<p>本文・・・
</div>
さらに、各グループの呼び名を明示して完成です。
(必要があればフッター(footer)、補足・注釈(aside)などを追加)
<div class="section">
<div class="header">
<h1>見出し <span class="subtitle">小見出し</span></h1>
<p class="introduction">導入句</p>
</div>
<div class="main">
<p>本文・・・
<p>本文・・・
</div>
</div>
近い将来、本文を囲むグループに正式な名称(<main>タグ)ができるかもしれません。
No.6
- 回答日時:
> <h2>の中にいきなり<h4>は変ですよね。
劇的かどうかはわかりませんが、本来、国語や英語、小説では、
見出し1
見出し2
見出し3
見出し4
見出し5
と、区分(セクション)でわけていくと、勝手に「章」「節」「項」と別れてしまいます。
見出し1
見出し2
見出し3
見出し4
このように、2つめの見出しを2段下げて書いてみても、デザイン的に2段下がっているだけで、
それは「項」ではなく、「節の見出し」ということになります。
(2段階入れ子にしたセクションを1回の入れ子で入れる事はできませんから、(日本語での呼び方として)1段階下げた呼び方をする事になります。)
せいぜい、見出しなしで小さなセクションを作り、その中にさらに小さなセクションを入れ子にできる程度です。
見出し1
(見出しのない区分の本文)
見出し2
見出し3
見出し4
その国語や英語のルールをもとに、XHTML2(この規格は消滅しました)では、「ここからここまでが見出しである」という意味のタグ<h>があります。
<section>
<h>見出し1</h>
<section>
<h>見出し2</h>
<section>
<h>見出し3</h>
</section>
<section>
<h>見出し4</h>
</section>
<h>見出し5</h>
</section>
</section>
また、HTML5でも同様の方法として、<h1>だけでタグ付けができます。
<section>
<h1>見出し1</h1>
<section>
<h1>見出し2</h1>
<section>
<h1>見出し3</h1>
</section>
<section>
<h1>見出し4</h1>
</section>
<h1>見出し5</h1>
</section>
</section>
これらには「見出しのレベル」という概念はありませんので、
先に書いたように、「節(<h2>に相当する部分)」という区分をつくらずに、それより小さな「項(<h3>に相当する見出し)」を作る事はできません。
国語の書き方と同様に、単純に、「セクションが入れ子になっているから、その入れ子の度合いと同じレベルの見出しである」という意味になります。
この入れ子の度合いを、わざわざ明示しているのが<h2-6>です。
No.5
- 回答日時:
HTML4なのかHTML5なのかで考え方が大きく変わります。
ここではhtml5について書きますね。
><h2>の中にいきなり<h4>は変ですよね
これは、変というより、文法的に誤りです。
>hタグは順番通りに書くべし
基本はそうですが、HTMLの登場順で考えると、h1の後にh1が来る可能性があります。主さんの言うところの「レベル」とは、hタグで決定されるわけではありません。<section>タグなどの意味のあるタギングでレベルが認識されます。主さんがちゃんとした論理構造を書きたいという前提ならば「html5 アウトライン」で検索してみてください。劇的に考え方が変わるはずです。
「html5 アウトライン」で検索し色々ヒットしました。
実はXHTMLで書いていた(のを修正していた)のでHTML5ではなかったのですが、確かにHTML5の構造が参考になります。
ご回答ありがとうございました。
No.3
- 回答日時:
サブタイトル、小見出しに相当するものであれば<h1-6>に含めて、デザイン的な変更が必要であれば<span>で記述します。
キャッチコピーや概要、紹介文、導入句などに相当する物であれば、<p>で記述します。
導入句か小見出しかの区別がかなり曖昧だとは思いますが、SEOの問題もありますので、サブタイトルだけど<p>にする、導入句だけど<h1>に含める、ということもありえます。
<h1>でも<h2~6>でも基本は同じですので、<h1>で例えます。
------------------
<h1>どらえもん のび太と竜の騎士</h1>
------------------
<h1>どらえもん ~のび太と竜の騎士~</h1>
------------------
<h1>どらえもん:のび太と竜の騎士</h1>
------------------
<h1>どらえもん <span>~のび太と竜の騎士~</span></h1>
-----------------
<h1>どらえもん <br>
<span>~のび太と竜の騎士~</span></h1>
-----------------
<style>
h1 br {
display: none;
}
h1 span:before,
h1 span:after {
content: "~";
}
</style>
<h1>どらえもん <br>
<span>のび太と竜の騎士</span></h1>
------------------
<h1>劇場版TRICK <span>霊能力者バトルロイヤル</span></h1>
<p class="catchcopy">命がけのバトルロイヤル 生き残れるのはたった一人!?</p>
------------------
イントロダクションがタイトル・見出しより前に来る場合は、<div>で囲ってグループ化します。
(この程度ならスタイルシートで表示位置を入れ替える事もできますが。
<h1-6>が区切りの役目を持っていますので、特別に明示しなければならない理由や、デザイン的に必要でなければ<div>や<section>で区切る必要はありません。)
<div>
<p class="catchcopy">命がけのバトルロイヤル 生き残れるのはたった一人!?</p>
<h1>劇場版TRICK <span>霊能力者バトルロイヤル</span></h1>
<p>本文~</p>
</div>
------------------
HTML5解説サイトでhgroupが紹介されていると思います。
<hgroup>
<h1>ドラえもん</h1>
<h2>のび太と竜の騎士</h2>
</hgroup>
という書き方ができますが、hgroupは古いタグですので使わない方が良いです。
(新しいブラウザは<hgroup>を適切に解析、表示できます。)
結局の所、HTMLタグを使わずに「:」や「~」で区切るか、デザインを変えるのであれば<span>を使うことになりました。
つまるところ、HTMLにおいては、サブタイトル、小見出しという「概念」そのものがありません(hgroupの定義削除と同時になくなりました)。
http://www.w3.org/TR/html5/common-idioms.html#su …
==============
見出しと導入句が曖昧な物の例として。
私の解釈と作り方。
http://hpplus.jp/nonno/magazine/new
nonno 3月号
このデザインの場合は、
雑誌タイトルが『nonno』、雑誌サブタイトルが『2014年3月号』だと思うので、
HTMLの文法に厳格にするのであれば、
<h1>non no<span>2014 March</span></h1>
<p>春の早耳1500</p>
だと思いますが、
SEOを理由に、『3月号』はサブタイトルではなくフッター扱いにして、
<h1>non no <span>春の早耳1500</span></h1>
<footer>
<p>2014 March</p>
</footer>
という作り方にしてみます。
No.2
- 回答日時:
常に「あなたが機械(コンピューター)であって、自動的に文書構造から目次--アウトライン--を作成する作業をする」と考えれば良いです。
詳しくはHTML5の<section>要素と<hn></hn>要素の説明を読無と良いです。策定中のHTML5の仕様はHTML4.01で作成する場合にとっても良い参考になります。・「id属性及び class属性と併用することで、文書に構造を付加する(HTML4.01 http://www.asahi-net.or.jp/%7Esd5a-ucd/rec-html4 … )」
・「HTML5 では、文書をよりよく構造化するために、次の要素が新しく追加されました。(HTML5における・・ http://standards.mitsue.co.jp/resources/w3c/TR/h … )」
以下HTML5風に記述すると下記になります。HTML4.01の場合はそれぞれ<div class="header><div class="section">にすると考える。
<body>
<header>
<h1>ページタイトル</h1>
・・・・・・
</header>
<section>
<h2>本文見出し</h2>
・・・・・
<section>
<h3>1節見出し</h3>
・・・・・・
</section>
<section>
<h3>2節見出し</h3>
・・・・・・
<section>
<h4>2節1項見出し</h4>
・・・・・・
</section>
<aside>
<h4>補足記事</h4>
・・・本文と直接関係しない・・・
・・・アウトラインを構成しない・・
</aside>
</section>
</section>
<footer>
<h2>文書情報</h2>
</footer>
</body>
になりますね。
>そうした場合、<h2>の中にある<h3>と後から出てくる<h3>ブロックが同レベルだと認識されてしまいませんでしょうか。
そうなります。見出しの階層ではなく、sectionの階層に従いますから、
<body>
<header>
<h1>ページタイトル</h1>
・・・・・・
</header>
<section>
<h1>本文見出し</h1>
・・・・・
<section>
<h1>1節見出し</h1>
・・・・・・
</section>
<section>
<h1>2節見出し</h1>
・・・・・・
<section>
<h1>2節1項見出し</h1>
・・・・・・
</section>
<aside>
<h1>補足記事</h1>
・・・本文と直接関係しない・・・
・・・アウトラインを構成しない・・
</aside>
</section>
</section>
<footer>
<h1>文書情報</h1>
</footer>
</body>
と記述しても等価とされます。
--As far as their respective document outlines (their heading and section structures) are concerned, these two snippets are semantically equivalent:( http://www.w3.org/TR/html5/sections.html#the-h1, … )--
⇒4.3.6 The h1, h2, h3, h4, h5, and h6 elements( http://www.w3.org/TR/html5/sections.html#the-h1, … )
に同様のサンプルがあります。
それと、見出し要素をどのサイズで表示するかはプレゼンテーション--スタイルシートに関わる問題ですから、分けて考えます。
★HTML4.01版だと、見出し<h1~h6>は順序どおり書くことが推奨されますので・・
<body>
<div class="header">
<h1>ページタイトル</h1>
・・・・・・
</div>
<div class="section">
<h2>章見出し</h2>
<div class="section abstract">
<h3>要約</h3>
<p>この章の要約</p>
</div>
<div class="section">
<h3>1節見出し</h3>
・・・・・・
</div>
<div class="section">
<h3>2節見出し</h3>
・・・・・・
<div class="section">
<h4>2節1項見出し</h4>
・・・・・・
</div>
<aside>
<h4>補足記事</h4>
・・・本文と直接関係しない・・・
・・・アウトラインを構成しない・・
</aside>
</section>
<div class="section summary">
<h3>まとめ</h3>
<p>まとめ</p>
</div>
</div>
<div class="footer">
<h2>文書情報</h2>
</div>
</body>
そのうえで、abstractやsummaryのフォントを少し小さくしたければ、
div.section.abstract,div.section.summary{font-size:0.95em;}
とでもすれば良いです。
HTML自体、科学関係が出所ですから、科学技術論文のセオリー--Tex的な記述が参考になるでしょう。
No.1
- 回答日時:
第1、第2という呼び方ではなく、
巻、章、節、項、というレベル分けをしてみてください。
同じレベルの物は、<h1>、<h2>のレベル(数字)が同じになります。
<h1>第1巻の見出し</h1>
<h2>第1章の見出し</h2>
<h2>第2章の見出し</h2>
<h3>第1節の見出し</h3>
<h4>第1項の見出し</h4>
<h3>第2節の見出し</h3>
<h2>第3章の見出し</h2>
<h3>第1節の見出し</h3>
<h3>第2節の見出し</h3>
----------------
上記を(わかりにくくなるように)書き換えると以下のようになりますが、
章の区切り、節の区切りなどは<h1~6>で区別できます。
<h1>見出し1</h1>
<h2>見出し2</h2>
<h2>見出し2</h2>
<h3>見出し3</h3>
<h4>見出し4</h4>
<h3>見出し3</h3>
<h2>見出し2</h2>
<h3>見出し3</h3>
<h3>見出し3</h3>
---------------
>そうした場合、<h2>の中にある<h3>と後から出てくる<h3>ブロックが
>同レベルだと認識されてしまいませんでしょうか。
同じタグがついていれば、同じレベルだと認識されます。
違うレベルと認識してほしいのであれば、違うレベルのタグを付けてください。
この回答への補足
ありがとうございます。
巻、章、節、項、という分け方は分かりやすいですね。
ただ以下の様に、第2章の中で小見出しを付ける場合(<●●●>部分)、
talooさんでしたらどうされますでしょうか?
↓勝手ながらtalooさんがご記入いただいたソース追加させていただきました。
---------------------------------------
<h1>第1巻の見出し</h1>
<h2>第1章の見出し</h2>
<h2>第2章の見出し</h2>
<●●●>第2章の説明文に対する小見出し</●●●>
<p>第2章の説明文</p>
<●●●>第2章の説明文に対する小見出し</●●●>
<p>第2章の説明文</p>
<h3>第1節の見出し</h3>
<h4>第1項の見出し</h4>
<h3>第2節の見出し</h3>
<h2>第3章の見出し</h2>
<h3>第1節の見出し</h3>
<h3>第2節の見出し</h3>
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- HTML・CSS HTMLのdlとul どちらが正しいと思いますか 3 2023/02/23 11:20
- HTML・CSS FC2カートのテンプレートでの商品表示について 1 2023/03/02 18:05
- HTML・CSS html/cssで要素が出てこなくて困ってます 1 2022/12/31 16:59
- Perl RSSにdiv,ul classを付けたいのですがどのようにつけるのかわからないです 2 2022/03/28 01:53
- HTML・CSS サルワカさんの吹き出しのスタイルシートについて。 https://saruwakakun.com/h 2 2022/10/28 22:55
- PHP コメント機能に返信欄を矢印で追加したい 1 2022/05/09 21:17
- HTML・CSS ヘッダーの画像にメインエリアがかぶってしまいます 1 2022/11/28 14:06
- HTML・CSS テキストを画面の真ん中に配置したいです。 2 2022/11/25 16:11
- HTML・CSS htmlの文字が縦書きになる 2 2023/03/01 21:31
- HTML・CSS 吹き出し 下記の吹き出しのスタイルシートについて 下記のスタイルシートは左側にアイコンがでる使用にな 1 2022/11/12 17:55
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
HTML属性での「""」 「''」違い
-
htmlのolやulなどlistにtitleや...
-
複数のボタンを等間隔に、かつ...
-
divとpの使いわけ
-
<div id="container">の使いか...
-
hタグを使わずに小見出し
-
要素間、要素内に隙間が空く
-
html の divとtable の役割
-
div要素が重なってします
-
IE・NNの独自タグについて
-
htmlでdivをなるべく使わないで
-
align="middle"が無視される T...
-
レイアウトが崩れる・・・
-
htmlとcssの文章構造、これは正...
-
divの中に外部のHTMLを埋め込む
-
セクションをdivで囲むと見出し...
-
ヘッダーとフッターだけ背景を...
-
開始タグと終了タグについて
-
iframeを使わずに上下50%ずつに...
-
CSSを使って定型文を挿入できま...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
htmlのolやulなどlistにtitleや...
-
HTML属性での「""」 「''」違い
-
html の divとtable の役割
-
<div id="container">の使いか...
-
ヘッダーとフッターだけ背景を...
-
1時間30分を簡単に表したいで...
-
スペースを使わず文字位置を揃...
-
div要素が重なってします
-
divの中に外部のHTMLを埋め込む
-
複数のボタンを等間隔に、かつ...
-
min-heightとheightの違いについて
-
セクションをdivで囲むと見出し...
-
htmlでdivをなるべく使わないで
-
要素間、要素内に隙間が空く
-
ブログのサイドバーが下にくる
-
body>div{}の意味を知りたい
-
スライド部分のリンクが貼れな...
-
画面を縮小するとカラムが落ち...
-
htmlの見出しタグ(<h1>)の次...
-
インラインフレームのページ内...
おすすめ情報