<table>の<th><td>の幅がセルの内容によって変わらないように
table{table-layout:fixed;}を使っていたのですが、
別の問題を解決するために調べていたところ、
セルの中に何もない状態でも、
table{table-layout:fixed;}の有無で<th><td>の幅が異なるようです。
添付画像のように、table{table-layout:fixed;}を消したら幅が狭くなりました。
このように幅が異なるのはどのような理由からでしょうか?
また、table{table-layout:fixed;}なしで
table{table-layout:fixed;}がある場合と同じ幅にするには、どうしたら良いでしょうか?
試したtest2.htmは次の通りです。
<!DOCTYPE html>
<html lang="ja">
<head>
<meta charset="utf-8">
<title>てすと</title>
<link rel="stylesheet" href="test2.css">
</head>
<body>
<h1>テスト(table{table-layout:fixed;}あり)</h1>
<table>
<colgroup>
<col span="1" class="left1">
<col span="1" class="left2">
<col span="1" class="left3">
<col span="10" class="left4">
</colgroup>
<thead>
<tr>
<th></th><th></th><th></th><th></th>
<th></th><th></th><th></th><th></th>
<th></th><th></th><th></th><th></th>
<th></th>
</tr>
</thead>
<tr>
<td></td><td></td><td></td><td></td>
<td></td><td></td><td></td><td></td>
<td></td><td></td><td></td><td></td>
<td></td>
</tr>
<tr>
<td></td><td></td><td></td><td></td>
<td></td><td></td><td></td><td></td>
<td></td><td></td><td></td><td></td>
<td></td>
</tr>
</table>
</body>
</html>
test2.cssは次の通りです。
@charset "UTF-8";
h1{height:50px;}
table{table-layout:fixed;}
table,tr{width:1300px;}
th,td{border:solid 5px black;text-align:center;height:100px;}
th{background-color:red;}
tr:nth-child(2n+1){background-color:blue;}
tr:nth-child(2n+0){background-color:white;}
.left1{width:330px;}
.left2{width:70px;}
.left3{width:250px;}
.left4{width:65px;}
よろしくお願いします。
A 回答 (2件)
- 最新から表示
- 回答順に表示
No.2
- 回答日時:
ちなみに、以前
テーブルをスクロールさせるときのスクロールの位置 - HTML 解決済 | 教えて!goo( https://oshiete.goo.ne.jp/qa/7105490.html )
でも挑戦したのですが・・・
<table>の<thead>をposition:fixed;にすると<td>の幅がリセットされる - Webデザイン・CSS | 教えて!goo( https://oshiete.goo.ne.jp/qa/9273531.html )
のほうが良いですね。
回答ありがとうございます。
Javascriptを使わずに<thead>を固定する方法について、
Webで検索するなどして勉強しているのですが、
私のソースのどこをどのように変えたら良いのか試行錯誤中で、
なかなか理解できず、
最初から作り直す必要があるのかなと思っています。
No.1
- 回答日時:
<table>の<thead>をposition:fixed;にすると<td>の幅がリセットされる - Webデザイン・CSS | 教えて!goo(
https://oshiete.goo.ne.jp/qa/9273531.html )のように、スタイルシート側ではtableを使わないのが常道です。
特にIEが面倒になるのでね。
お探しの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
- AJAX JavascriptからPHPへのAjax通信でnullが返ってくる 3 2022/08/03 22:00
- HTML・CSS 自身のHPにYouTube動画を貼り付けるのが出来なくなり困ってます 1 2022/11/11 10:44
- HTML・CSS 【CSS】:hasで可能? imgを含むtr要素を選択したい 1 2022/11/17 14:36
- JavaScript jQueryで同じクラス名のものを別物として扱いたい 1 2022/06/17 14:14
- MySQL SQL任意に並び替えをしたい 2 2023/08/28 10:47
- 工学 【制御工学】単位ステップ応答の遅れ時間の求め方(令和2年度の機械設計技術者試験(制御工学)の問題) 3 2022/11/02 10:51
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
TRタグの余白をcssで設定するには
-
tableにul,または,olを入れられ...
-
文字列が入っているtdを削除せ...
-
テーブルのヘッダとボディの幅...
-
テーブルの任意の列を非表示に...
-
テーブル入れ子した時の、テー...
-
TABLE内の枠線を一部消すには
-
cssで、表示されるテキストによ...
-
画像のロールオーバーがずれて...
-
HTMLで外部ファイルの読み込み
-
[CSS]tableでtd同士だけ行ごと...
-
tableでcolspanを使うと次行以...
-
テーブルで文字が上揃えになり...
-
Safariでテーブルのセルの高さ...
-
テーブルの縦罫線を1本だけ細く...
-
テーブルの行の高さを指定する...
-
テーブルの表示がずれます
-
テーブルの行数が違う列のテキ...
-
テーブルの途中からcellspacing...
-
【CSS】:hasで可能? imgを含む...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
テーブルの行を折りたたみたい...
-
tableにul,または,olを入れられ...
-
テーブルの任意の列を非表示に...
-
TRタグの余白をcssで設定するには
-
文字列が入っているtdを削除せ...
-
テーブルのヘッダとボディの幅...
-
テーブルの行の高さを指定する...
-
cssで、表示されるテキストによ...
-
テーブルのセルに画像をピッタ...
-
HTML <td></td>タグ セル内余...
-
ホームページ 表の上の余白を...
-
テーブルの表示がずれます
-
スタイルシートで colspan=3と...
-
テーブルの上に空行が入る・・...
-
テーブルタグのセルの幅の一部...
-
表の1列だけをCSSを使って右揃...
-
逆L字の表(table)組み
-
tableでcolspanを使うと次行以...
-
HTMLのテーブルで桁をそろ...
-
テーブルのセルにアンカー
おすすめ情報
test2.cssの
table{table-layout:fixed;}を
table{table-layout:fixed;border-collapse:collapse;}にして、
th,td{border:solid 5px black;text-align:center;height:100px;}を
th,td{border:solid 0px black;text-align:center;height:100px;}にしたら、
table-layout:fixed; の有無で<th><td>の幅が同じになりました。