お世話になります。
olを使用したリストの入れ子で、1-1、1-2などの番号を
振る方法はないでしょうか。
例で言いますと、
<ol>
<li>A
<ol>
<li>AA</li>
<li>AB</li>
</ol>
</li>
</ol>
…等とすると、
1.A
1-1.AA
1-2.AB
のように表示させたいのですが、このように、
入れ子の数に対して、「1-3-1」とか『2-A-1-1』などの
番号を振る方法とは、ありますでしょうか。
もしあるのであればご教授ください。
よろしくお願いいたします。
No.1ベストアンサー
- 回答日時:
最近のブラウザであればこんな書き方ができるようです
<style>
ol {counter-reset:item;}
ol >li{list-style:none;}
ol >li:before {
content : counters(item, '-') '. ';
counter-increment : item;
}
</style>
<ol>
<li>A
<ol>
<li>AA
<ol>
<li>AAA</li>
<li>AAB</li>
</ol>
</li>
<li>AB
<ol>
<li>ABA</li>
<li>ABB</li>
</ol>
</li>
<li>AC</li>
</ol>
</li>
</ol>
>『2-A-1-1』など
どのようなロジックで「A」が出現するか確定できないので難しいと思います。
実際IEとかでは難しいかもしれないので、運用は難しいですね
真剣にやるならjavascriptなどでやることになるかもしれません
早速のご返答、ありがとうございました。
cssでできるというのは解ったのですが、
ブラウザに依存するというのではやはり
思ったようにはできなそうです。
タグのみでできるのが理想だったのですが、
残念です。
ここでいうことではないかもしれませんが、
cssでなく、タグで標準機脳としてもあって
よいような気もします。
ありがとうございました。
No.2
- 回答日時:
olにはわざわざ番号を振ることはないですが、h1~h6には階層の番号を振りますね。
第1節第2章2項 とか。
[Element]:beforeセレクタ
とcontent:(内容の追加プロパティ)
と、counterを使います。
⇒4.3.5 カウンタ(Counters)( http://www.swlab.it.okayama-u.ac.jp/man/rec-css2 … )
⇒12.5 カウンタと自動番号振り(Automatic counters and numbering)( http://www.swlab.it.okayama-u.ac.jp/man/rec-css2 … )
⇒12.5.1 カウンタの入れ子と作用範囲(Nested counters and scope)( http://www.swlab.it.okayama-u.ac.jp/man/rec-css2 … )
が資料になります。
ポイントは、カウンターリセットは、カウントする自身では出来ないので、
<ol>
<li> ol liでサブ項目のカウントをリセットする。
<ol>
<li></li> ol li ol li でカウントする。
<li></li>
</ol>
</li>
ようにすれば良いでしょう。
/*見出しのナンバリング */
body ol {
counter-reset: chapter; /* あらかじめリセットしておく必要がある */
}
body ol ol{
counter-reset: section; /*ol li ol li:before ではなく ここでリセットしなければならない */
}
body ol ol ol{
counter-reset: sub_section; /* ol ol ol li:before ではなく h2 でリセットしなければならない */
}
body ol li:before {
content: counter(chapter) "-";
counter-increment: chapter 1;
}
body ol li ol li:before {
content: counter(chapter) "-" counter(section) "-";
counter-increment: section 1;
}
body ol li ol li ol li:before {
content: counter(chapter) "-" counter(section) "-"counter(sub_section) "-";
counter-increment: sub_section 1;
}
とか・・テストしてません。
早速のご返答、ありがとうございました。
ブラウザ依存ということで、今回は使用を
見送りましたが、参考にさせていただきました。
ありがとうございました。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
関連するカテゴリからQ&Aを探す
おすすめ情報
- ・漫画をレンタルでお得に読める!
- ・人生のプチ美学を教えてください!!
- ・10秒目をつむったら…
- ・あなたの習慣について教えてください!!
- ・牛、豚、鶏、どれか一つ食べられなくなるとしたら?
- ・【大喜利】【投稿~9/18】 おとぎ話『桃太郎』の知られざるエピソード
- ・街中で見かけて「グッときた人」の思い出
- ・「一気に最後まで読んだ」本、教えて下さい!
- ・幼稚園時代「何組」でしたか?
- ・激凹みから立ち直る方法
- ・1つだけ過去を変えられるとしたら?
- ・【あるあるbot連動企画】あるあるbotに投稿したけど採用されなかったあるある募集
- ・【あるあるbot連動企画】フォロワー20万人のアカウントであなたのあるあるを披露してみませんか?
- ・映画のエンドロール観る派?観ない派?
- ・海外旅行から帰ってきたら、まず何を食べる?
- ・誕生日にもらった意外なもの
- ・天使と悪魔選手権
- ・ちょっと先の未来クイズ第2問
- ・【大喜利】【投稿~9/7】 ロボットの住む世界で流行ってる罰ゲームとは?
- ・推しミネラルウォーターはありますか?
- ・都道府県穴埋めゲーム
- ・この人頭いいなと思ったエピソード
- ・準・究極の選択
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
リストの数字のフォントサイズ...
-
html/cssの、navを2段にする...
-
divタグ内のコンテンツが重なっ...
-
liタグの中に<p>タグやら<dl>を...
-
ボタンを横に並べて表示させる方法
-
ulタグやliタグの中でbrタグ...
-
<table>の高さ固定。情報増加時...
-
レスポンシブWebデザインでリン...
-
html <ul></ul>の並びで一行空...
-
メニューの横並びで改行されて...
-
リストマーカーをボックス内に...
-
HTMLタグ リストの入れ子とNet...
-
IE6でどうしても隙間が空いてし...
-
ページを開いているときのリン...
-
箇条書きがずれて表示されてし...
-
CSSでこんな感じにしたい
-
横並びのリストで左端がはみ出る
-
テーブルを使わない段組みで
-
アコーディオンメニューがかく...
-
アンカーにクラスを適用しての...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
html/cssの、navを2段にする...
-
リストマーカーをボックス内に...
-
リストの数字のフォントサイズ...
-
<ul><li></li></ul>にするメリ...
-
ulタグやliタグの中でbrタグ...
-
レスポンシブWebデザインでリン...
-
<ul>~</ul>が二つ続くと間に改...
-
HTML5のfooterに見出しを付けて...
-
htmlの<ol>タグで、数字などを...
-
ulとliで囲った文字の一部を変...
-
番号付きリスト(<Ol><Li>・・...
-
HTMLで組織図を作成する方法
-
複数行にまたがる括弧を表示し...
-
liタグの中に<p>タグやら<dl>を...
-
display:table;を多段表示させたい
-
divタグ内のコンテンツが重なっ...
-
<table>の高さ固定。情報増加時...
-
html <ul></ul>の並びで一行空...
-
テーブル内のプルダウンの下に...
-
【至急】ul li 行間調整ができ...
おすすめ情報