position: absolute; を指定した際に、margin-bottom が効きません。どうすればよいですか?
HTML
<div class="hoge"> <span class="box-title">タイトルです。ここが長すぎると改行され、本文と文字が被って困ってます</span> <p class="box-text">本文です。</p> </div>
CSS
.hoge { position: relative; margin: 2em 0; padding: 1em 1em; border: solid 3px; border-radius: 8px; } .hoge .box-title { position: absolute; margin-bottom: 1em; display: inline-block; top: -13px; left: 10px; padding: 0em 9px; line-height: 1; font-size: 20px; background: #FFF; font-weight: bold; } .hoge .box-text { margin: 0; padding: 0; }
詳細
- 「.hoge .box-title」の「margin-bottom: 1em;」が効きません。
- そのため、<span class="box-title">の値が長く、改行される場合は、「タイトル」と「本文」がかぶってしまいます。
- 「.hoge .box-text」で「margin-top: 1em; 」を指定すると、margin が効きます。
- 「タイトル」が長く、2行になる場合は綺麗に表示されます
- 「タイトル」が短く、1行になる場合は、余計な margin 1em 分が入ります。
回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2022/06/27 05:07 編集