浜松のWEBシステム開発・スマートフォンアプリ開発・RTK-GNSS関連の開発はお任せください
株式会社シーポイントラボ
TEL:053-543-9889
営業時間:9:00~18:00(月〜金)
住所:静岡県浜松市中区富塚町1933-1 佐鳴湖パークタウンサウス2F

親子間でブロック要素が配置されているとinline-blockがきかない

ボタンを横並びにして並べたいときは、display: inline-block;プロパティで

インラインブロックに変換するのが定説ですが、間にdivが挟んであると効かなくなってしまいます。

これは、挟まれているdivがブロック要素のため親からのinline-blockプロパティの効果を

遮断された状態になるためです。

適用したい場合は、divを取っ払ってください。

間違ったhtml↓

<div className='buttons'>
  <div className="basic-button-box">
    <Button className={props.styles} modifier="large" onClick={props.click} disabled={props.flag}>{props.text}<div className="right-arrow-box"><i class={props.svg} icon={{default: props.defaultSVG}} style={{color: "#fff", fontSize: props.fontSize}}></i></div></Button>
  </div>
</div>

正しいhtml↓

<div className='buttons'>
  <Button className={props.styles} modifier="large" onClick={props.click} disabled={props.flag}>{props.text}<div className="right-arrow-box"><i class={props.svg} icon={{default: props.defaultSVG}} style={{color: "#fff", fontSize: props.fontSize}}></i></div></Button>
</div>
.buttos{
    display: inline-block;
    margin: 0 10px;
  }

まとめ

横並びにしたい場合は親子の間に何らかのブロック要素を置かない

  • この記事いいね! (0)