LoginSignup
2
1

More than 3 years have passed since last update.

【CSS】親要素無視してwidth100%に

Last updated at Posted at 2020-05-14

①親要素無視してwidth100%に

スクリーンショット 2020-05-14 9.28.37.png

スクリーンショット 2020-05-14 9.29.19.png

この部分だけをどうにかしてウィンドウの幅と同じにしたい。

しかし、例えばbodyのwidth: 80%;に指定すると、全ての要素がwidth: 80%;のなってしまう。

一つの要素だけ親要素を無視してwidthを広げたい。

そんな時に使えるのが

width: 100vw;

これは、ウィンドウに合わせてwidth調節できる
(vwは「viewport width」でウィンドウの幅を意味する)

そして、bodyをmargin: 0 auto;で完成。

と思いきやこれは間違いで、そうしてしまうと『トップのシマシマ画像』も開始位置が親要素に依存してしまいます。

スクリーンショット 2020-05-14 9.35.30.png

ではどうする?

sample.css
.header-top{
  width: 100vw;
  position: relative;
  left: 50%;
  transform: translateX(-50%);
}

left: 50%;で真ん中に配置させて、

transform: translateX(-50%);で左に50%移動させなければなりません。

これで完成です。

スクリーンショット 2020-05-14 9.28.37.png

②疑似要素に背景をあてる場合

先ほどは、

sample.css
.header-top{
  width: 100vw;
  position: relative;
  left: 50%;
  transform: translateX(-50%);
}

疑似要素にあてる場合は、

sample.css
.header {
  position: relative;
}

.header::before{
  width: 100vw;
  left: 50%;
  transform: translateX(-50%);

/*ここまでは同じ*/

  position: absolute;
  content: '';
  height: 100%;
  z-index: -1;
}
2
1
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
2
1