innerからの脱獄2
画面端まで中身を伸ばす
前回innerより横幅の広い要素を中央揃えにする方法を紹介しました。
今回は幅が決まっていない場合はどうすればいいのかを紹介します。
元の状態
See the Pen
WNvrNRe by sphenisc (@sphenisc)
on CodePen.
画面幅いっぱいまで広げると
See the Pen
WNvrNpe by sphenisc (@sphenisc)
on CodePen.
こうなります。
中身の領域を変えずに背景だけ広げたいならその要素に
padding: 0 calc(50vw - 50%);
margin: 0 calc(50% - 50vw);
をつけます。何をしているかというと
例えばディスプレイの画面幅が1920px 広げたい要素の横幅が980pxだとすると
- margin: 980pxの50%で490px - 1920pxの半分の960px = -470px 左右に470pxのマイナスマージンをとる。つまり横幅が470px×2 だけ広くなる
- padding: 960px - 490px = 470px 左右に470pxの余白ができる (NormalizeCSSの影響で box-sizing: border-box; が適用されている)
→中身の領域は変えず、背景だけを画面幅いっぱいにすることができるわけです。
中身も含めて画面幅いっぱいにしたい場合は padding: 0 calc(50vw - 50%); を消すだけで修正できます。
活用例
タイトルの装飾を左端または右端まで伸ばす
See the Pen
OJVMJpG by sphenisc (@sphenisc)
on CodePen.
Author And Source
この問題について(innerからの脱獄2), 我々は、より多くの情報をここで見つけました https://qiita.com/spenic635/items/d06b82426f16ba735c2f著者帰属:元の著者の情報は、元のURLに含まれています。著作権は原作者に属する。
Content is automatically searched and collected through network algorithms . If there is a violation . Please contact us . We will adjust (correct author information ,or delete content ) as soon as possible .