【CSS】tableをレスポンシブで縦並びにする方法
2021年08月16日
「パソコンではtableを使って横並べにしたいけど、スマホでは横幅が足りないからいっそ縦並びにしてしまいたい!」
ヘッダー | セルセル |
---|---|
ヘッダー | セルセル |
←コレを
こうしたい→
ヘッダー | セルセル |
---|---|
ヘッダー | セルセル |
CSSでtableを分解して縦並びにする方法を解説します。レスポンシブ対応です。
table,tbody,tr,th,tdにdisplay:block
table構成要素にdisplay:blockを指定します。
↓下記の表はレスポンシブ対応させており、ブラウザ幅を狭くすると縦並びになります。
ヘッダー | セルセル |
---|---|
ヘッダー | セルセル |
<style>
@media(max-width:800px){
table,tbody,tr,th,td{
display: block;
}
}
</style>
<table border="1">
<tr>
<td>左上</td><td>右上</td>
</tr>
<tr>
<td>左下</td><td>右下</td>
</tr>
</table>
display:blockはブロック要素に変えるCSSです。
tableやtdすらただのdivと化してしまいます。
CSSやhtmlの基本をしっかり理解すると、この記事の内容もより理解できるようになりますよ。
↓CSSやhtmlを楽しく学べるようにマンガを描きましたのでゼヒご覧ください↓
↑「副業してもう少し稼ぎたい!」というかたのために副業の方法も解説しています。
【注意】tbodyを忘れずに!
table内には「tbody」があります。htmlソース内で指定しなくてもブラウザ側が補填して付与します。セレクタで指定し忘れないようにしましょう。
レスポンシブ対応としてメディアクエリを使ってCSSを切り替えています。「@media(max-width:800px)」のように記載します。
「この記事の内容がよくわからなかった…」「なんかうまくいかなかった…」というかたは下記記事↓でhtmlとCSSの基本を学びましょう。
わからないまま突き進むより基本を学ぶのが結局近道です。