web-dev-qa-db-ja.com

パディングトップが機能しない


なぜpadding-top仕事? divの高さが設定されます。

HTML:

<div class="menu">
    <a href="#">APIE MUS</a>
    <a href="#">REKLAMA</a>
    <a href="#">PARTNERIAI</a>
</div>

CSS:

 .menu {
      width: 300px;
      height: 30px;
      background: red;
 }
 .menu a {
      padding-top: 10px;
 }
25
Mantas Kudeikis

a, span, bなどのインライン要素にマージンを適用できないため、例(マージンあり)は機能しません。

見てみましょう:

問題を修正するには:

display:inline-block;を追加するだけです

この値(inline-block)により、要素はインラインレベルのブロックコンテナーを生成します。インラインブロックの内部はブロックボックスとしてフォーマットされ、要素自体はアトミックインラインレベルボックスとしてフォーマットされます。 出典:http://www.w3.org/TR/CSS2/visuren.html#inline-level

これで問題が解決します:

.menu a{
    margin-top: 10px;
    display:inline-block;
}
65
gearsdigital