<style type="text/css">
<!--
table {
border: 1px red solid;
padding:30px 30px;
}
</style>
<body>
<table border=3>
<tr><td>test</td><td>test</td></tr>
<tr><td>test</td><td>test</td></tr>
</table>
これだと、赤いテーブルの内側のみしかpaddingが有効にならないのですが、
黒いテーブルの枠もpaddingするには、
td {
padding:30px 30px;
}
とするしかないのでしょうか?
クラス名を付けて、やりたいテーブルのtdタグだけ適用させたい場合は、
td.aaa {
padding:30px 30px;
}
として、
<table border=3>
<tr><td class="aaa">test</td class="aaa"><td class="aaa">test</td class="aaa"></tr>
<tr><td class="aaa">test</td class="aaa"><td class="aaa">test</td class="aaa"></tr>
</table>
のように、すべてのtdタグにクラス名を付けるしかないのですか?
A 回答 (3件)
- 最新から表示
- 回答順に表示
No.3
- 回答日時:
tableをしっかり理解しましょう。
tdやthはtableではなくセル(cell)です。
★スタイルシートでは、table要素、tr要素、th要素、td要素は個別に指定できます。
borderは継承されませんからtableに指定してもその子孫には適用されない。
★指定がない場合は、ブラウザが持つデフォルトのスタイルシートが適用されます。
仕様書どおりに厳密に書くと・
<table border="3" summary="テストの表"><!-- summaryは必須 -->
<tbody><!-- tbodyは本来は書くべき -->
<tr>
<td>test</td>
<td>test</td>
<td>test</td>
</tr>
<tr>
<td>test</td>
<td>test</td>
<td>test</td>
</tr>
</tbody>
</table>
構造が分かりやすいように全角文字でインデントさせています。
タイプセレクタ
table{}という指定で、HTMLのtable要素すべてに適用されます。
※ただしtable要素のみ。
table{
border-collapse: separate;/* 分離ボーダーモデル、結合モデルのときはcollapse */
border-spacing: 5px; /* 分離ボーダーモデルのときのセル間の間隔 */
padding: 5px;
border-style: solid;
border-width: 3px;
border-color: red;/* まとめてborder: solid red 3px;とも書ける */
border-right-width:6px;
border-bottom-color: green;/* このように個別に指定もできる */
}
th,td{
border: solid 1px blue;
padding:1em 2em;
}
二行目以降の枠線の色を変えたければ
tr+tr th,tr+tr td{border-color:lime;}
二列目以降なら
td + td,th + th{border-style:dotted;}
二行目だけなら
tr:nth-child(2){background-colr:yellow;}
色々なテーブルの中で、このtableだけなら
table[summary="テストの表"]{
border-collapse: separate;
border-spacing: 5px;
padding: 5px;
border: solid red 3px;
border-right-width:6px;
border-bottom-color: green;
}
table[summary="テストの表"] th,
table[summary="テストの表"] td{
border: solid 1px blue;padding:1em 2em;
}
table[summary="テストの表"] tr+tr th,
table[summary="テストの表"] tr+tr td{border-color:lime;}
table[summary="テストの表"] td + td,
table[summary="テストの表"] th + th{border-style:dotted;}
table[summary="テストの表"] tr:nth-child(2){background-colr:yellow;}
とすれば他のtableにはsummaryの値が同じでない限り適用されない。
以上、まず試してください。
>すべてのtdタグにクラス名を付けるしかないのですか?
・クラス名はあくまで文書の構造を保管するためで、デザインのために書くのではありません。
・クラス名はなくとも、指定はできます。
CSS(カスケーディングスタイルシート)は、そのカスケーディング(次々に影響を与えていく)の機能があるから、優れていてウェブ標準として活用されているのです。
このカスケーディングの仕組みを知らないと「デザインのためにクラスをつける」なんて、本末転倒になってしまう。
5 セレクタ( http://momdo.s35.xrea.com/web-html-test/spec/CSS … )
6 プロパティ値とカスケーディング、継承の割り当て( http://momdo.s35.xrea.com/web-html-test/spec/CSS … )
No.2
- 回答日時:
スタイルシートではスペースで区切ると子要素や孫要素を指定できます。
例えばtableにclassなりidをつけて
<table class="abc">
<tr><td>test</td><td>test</td></tr>
<tr class="second"><td>test</td><td>test</td></tr>
</table>
と書いたとき
table.abc td{
}
と書けば、abcクラスのテーブルの中のtdを指定できます。
直下のを指定したい場合は>を使います。
table.abc > tr.second > td{
}
どういうセレクタがあるか、全体的に知っておいたほうがいいです。
流し読みでもいいので一通り押さえておくといいでしょう。
※閉じタグにまでclassが入ってますよ…笑
No.1
- 回答日時:
スタイルシートではスペースで区切ると子要素や孫要素を指定できます。
例えばtableにclassなりidをつけて
<table class="abc">
<tr><td>test</td><td>test</td></tr>
<tr class="second"><td>test</td></tr>
</table>
と書いたとき
table.abc td{
}
と書けば、abcクラスのテーブルの中のtdを指定できます。
直下のを指定したい場合は>を使います。
table.abc > tr.second > td{
}
どういうセレクタがあるか、全体的に知っておいたほうがいいです。
流し読みでもいいので一通り押さえておくといいでしょう。
※閉じタグにまでclassが入ってますよ…笑
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
関連するカテゴリからQ&Aを探す
おすすめ情報
- ・漫画をレンタルでお得に読める!
- ・人生のプチ美学を教えてください!!
- ・10秒目をつむったら…
- ・あなたの習慣について教えてください!!
- ・牛、豚、鶏、どれか一つ食べられなくなるとしたら?
- ・【大喜利】【投稿~9/18】 おとぎ話『桃太郎』の知られざるエピソード
- ・街中で見かけて「グッときた人」の思い出
- ・「一気に最後まで読んだ」本、教えて下さい!
- ・幼稚園時代「何組」でしたか?
- ・激凹みから立ち直る方法
- ・1つだけ過去を変えられるとしたら?
- ・【あるあるbot連動企画】あるあるbotに投稿したけど採用されなかったあるある募集
- ・【あるあるbot連動企画】フォロワー20万人のアカウントであなたのあるあるを披露してみませんか?
- ・映画のエンドロール観る派?観ない派?
- ・海外旅行から帰ってきたら、まず何を食べる?
- ・誕生日にもらった意外なもの
- ・天使と悪魔選手権
- ・ちょっと先の未来クイズ第2問
- ・【大喜利】【投稿~9/7】 ロボットの住む世界で流行ってる罰ゲームとは?
- ・推しミネラルウォーターはありますか?
- ・都道府県穴埋めゲーム
- ・この人頭いいなと思ったエピソード
- ・準・究極の選択
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
tableにul,または,olを入れられ...
-
テーブルの行を折りたたみたい...
-
テーブルの任意の列を非表示に...
-
テーブルのヘッダとボディの幅...
-
テーブルタグの横に文章が入ら...
-
TRタグの余白をcssで設定するには
-
テーブルのレイアウトがおかし...
-
中に<table></table>が使えるア...
-
テーブルのセルに画像をピッタ...
-
逆L字の表(table)組み
-
テーブルの表示がずれます
-
スタイルシートで colspan=3と...
-
nowrapを指定しても改行される...
-
テーブルの行の高さを指定する...
-
文字列が入っているtdを削除せ...
-
テーブルタグの中に<ol><li>を...
-
HTMLで外部ファイルの読み込み
-
cssで、表示されるテキストによ...
-
チェックボックスが複数チェッ...
-
tableでcolspanを使うと次行以...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
テーブルの行を折りたたみたい...
-
tableにul,または,olを入れられ...
-
TRタグの余白をcssで設定するには
-
テーブルのヘッダとボディの幅...
-
テーブルの任意の列を非表示に...
-
cssで、表示されるテキストによ...
-
ホームページ 表の上の余白を...
-
tableでcolspanを使うと次行以...
-
中に<table></table>が使えるア...
-
html・cssで日付をキレイに揃え...
-
テーブルの行の高さを指定する...
-
テーブルタグのセルの幅の一部...
-
文字列が入っているtdを削除せ...
-
逆L字の表(table)組み
-
テーブルのセルに画像をピッタ...
-
EXCELのセル内にHTMLタグを含む...
-
テーブルタグの中に<ol><li>を...
-
HTML <td></td>タグ セル内余...
-
テーブルの表示がずれます
-
テーブルの装飾
おすすめ情報