質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.48%
HTML

HTMLとは、ウェブ上の文書を記述・作成するためのマークアップ言語のことです。文章の中に記述することで、文書の論理構造などを設定することができます。ハイパーリンクを設定できるハイパーテキストであり、画像・リスト・表などのデータファイルをリンクする情報に結びつけて情報を整理します。現在あるネットワーク上のほとんどのウェブページはHTMLで作成されています。

CSS

CSSはXMLやHTMLで表現した色・レイアウト・フォントなどの要素を指示する仕様の1つです。

Q&A

解決済

1回答

418閲覧

tableのレスポンシブについて

MeB

総合スコア104

HTML

HTMLとは、ウェブ上の文書を記述・作成するためのマークアップ言語のことです。文章の中に記述することで、文書の論理構造などを設定することができます。ハイパーリンクを設定できるハイパーテキストであり、画像・リスト・表などのデータファイルをリンクする情報に結びつけて情報を整理します。現在あるネットワーク上のほとんどのウェブページはHTMLで作成されています。

CSS

CSSはXMLやHTMLで表現した色・レイアウト・フォントなどの要素を指示する仕様の1つです。

0グッド

0クリップ

投稿2018/07/26 03:46

編集2018/07/26 03:50

以前も似たような質問をして回答をいただいたのですが、
それでも再現できなかったので、状態を詳細にしましたので
今一度質問させてください。

前提・実現したいこと

https://jsfiddle.net/6fao70h4/28/
上記のようなtableのレスポンシブを実現したいです。

発生している問題・エラーメッセージ

block要素にしての並び替えや、
table-cellなど試しましたが、
崩れてしまったり思ったような順番になりませんでした。

該当のソースコード

上記URLの参照をお願いします。

ご教示のほどよろしくお願いします。

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

guest

回答1

0

ベストアンサー

レスポンシブだということなのにご提示のソースはPC用とSP用で別々のソースになっていたので、
同じHTMLで実現できるようにちょっと改造させてもらいましたが、一応できました。
サイズの指定やborderの調整などは実際に作りたいデザインに合わせて別途整える必要はあると思いますが、
基本的に@mediaの中で各要素をdisplay:blockにした上でレイアウトすれば何とかなるのではないか?
という気がします。

ただし、サンプルのソースだとtd,thにheightが指定されているので、
もしここが高さ可変だと、破綻するやもしれません。

HTML

1<table> 2 <tr> 3 <td rowspan="2" class="cell01"></td> 4 <td class="cell02"></td> 5 <td class="cell02"></td> 6 </tr> 7 <tr> 8 <td class="cell03"></td> 9 <td class="cell03"></td> 10 </tr> 11 <tr> 12 <td colspan="2"></td> 13 <td></td> 14 </tr> 15 <tr> 16 <td colspan="2"></td> 17 <td></td> 18 </tr> 19 <tr> 20 <td colspan="2"></td> 21 <td></td> 22 </tr> 23 <tr> 24 <td colspan="2"></td> 25 <td></td> 26 </tr> 27</table>

CSS

1table , td, th { 2 border: 1px solid #595959; 3 border-collapse: collapse; 4} 5 6table { 7 width: 74px; 8 margin:50px; 9} 10 11td, th { 12 padding: 3px; 13 width: 30px; 14 height: 25px; 15} 16 17.cell01 { 18 background: #E53D00; 19} 20 21.cell02 { 22 background: #FFE900; 23} 24 25.cell03 { 26 background: #21A0A0; 27} 28 29@media screen and (max-width: 640px) { 30 table { 31 border: none; 32 border-bottom: 1px solid #595959; 33 } 34 td,th { 35 border-bottom: none; 36 } 37 tr { 38 display: block; 39 overflow: hidden; 40 width: 74px; 41 } 42 td { 43 display: block; 44 width: 100%; 45 box-sizing: border-box; 46 } 47 .cell02, 48 .cell03 { 49 float: left; 50 display: block; 51 width: 50%; 52 box-sizing: border-box; 53 } 54 .cell02+.cell02, 55 .cell03+.cell03 { 56 border-left: none; 57 } 58}

投稿2018/07/26 04:24

aKusano

総合スコア3763

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

MeB

2018/07/26 04:29

ご回答ありがとうございます。 htmlやcssの細かい部分は全然変えてもらって構いません。 回答いただいたコードですがレスポンシブの際の表示が少し違います… 作っていただいたのにすみません…
aKusano

2018/07/26 04:55

PCレイアウトの時の幅ですかね? それとも色をつけたセルの配置かしら? どこが想定と違うのかちょっとわかりませんが、仕組み的には回答したとおりなので、 違うな、と思うところはMeBさんの方で修正しつつ、試してみてください。
aKusano

2018/07/26 04:57

ちなみにもしセルの表示順をPC/SPで変えたいのであれば、tableではほぼ不可能です。 div等のマークアップを使った上で、レイアウト手法はflexboxかcss gridレイアウトに変更した方がいいと思われます。
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.48%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問