タイトル通り、テーブルの横スクロールができません。
html
1<div class="test"> 2 <table> 3 <tr><th>1-1</th><th>1-2</th><th>1-3</th><th>1-4</th><th>1-5</th></tr> 4 <tr><td>2-1</td><td>2-2</td><td>2-3</td><td>2-4</td><td>2-5</td></tr> 5 <tr><td>3-1</td><td>3-2</td><td>3-3</td><td>3-4</td><td>3-5</td></tr> 6 <tr><td>4-1</td><td>4-2</td><td>4-3</td><td>4-4</td><td>4-5</td></tr> 7 </table> 8</div>
css
1.test table{ 2 width:800px; 3 text-align:center; 4 border:1px solid #000; 5 border-collapse:collapse; 6} 7.test th,.test td{ 8 border:1px solid #000; 9 padding:5px; 10} 11@media screen and (max-width:600px){ 12 .test{ 13 overflow-x:auto; 14 white-space:nowrap; 15 } 16}
上記がテーブル部分のみのコードで、これだけならきちんとスクロールできますので、この部分に間違いはないはずなのですが、現在XAMPPにて作成中のサイトに上記の通り書いてもスクロールができませんでした。
テーブル部分以外のCSSにできない原因があると思い、1つずつ削除しながら確認していきましたところ、#wrapper{display:grid}
がなければ動くことが分かりました。
ですが、サイト全体のレイアウトに使用している部分のため、ここを変えなくてはならないとなると、サイト自体を1から作り直す必要があるため困っております。
レイアウトは、こちらのサイト様 の例にある『ヘッダー・メインコンテンツ・左右のサイドバー・フッターがあるレイアウト』とほぼ同じです。
上記サイト様の.container
の部分が#wrapper
に当たり、テーブルがあるのは.main
の部分です。
グリッドレイアウトを完全に理解する前に使用してしまったのが悪いのですが、
このままテーブルの横スクロールをするには、どのようにしたら良いのでしょうか?
##追記です。
html
1<div id="wrapper"> 2 <header class="header">header</header> 3 <main class="main"> 4 <div class="test"> 5 <table> 6 <tr><th>1-1</th><th>1-2</th><th>1-3</th><th>1-4</th><th>1-5</th></tr> 7 <tr><td>2-1</td><td>2-2</td><td>2-3</td><td>2-4</td><td>2-5</td></tr> 8 <tr><td>3-1</td><td>3-2</td><td>3-3</td><td>3-4</td><td>3-5</td></tr> 9 <tr><td>4-1</td><td>4-2</td><td>4-3</td><td>4-4</td><td>4-5</td></tr> 10 </table> 11 </div> 12 </main> 13 <aside class="aside">aside</aside> 14 <nav class="nav">nav</nav> 15 <footer class="footer">footer</footer> 16</div> 17
css
1#wrapper{ 2 display:grid; 3 margin:0; 4 min-height:100vh; 5} 6@media screen and (max-width:600px){ 7 #wrapper{ 8 grid-template-rows:50px 1fr 100px; 9 grid-template-columns:1fr; 10 } 11 .header{ 12 grid-row:1; 13 } 14 .main{ 15 grid-row:2/3; 16 } 17 .aside{ 18 display:none; 19 } 20 .nav{ 21 display:none; 22 } 23 .footer{ 24 grid-row:3; 25 grid-column:1/4; 26 } 27} 28@media screen and (min-width:599px){ 29 #wrapper{ 30 grid-template-rows:50px 1fr 100px; 31 grid-template-columns:250px 1fr 250px; 32 } 33 .header{ 34 grid-row:1; 35 grid-column:1/4; 36 } 37 .main{ 38 grid-row:2; 39 grid-column:2; 40 } 41 .nav{ 42 grid-row:2; 43 grid-column:1; 44 } 45 .aside{ 46 grid-row:2; 47 grid-column:3; 48 } 49 .footer{ 50 grid-row:3; 51 grid-column:1/4; 52 } 53} 54.test table{ 55 width:800px; 56 text-align:center; 57 border:1px solid #000; 58 border-collapse:collapse; 59} 60.test th,.test td{ 61 border:1px solid #000; 62 padding:5px; 63} 64@media screen and (max-width:600px){ 65 .test{ 66 overflow-x:auto; 67 white-space:nowrap; 68 } 69}
回答2件
あなたの回答
tips
プレビュー