お世話になってます。
CSSとHTMLの学習を1からしようと思い、現在はflexboxについて学習しています。
そして、今実現したいのがfloatを使わずに、レスポンシブに以下のような図を作りたいです。
■ デスクトップ
■ スマホ
下記のようにデスクトップの方はできていますが、このコードだと
スマホの幅にした時に、サイドがフッターの下にきてしまいます。
htmlで、footerを一番下にしてあげたいのですが、
そうなるとsideの高さがfooterの横まで伸びません。
html
1<div id="wrapper"> 2 <div id="left"> 3 <div id="main1">main1</div> 4 <div id="main2">main2</div> 5 <div id="footer">footer</div> 6 </div> 7 <div id="right"> 8 <div id="side"></div> 9 </div> 10</div>
css
1#wrapper { 2 width: 1000px; 3 margin: 0 auto; 4 display: flex; 5 border: 2px solid black; 6} 7 8#left { 9 width: 75%; 10} 11 12#right { 13 width: 25%; 14} 15 16#main1, #main2, #footer, #side { 17 margin: 20px 10px; 18 border: 2px solid black; 19 text-align: center; 20} 21 22#main1, #footer { 23 height: 50px; 24} 25 26#main2 { 27 height: 100px; 28} 29 30#side { 31 height: calc(100% - 44px); 32} 33 34 35@media screen and (max-width: 599px) { 36 /* 37 ここで、sideをフッターの上に入れ、 38 結果、フッターを一番下にしたい 39 */ 40} 41
どのようにしたら良いでしょうか。
floatではできるのですが、今回は極力使いたくないです。
お力を貸していただけますと嬉しいです。



回答3件