たとえば、
<style type="text/css">
table {
width: 100%;
}
</style>
</head>
<body>
<table border=1 cellspacing=1 cellpadding=1>
<tr><td>a</td><td>b</td><td>c</td></tr>
<tr><td>1</td><td>2</td><td>3</td></tr>
</table>
このようなcssとコードがある場合、
3列目のcと3の列の幅を10%にしたい場合、
どのようなコードを書けばいいですか?
td {
width: 10%;
}
こうすると、すべての列が10%になってしまいます。
指定した列のみのcssで幅を調整する方法を教えてください。
できれば直接テーブルのタグをいじるのではなく、スタイルシートの宣言部分で対応したいです。
No.5ベストアンサー
- 回答日時:
対象セルにクラスをつけて指定するという方法はダメでしょうか?
<style>
td.column { width:10% }
</style>
<table border=1 cellspacing=1 cellpadding=1>
<tr><td>a</td><td>b</td><td class="column">c</td></tr>
<tr><td>1</td><td>2</td><td class="column">3</td></tr>
</table>
ターゲットブラウザにもよりますが、nth-childはモダンブラウザにしか効きませんのであまりおすすめできません。
それとサイズを厳密に調整したいのであればborder,cellpaddingは0にして全てスタイルで指定したほうがいいと思います。なぜならwidth=10%+cellspacing+border+cellpaddingになってしまいますから。
No.4
- 回答日時:
>できれば直接テーブルのタグをいじるのではなく、
とおっしゃいますが、実際列を処理するなら<col>など列に対して
処理する方がいいと思いますけどね
また余計なお世話だと思いますがclassを設定するのが賢明です。
<style>
table {width: 100%;}
col.col3 {width: 10%;background-Color:lime;}
</style>
<body>
<table border=1 cellspacing=1 cellpadding=1>
<col><col><col class="col3">
<tbody>
<tr><td>a</td><td>b</td><td>c</td></tr>
<tr><td>1</td><td>2</td><td>3</td></tr>
</tbody>
</table>
No.3
- 回答日時:
単純にtd+td+td{width:10%;}
じゃまずいのですか?
CSS3(古いブラウザ無視してよいなら・・)
td:nth-child(3){width:10%;}
とか
その他、様々な選択できます。
tr{background-color:yellow;}
tr+tr{background-color:aqua;}
tr+tr+tr{background-color:lime;}
tr+tr+tr+tr{background-color:silver;}
先日回答した
cellpadding - HTML - 教えて!goo( http://oshiete.goo.ne.jp/qa/8788064.html )
で色々な例紹介してます。
いずれにしてもカスケーディングはカスケーディングスタイルシートCSSの根幹となる仕組みですから、プロパティより先に理解しておかないと使いこなせないですよ。
>できれば直接テーブルのタグをいじるのではなく、スタイルシートの宣言部分で対応したいです。
すべての要素に対して、HTMLは一切弄らずにスタイルの指定はできます。
それが、「構造とプレゼンテーションの分離( http://www.asahi-net.or.jp/%7Esd5a-ucd/rec-html4 … )」、スタイルシートを使う目的なのですから
5 セレクタ( http://momdo.s35.xrea.com/web-html-test/spec/CSS … )
6 プロパティ値とカスケーディング、継承の割り当て( http://momdo.s35.xrea.com/web-html-test/spec/CSS … )
なによりも、兎にも角にも、この二項目は完璧にマスターしましょう。
※細かい点ですが
<table border=1 cellspacing=1 cellpadding=1>ではなく
<table border="1" summary="表の説明">
とするように、cellspacing,cellpaddingは、HTML4.01strict以降はありませんので・・
スタイルシートを使って設定しましょう。
No.2
- 回答日時:
つ nth-child
https://developer.mozilla.org/ja/docs/Web/CSS/:n …
でも3列目だけ変えたいというのなら列にそれなりの意味があるわけですから、
> 直接テーブルのタグをいじるのではなく
と言わずに col を追加したほうがいいと思うんだけどなぁ。
https://developer.mozilla.org/ja/docs/Web/HTML/E …
No.1
- 回答日時:
td:nth-child(3) { スタイル }
タグをいじれないならこう。
css3だから対応しないブラウザもまだある。
http://weboook.blog22.fc2.com/blog-entry-268.html
セレクタについてどうぞ、探してみたら他にも方法があるかも?
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- JavaScript EasyUIのSubGrid(jquery)におけるObjectに入れた連想配列について 1 2022/05/02 11:21
- HTML・CSS テーブルタグのセルの幅の一部だけを指定 1 2023/03/12 12:02
- Visual Basic(VBA) Selenium.ChromeDriverの使い方について 7 2022/09/22 06:43
- JavaScript jQueryで同じクラス名のものを別物として扱いたい 1 2022/06/17 14:14
- 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
- PHP htmlで複数の個数入力欄を表示させるには 1 2022/09/20 03:11
- MySQL SQL任意に並び替えをしたい 2 2023/08/28 10:47
- 工学 【制御工学】単位ステップ応答の遅れ時間の求め方(令和2年度の機械設計技術者試験(制御工学)の問題) 3 2022/11/02 10:51
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
テーブルの任意の列を非表示に...
-
tableにul,または,olを入れられ...
-
TRタグの余白をcssで設定するには
-
スタイルシートで colspan=3と...
-
逆L字の表(table)組み
-
テーブルの行を折りたたみたい...
-
safariで特定条件下でデーブル...
-
cssで、表示されるテキストによ...
-
HTML <td></td>タグ セル内余...
-
ASP GridViewで1レコード2行を...
-
テーブルのセルに画像をピッタ...
-
中に<table></table>が使えるア...
-
html・cssで日付をキレイに揃え...
-
文字列が入っているtdを削除せ...
-
colspanを使うと正しく表示でき...
-
table の行間があいてしまう。
-
テーブルの入れ子について
-
テーブルのレイアウトがおかし...
-
HTMLで外部ファイルの読み込み
-
テーブルタグのセルの幅の一部...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
TRタグの余白をcssで設定するには
-
tableにul,または,olを入れられ...
-
テーブルの任意の列を非表示に...
-
テーブルのヘッダとボディの幅...
-
cssで、表示されるテキストによ...
-
HTML <td></td>タグ セル内余...
-
文字列が入っているtdを削除せ...
-
テーブルのセルに画像をピッタ...
-
テーブルの行を折りたたみたい...
-
テーブルの行の高さを指定する...
-
テーブルの表示がずれます
-
テーブルタグのセルの幅の一部...
-
中に<table></table>が使えるア...
-
逆L字の表(table)組み
-
ホームページ 表の上の余白を...
-
表の中の列の順番を入れ替える...
-
EXCELからhtmlへの変換で罫線が...
-
tableでcolspanを使うと次行以...
-
表の1列だけをCSSを使って右揃...
-
文字の中央そろえを一括で指定...
おすすめ情報