前提
yahooのような3カラムレイアウトのサイトを制作しています。
実現したいこと
pcでは、左カラム 中央カラム 右カラム
で表示させていますが、
スマホサイズの時に
右カラムの記事の間に中央カラムを表示させたいです。
(左カラムは非表示させています。)
.main-centerの要素を
.main-rightの.nav-right-1と.nav-right-2の間に表示させたい
該当のソースコード
html
1 <div class="container"> 2 3 <div class="main-left"> 4 <h1>左カラム</h1> 5 <ul> 6 <li><a href="#">aa</a></li> 7 <li><a href="#">bb</a></li> 8 </ul> 9 </div> 10 11 <main class="main-center"> 12 <h1>題名</h1> 13 <section> 14 <p>中央の要素</p> 15 </section> 16 </main> 17 18 <div class="main-right"> 19 <div class="nav-right nav-right-1"> 20 <h1> 右カラムの一つ目の要素</h1> 21 <ul class="menu"> 22 <li><a href="#">aa</a></li> 23 <li><a href="#">bb</a></li> 24 </ul> 25 </div> 26 <aside class="nav-right nav-right-2"> 27 <h1 class="txtl">右カラムの2つ目の要素</h1> 28 <p>ここに要素が入ります</p> 29 </aside> 30 </div> 31 32 </div> 33
css
1.container { 2 display:flex; 3 justify-content: space-between; 4} 5.main-left { 6 width: 20%; 7} 8.main-center { 9 width: 40%; 10} 11.main-right { 12 width: 35%; 13} 14@media screen and (max-width: 640px) and (min-width:320px) { 15 /* 画面サイズが640pxから320pxまではここを読み込む */ 16 .container { 17 flex-direction: column; 18 } 19 .main-left { 20 display: none; 21 } 22 .main-center { 23 order:2; 24 width: 100%; 25 } 26 .main-right { 27 order:1; 28 width: 100%; 29 } 30 31}
試したこと
.containerをflexで横並びにしているので、orderを使って並べようと思いましたが、
左カラムの中に要素が2つあり、その間に中央カラムを表示させることはできませんでした。
ご教示いただきたいです。
回答2件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2022/10/07 09:23