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

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

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

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

CSS

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

Q&A

解決済

3回答

1024閲覧

tableを使用して表を作成し、同じ行内に複数の情報を入れて表示したい。

takochan1192

総合スコア100

HTML5

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

CSS

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

0グッド

0クリップ

投稿2020/10/27 01:57

tableを使用して表を作成しているのですが、
同じ行内に複数の情報を入れたいと思っています。
文章だとちょっと伝わりづらいので、
下記の添付スクショが完成系イメージです。

完成イメージ

それぞれの名前に複数のメールアドレスや業務を入れて表示したいと思い、
下記のようなコードを作成しました。
tdの中にtrを入れてしまえば、複数を表示できるのではないかと思いましたが、
下記のイメージの通り画面が崩れてしまいました。
どうすれば、きれいに表が作成できるのか、
どなたかご教示いただけませんでしょうか?

HTML

1<table border="1"> 2<caption>test</caption> 3 4<thead > 5<tr><th></th><th>名前</th><th class="">メールアドレス</th><th>業務</th></tr> 6</thead> 7<tbody> 8<tr> 9<th>1</th> 10<td>ほげ太朗</td> 11<td> 12 <tr> 13 <td>hoge@hoge.com</td> 14 <td>hoge2@hoge2.com</td> 15 <td>hoge3@hoge3.com</td> 16 </tr> 17</td> 18<td> 19 <tr> 20 <td>hoge</td> 21 <td>hoge2</td> 22 <td>hoge3</td> 23</tr> 24</td> 25</tr> 26 27<tr> 28<th>2</th> 29<td>ふが次郎</td> 30<td> 31 <tr> 32 <td>fuga@fuga.com</td> 33 <td>fuga2@fuga2.com</td> 34 <td>fuga3@fuga3.com</td> 35 </tr> 36</td> 37<td> 38 <tr> 39 <td>fuga</td> 40 <td>fuga2</td> 41 <td>fuga3</td> 42 </tr> 43</td> 44</tr> 45 46</tbody> 47</table>

コード実行時の表

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

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

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

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

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

guest

回答3

0

rowspanを使うことで縦に、
colspanを使うことで横にセルを結合することができます。

html

1<table border="1"> 2 <tbody> 3 <tr> 4 <td></td> 5 <td>名前</td> 6 <td>メール</td> 7 <td>業務</td> 8 </tr> 9 <tr> 10 <td rowspan="3">1</td> 11 <td rowspan="3">hoge</td> 12 <td>hogemail1</td> 13 <td>hoge1</td> 14 </tr> 15 <tr> 16 <td>hogemail2</td> 17 <td>hoge3</td> 18 </tr> 19 <tr> 20 <td>hogemail3</td> 21 <td>hoge3</td> 22 </tr> 23 <tr> 24 <td rowspan="3">2</td> 25 <td rowspan="3">fuga</td> 26 <td>fugamail1</td> 27 <td>fuga1</td> 28 </tr> 29 <tr> 30 <td>fugamail2</td> 31 <td>fuga</td> 32 </tr> 33 <tr> 34 <td>fugamail3</td> 35 <td>fuga3</td> 36 </tr> 37 </tbody> 38</table>

tableタグを生成してくれるサービスもありますので複雑なテーブルを作成する場合は試してみてもいいかもしれません。
Table Tag Generator
もちろんrowspan・colspanの仕組みは知っていた方が良いでしょうが。

投稿2020/10/27 02:08

dit.

総合スコア3235

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

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

takochan1192

2020/10/27 02:15

ご回答いただきまして、ありがとうございます。 Table Tag Generatorなんて便利なものが存在するとは、、、、目からうろこでした。 早速、ブックマークに登録して、参考にさせていただきたいと思います。 ありがとうございました。
guest

0

tdの中にさらにtrを入れたい場合はtdの中に新たにtableを作成してください。
ただ、今回の場合はセルの結合をすると希望の通りのテーブルが作成できます。

参考 セルを結合する

投稿2020/10/27 02:08

gogoweb_ikeda

総合スコア1426

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

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

takochan1192

2020/10/27 02:14

なるほど、tableを新たに入れれば、作ることができるのですか! 試してみます!!ありがとうございました。
gogoweb_ikeda

2020/10/27 02:16

いや、tableの中にtableを組み込みたいケースの場合はその方法でいいですが、今回の場合は素直にrospanでセルを結合するべきです。
takochan1192

2020/10/27 02:18

コメントありがとうございます。 なるほですね。 素直にrowspanを使わせていただきます。
yambejp

2020/10/27 02:47

HTMLはあくまでも構造を定義するものですので テーブルの中のテーブルは構造的にあまり推奨されません
takochan1192

2020/10/27 06:37

yambejp様 コメントありがとうございます。 そうだったのですね。 ご指摘ありがとうございます。
guest

0

ベストアンサー

普通のtableの話ですよね?普通に書いてください

投稿2020/10/27 02:04

yambejp

総合スコア116724

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

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

yambejp

2020/10/27 02:04

<table border="1"> <caption>test</caption> <thead > <tr> <th></th> <th>名前</th> <th class="">メールアドレス</th> <th>業務</th> </tr> </thead> <tbody> <tr> <th rowspan="3">1</th> <td rowspan="3">ほげ太朗</td> <td>hoge@hoge.com</td> <td>hoge</td> </tr> <tr> <td>hoge2@hoge2.com</td> <td>hoge2</td> </tr> <tr> <td>hoge3@hoge3.com</td> <td>hoge3</td> </tr> <tr> <th rowspan="3">2</th> <td rowspan="3">ふが次郎</td> <td>fuga@fuga.com</td> <td>fuga</td> </tr> <tr> <td>fuga2@fuga2.com</td> <td>fuga2</td> </tr> <tr> <td>fuga3@fuga3.com</td> <td>fuga3</td> </tr> </tbody> </table>
takochan1192

2020/10/27 02:13

ありがとうございます。rowspanを使用すればよいのですね。勉強になりました。
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

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

ただいまの回答率
85.35%

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

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

質問する

関連した質問