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

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

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

HTML5 (Hyper Text Markup Language、バージョン 5)は、マークアップ言語であるHTMLの第5版です。

CSS

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

Q&A

解決済

1回答

1318閲覧

レスポンシブデザインのtableレイアウト調整

syu.153

総合スコア1

HTML5

HTML5 (Hyper Text Markup Language、バージョン 5)は、マークアップ言語であるHTMLの第5版です。

CSS

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

0グッド

0クリップ

投稿2020/05/22 01:13

編集2020/05/22 01:44

レスポンシブデザインで表(table)のカラム数を変更したい。

tableタグを使用して表を作成しています。
ラベルとテキストボックスが対になるように設置しています。
各要素に対してtdタグで囲っています。

(例)
ラベル1 テキストボックス1 ラベル2 テキストボックス2 ラベル3 テキストボックス3
ラベル4 テキストボックス4 ラベル5 テキストボックス5 ラベル5 テキストボックス5
以下続く…

このように、1レコードにつき6個のtdタグが存在します。
これらをあるpx以下になった時、1レコードにつき2個のtdタグ要素の表を作成したいです。

(例)
ラベル1 テキストボックス1
ラベル2 テキストボックス2
ラベル3 テキストボックス3
ラベル4 テキストボックス4
ラベル5 テキストボックス5
ラベル6 テキストボックス6
以下続く…

HTML

1<table> 2 <tr> 3 <form> 4 <td> 5 <label for='ラベル1'>ラベル1</label> 6 </td> 7 <td> 8 <input type='text' value='テキストボックス1'> 9 </td> 10 </form> 11 <form> 12 <td> 13 <label for='ラベル2'>ラベル2</label> 14 </td> 15 <td> 16 <input type='text' value='テキストボックス2'> 17 </td> 18 </form> 19 <form> 20 <td> 21 <label for='ラベル3'>ラベル3</label> 22 </td> 23 <td> 24 <input type='text' value='テキストボックス3'> 25 </td> 26 </form> 27 </tr> 28 <tr> 29 以下続く… 30 </tr> 31</table>

CSS

1table{ 2 width: 100%; 3}

試したこと

CSSでdisplay: block;やラベル要素をthタグに変更して、tdタグに対してCSSを当てれないか試行錯誤しましたが私のスキルではたどり着きませんでした。

1レコードにつき6個の要素がありますが、どのようにして、1レコードにつき2個の要素にレイアウトを変更できるのか。
ご教授いただけると幸いです。
よろしくお願いいたします。

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

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

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

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

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

kei344

2020/05/22 01:15

(質問文は編集できます)ご自身で試されたHTML/CSSを質問文に追記し、「何」が「どのように」わからないのか、コードのどの部分で詰まっているのかなどを具体的に追記されたほうが回答が望めると思います。
hatena19

2020/05/22 01:16

現状の表部分のHTMLとCSSを質問に追記してもらえますか。
mari.rinn

2020/05/22 02:11

単純に2つテーブルを書いといて、メディアクエリによって、片方がdisplay:block;の時はもう片方はdisplay:none;で切り替えるようにするのではダメなのでしょうか?
syu.153

2020/05/22 03:52

ありがとうございました。
guest

回答1

0

ベストアンサー

これはどうですか?

サンプル

css

1table{ 2 width: 100%; 3} 4@media screen and (max-width: 640px) { 5 tr{ 6 display: grid; 7 grid-template-columns: auto auto; 8 } 9}

余談ですが、HTMLの文法が間違っていますのでお気を付けください。formはtrの親になることはできません。

許可されている親要素

<table> 要素 (子の <tbody> を持たない場合で、 <caption>, <colgroup>, <thead> の各要素より後に限る)、 <thead>, <tbody>, <tfoot> の各要素

<tr>: 表の行要素 - HTML: HyperText Markup Language | MDN

投稿2020/05/22 02:43

Lhankor_Mhy

総合スコア36115

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

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

syu.153

2020/05/22 03:52

文法までご指摘いただきありがとうございます。勉強になります。
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

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

ただいまの回答率
85.48%

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

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

質問する

関連した質問