階層表示 / ウィキペディア(Wikipedia)方式

CSS

階層単位で左余白を空けたい

 状態:-  閲覧数:1,829  投稿日:2017-12-31  更新日:2017-12-31
案1.一般兄弟セレクタ
案2.マイナスmargin

全ての対象行がタグで囲われている場合


「案1.一般兄弟セレクタ」を使用
指定兄弟要素(h1~h5タグ何れか)のmarginを取得して、指定要素に適用させたい

全ての対象行がタグで囲われていない場合は、「案2.マイナスmargin」を使用

 閲覧数:660 投稿日:2017-12-31 更新日:2017-12-31

全ての対象行がタグで囲われていない場合


例えば下記のようなケース
<div>
 <h3></h3>
 <b><b>
 ・この行(文字列)単位でのタグは適用されていない
</div>


案2.マイナスmargin


1.全体で左余白を空ける
div {
 margin-left: 3rem;
}


2.階層単位で余白を空けたい要素にマイナスmarginを適用
div h3 {
 margin-left: -2rem;
}
div b {
 margin-left: -1rem;
}


何やってるの?


逆転の発想
・「・この行(文字列)単位でのタグは適用されていない」だけにmargin適用できないため、全体を移動し基準となる位置自体を変更している

直接の子要素に限定していた方が無難かも


HTML
<main>
 <h3></h3>
 <b><b>
 ・この行(文字列)単位でのタグは適用されていない
</main>

CSS

main {
margin-left: 3rem;
}
main > h3 {
 margin-left: -2rem;
}
main > b {
 margin-left: -1rem;
}



display:flexのorderプロパティを使用すると、「:first-child」「:last-child」「隣接兄弟結合子」の効果は上書きされる

100/7%ではなく100%/7。(100/7)%ではなく(100%/7)



週間人気ページランキング / 8-14 → 8-20
順位 ページタイトル抜粋 アクセス数
1 Design 0 5
2 キャラクター無料作成ジェネレーター / FLASH / オンラインサービス | イラスト参考(デザイン) 4
3 Adobe Camera Raw 4.0 | Photoshop 3
3 PNG画像透明化問題 | 画像 3
3 Chromeで(TikTokなど)特定Webサイトの音を消すには、該当タブを右クリック後、「サイトをミュート」をクリックします。 | Google Chrome(ブラウザ) 3
3 「レイアウト崩れ」がどうしても解決しない → Chrome「デベロッパーツール」で怪しいと思った要素を、正常表示されるまで削除し続けていく | CSSトラブル対応(CSS) 3
4 「Google Chrome」を経由したダウンロード個人ルール。「HTTrack Website Copier」とパッケージ化されていない拡張機能「Save As MHT 20220426」の 2 種類 | Google Chrome(ブラウザ) 2
4 8ビットカラー / インデックスカラー / パレットカラー 2
4 GIMPで「レイヤーとして開く」を選択した画像、の位置情報(x,y)を表示させる方法が分からない | GIMP 系(ソフトウェア) 2
4 鉄道会社毎のカラーコード | カラーコード(色) 2
4 金融機関ブランドカラー / コーポレートカラー | カラーコード(色) 2
4 Chromeブラウザは、ユーザーという単位で情報管理している(Cookieを使用する場面もあるが、必ずしもCookieだけに頼っているわけではない) | Google Chrome(ブラウザ) 2
4 コンソールエラー / ブラウザ間差異 | ブラウザ 2
4 「transform:translate3d();」でスマホ実機画面が一瞬だけチラつく → 「backface-visibility:hidden;」指定すると解消される | CSSトラブル対応(CSS) 2
4 Fireworks で背景画像透明化 | Fireworks CS3(Fireworks) 2
5 このエントリーの結論 / 主な機能と使い方 / 補足 1
5 Material Design 2014 年 | Material Design(色) 1
5 invalid property value css background-color | CSS 1
5 不特定多数投稿 1
5 ボタンクリック出来ない → 「display-inline;」を「display:inline-block;」へ変更 | CSSトラブル対応(CSS) 1
2026/8/21 5:05 更新