HTML初心者です。
下記のようにテーブルを作成していますが、
2行目がなかったことにされてしまいます。
<table>
<tr><td rowspan=2>1-1</td><td rowspan=2>1-2</td></tr>
<tr></tr>
<tr><td>3-1</td><td>3-2</td></tr>
</table>
結合されたセルを2行分の高さで表示することはできますか?
ただ、実際のHTMLはPHPで動的に作成しているので、
できれば「height属性で1行目の高さを2行分にする」以外の
方法を探しています。
以上、よろしくお願いします。
A 回答 (3件)
- 最新から表示
- 回答順に表示
No.3
- 回答日時:
<table>
<tr><td rowspan=2>1-1</td><td rowspan=2>1-2</td></tr>
<tr></tr><!-- 2行目がない -->
<tr><td>3-1</td><td>3-2</td></tr>
</table>
┌──┬──┐
│1-1 │1-2 │
┝━━┿━━┥
│3-1 │3-2 │
└──┴──┘
にしか、なりようがないです。・・・データがない場合は、<tr></tr>を出力しないようにして、高くしたいセル--たとえばclass名など他の属性を与えましょう。
<table>
<tr><td height=2>1-1</td><td height=2>1-2</td></tr>
<tr></tr><!-- 2行目がない -->
<tr><td>3-1</td><td>3-2</td></tr>
</table>
とか、
★どうしても方法がないなら・・・要素セレクタを使って
td[rowspan="2"]{padding:0.5em 0;}
ですかね。
返信が遅くなってしまい申し訳ありません・・・
結論から言うと、今回は「絶対に結合しない空白の列を設ける」
という方法をとることになりました。
最初に「対応できない」と言った chie65535 さんの案です・・・。
なぜそうなったかというと、今回の場合はその空白の列があっても、
それはそれで意味のある列とみなすことができてしまったことと、
今のところ、他にもいろいろある検討課題も含めて少しずつ
良くしていきましょう、という段階だったため、とりあえずの形として
周りからもOKを頂いたためです。
時間の関係上、ご提案いただいた方法についてはその必要性が
出たときに改めて検証させていただきます。
ありがとうございました。
No.2
- 回答日時:
そもそも、横に2つしかセルがないのに、両方とも縦に同じ数だけ結合しようとしても、基準とする所がない?ために意味がありません。
>ただ、実際のHTMLはPHPで動的に作成しているので、
できれば「height属性で1行目の高さを2行分にする」以外の
方法を探しています。
PHPで動的に作成しても、height属性は指定できると思うのですが・・・、それで不都合になる理由はなんでしょうか?
それが分かれば、それなりの解決策を思いつくかもしれません。
height属性がダメなら、スタイルシートでpaddingを設定するとかもダメですよね?
>そもそも、横に2つしかセルがないのに、両方とも縦に同じ数だけ結合しようとしても、
>基準とする所がない?ために意味がありません。
見た目の問題です。
「そこに行がある」もしくは「結合されたセルが2行分である」と
わかるように表示させたいのです。
>PHPで動的に作成しても、height属性は指定できると思うのですが・・・、
>それで不都合になる理由はなんでしょうか?
「動的に作成しているからできない」のではなく、
「PHPのロジック上、動的にheight属性を記述することが難しい」
という意味でした。
ですので、もしそれ以外に方法があれば・・・という希望で
「できれば~」と書かせていただきました。
他に方法がなければheight属性を記述する方法でやってみようとは思っています。
No.1
- 回答日時:
<table>
<tr><td rowspan=2>1-1</td><td rowspan=2>1-2</td><td> </td></tr>
<tr><td> </td></tr>
<tr><td>3-1</td><td>3-2</td><td> </td></tr>
</table>
要は、すべての行の一番最後の列に、全角スペース1文字だけが入った列を足す、って事です。
動的に作成しているなら「</tr>」を出力している部分を「<td> </td></tr>」を出力するようにすれば良いです。
空白は「全角スペース」である事に注意して下さい。
なお、この方法は「borderなど、テーブルに枠が付いている場合は使えない」です。何も入ってない枠が見えちゃうので。
すみません、省略してしまいましたが「枠あり」です。
試してみましたが確かに空白の枠が表示されい、
この方法では対応できませんでした。
それから、また関係するかもしれないので念のため、
結合したセルには背景色も設定しています。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- HTML・CSS テーブルタグのセルの幅の一部だけを指定 1 2023/03/12 12:02
- Visual Basic(VBA) Selenium.ChromeDriverの使い方について 7 2022/09/22 06:43
- PHP htmlで複数の個数入力欄を表示させるには 1 2022/09/20 03:11
- JavaScript EasyUIのSubGrid(jquery)におけるObjectに入れた連想配列について 1 2022/05/02 11:21
- HTML・CSS 【CSS】:hasで可能? imgを含むtr要素を選択したい 1 2022/11/17 14:36
- AJAX JavascriptからPHPへのAjax通信でnullが返ってくる 3 2022/08/03 22:00
- HTML・CSS 自身のHPにYouTube動画を貼り付けるのが出来なくなり困ってます 1 2022/11/11 10:44
- JavaScript jQueryで同じクラス名のものを別物として扱いたい 1 2022/06/17 14:14
- MySQL SQL任意に並び替えをしたい 2 2023/08/28 10:47
- JavaScript 追加ボタンを押した際に ok ボタンを押した場合のみ入力値が追記されるようにしたいです 6 2022/05/29 09:57
関連するカテゴリからQ&Aを探す
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
cssで、表示されるテキストによ...
-
tableにul,または,olを入れられ...
-
テーブルの行を折りたたみたい...
-
文字列が入っているtdを削除せ...
-
CSSだけで<table>の<td>や<tr>...
-
テーブルの任意の列を非表示に...
-
文字の中央そろえを一括で指定...
-
テーブルの行数が違う列のテキ...
-
IEで細い線
-
HTMLのテーブルで桁をそろ...
-
テーブルのセルに画像をピッタ...
-
nowrapを指定しても改行される...
-
テーブルのヘッダとボディの幅...
-
tableの要素(tr、td)に一...
-
テーブルの行の高さを指定する...
-
TRタグの余白をcssで設定するには
-
テーブルの上に空行が入る・・...
-
Mac IEのバグなのでしょうか?
-
【CSS】:hasで可能? imgを含む...
-
逆L字の表(table)組み
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
テーブルの行を折りたたみたい...
-
テーブルの任意の列を非表示に...
-
tableにul,または,olを入れられ...
-
TRタグの余白をcssで設定するには
-
cssで、表示されるテキストによ...
-
HTML <td></td>タグ セル内余...
-
テーブルのヘッダとボディの幅...
-
文字列が入っているtdを削除せ...
-
テーブルのセルに画像をピッタ...
-
テーブルの行の高さを指定する...
-
テーブルの表示がずれます
-
ホームページ 表の上の余白を...
-
テーブルのセルにアンカー
-
テーブルタグのセルの幅の一部...
-
逆L字の表(table)組み
-
中に<table></table>が使えるア...
-
tableでcolspanを使うと次行以...
-
スタイルシートで colspan=3と...
-
TABLE内の枠線を一部消すには
-
テーブルの上に空行が入る・・...
おすすめ情報