Ryo Blog

〜WEB制作をスキルに〜

図で見ると意外と簡単?元数学教師が教える計算方法

こんなことを説明しています!

  1. 100vwと100%の関係 (違い)
  2. innerから片側だけはみ出すには幅をどのように設定したら良いか 

解説動画

100vwと100%について

100vw : 画面の横幅全体 [ ピンク ]

100% : 親要素に対する横幅全体 [ 青 ]

( 今回は inner の 両サイドにpadding 40px を入れています。 )

 (100vw - 100%) / 2 とは?

100vw - 100% が表しているのは [ ピンク ] - [ 青 ] なので、100% [ 青 ] の両サイドの余白を表しています。

そして、それを2で割ると片側の余白になります。

そして、そこから片側の padding 40px だけ引き算すると、innerの外 片側分 ( 緑 ) になります!

右側だけはみ出ている部分 [ 黒 ] を作るには?

[ 黒 ] = [ 赤 ] + [ 緑 ] なので

[ 黒 ] = 100% + 40px + ( 100vw - 100% ) / 2 - 40px

         = 100% + ( 100vw - 100% ) / 2

になります!

左側だけはみ出ている部分 [ 紫 ] を作るには?

幅は [ 黒 ] と同じになります。

そして、左に寄せたいので、margin-left の値を負にして左に寄せていきます!

左に寄せる分は、[ 緑 ] + 40px なので

margin-left: ( 100vw - 100% ) / 2 * -1 を設定すれば左端に寄せることができます!

コードはこちら

.test-box0 {
    margin-bottom: 0;
    background: rgba(pink, 0.2);
    width: 100vw;
}
.test-box1 {
    background: rgba(blue, 0.2);
    width: 100%;
}
.test-box2 {
    background: rgba(red, 0.2);
    width: calc(100% + 40px);
}
.test-box3 {
    background: rgba(green, 0.2);
    margin-left: calc(100% + 40px);
    width: calc((100vw - 100%) / 2 - 40px);
}
@media screen and (max-width:  600px) {
    .test-box3 {
        display: none;
    }
} 
.test-box4 {
    background: rgba(black, 0.2);
    width: calc(100% + (100vw - 100%) / 2);
}
.test-box5 {
    background: rgba(purple, 0.2);
    width: calc(100% + (100vw - 100%) / 2);
    margin-left: calc((100vw - 100%) / 2 * -1);
}
記事一覧へ

About

りょー|29歳 フリーランス|LPコーディング、WordPressサイト構築、ディレクション、Shopify (Liquid編集) を中心に活動しております!

完全未経験からWEB業界に入り
デイトラで3ヶ月間学習
営業開始後4日→ゼロイチ達成
開業3ヶ月後→月収50万達成
その後平均月収50万 (最高月収120万円)

WEBで独立したい!未経験からでもフリーランスになりたい!そんな方々のためになるような情報をこのブログを通して発信します!

コンサルのお申し込みはこちら Ryo's Portfolio

私がWEB制作フリーランスとして独立するために学習したオンラインスクール「デイトラ」の詳細リンクはこちら↓↓

Products

Coming Soon