center
H-1fr,
W-1fr
レイアウトと縦画面の条件設定
- CSSのコード-
body { margin: 0 auto; width: 800px; min-height: 100vh; display: flex; flex-direction: column; } header{ height: 150px; } div{ display: flex; flex: 1; } main{ flex: 1; } nav{ width: 150px; } aside{ width: 250px; } footer{ height: 200px; } @media screen and (max-width: 900px){ //横幅が900px以下になった場合の記述を{}内に書く body,nav,aside{ width: 100%; } div{ flex-direction: column; //縦画面divにするにはbodyにもflex-direction: colum; } main{ order: -1; //順序グループに属するのかをorderプロパティで指定 } } /* https://github.com/lightsound/html-css-class bodyの高さ100vhに固定しないで最低の高さを100vhにするにはmin-heightにする! * divタグに高さいっぱいflexを効かせたいが親要素がdisplay flexプロパテイがないと効かない 横並びになってしまいました縦にするにはbodyにflex-direction: colum;をあてdivにflex:1;と 当てる * これで聖杯レイアウトをflexで簡単にできた * 全画面幅でできたが今度は固定幅bodyに800pxとmargin 0 autoにしてみる */ /*スマホ画面を作る *下の方に書く、横幅が900px以下になった場合の記述@media screen and (max-width: 900px){ *{}内に条件、bodyの上書き body{width:100%;}と書くと800幅以下になると固定 更にdivの中を縦方向の画面にするflex-direction:c colum;をあてる 固定幅のleftとrightを100%にする navを下に移動して見やすい画面に main{ order: -1; とする https://developer.mozilla.org/ja/docs/Web/CSS/order みると */