nakazilab

cssやJavaScriptの備忘録サイト

css

親要素の範囲を飛び出して子要素を画面いっぱいに表示

親要素に最大幅を設定しつつ、途中で指定したボックスだけ100%表示したい場合もあるかと思います。
左右100%表示、左側のみ100%表示、右側のみ100%表示の3パターンを紹介します。

HTML(Pug)

.container
  .both-sides
  .right
  .left

CSS(SCSS)

body {
  overflow-x: hidden;
}

.container {
  max-width: 1000px;
  margin: 0 auto;
  > * {
    background-color: gray;
    height: 200px;
    margin-top: 20px;
  }
  .both-sides {
    margin: 0 calc(50% - 50vw);
    width: 100vw;
  }
  .right {
    margin: 30px calc(50% - 50vw + 8px) 0 0;
  }
  .left {
    margin: 30px 0 0 calc(50% - 50vw + 7px);
  }
}