
普通にテーブルで表を作ると線が立体的になってしまいますよね。
これを、特定のテーブルだけを普通の罫線だけで作られたような表にしたいと思っています。
テーブルを立体でなく罫線にするには、
【例1】
<STYLE type="text/css">
<!--
td{border-style:solid; border-width:1pt 1pt 1pt 1pt;border-color: #000000;}
--></STYLE>
というスタイルシートを<head>内に書く。
【例2】
<table bgcolor="#000000" border="0" cellspacing="0" cellpadding="0">
<tr><td>
<table border="0" cellspacing="1" cellpadding="0">
<tr><td bgcolor="#ffffff">セル1</td><td bgcolor="#ffffff">セル2</td></tr>
<tr><td bgcolor="#ffffff">セル3</td><td bgcolor="#ffffff">セル4</td></tr>
</table>
</td></tr>
</table>
という入れ子状態にする。
概ねこの2種類の方法が一般的だと思います。
が、【例1】の方法は作るテーブル全てがこのスタイルになってしまいます。
【例2】は小さい表にはいいですが、セルが大量にある表に使うのは無駄が多く、タグが複雑になるので修正時も面倒です。
これを、個々のテーブルに対して例1のようなスタイルシートを使用して作れないものでしょうか?
<span>を使って出来そうな気がするのですが、いろいろ試すもののどうもうまくいきません。こういう場合の合理的な方法をご存知でしたら教えていただけますか。
No.6
- 回答日時:
えーと・・・・
collapseを使います。IE6やFirefoxで問題ないので、これで十分でしょう。
<style type="text/css">
table#hoge {
border-collapse: collapse;
}
table#hoge td{
border:solid 1pt;
border-color: #000000;
}
</style>
<table id="hoge">
<tr><td>セル1</td><td>セル2</td></tr>
<tr><td>セル3</td><td>セル4</td></tr>
</table>
へえ~、こんなやり方もあるのですね。ホントいろいろあるもんですね。
スタイルシートって正直あんまりよく分かってなかったので、これを機にしっかり勉強します。
ありがとうございました。参考にさせていただきます。
No.5
- 回答日時:
スタイルシートを使った【例1】(回答例)の方がよいのを前提として、
>【例2】は小さい表にはいいですが、セルが大量にある表に使うのは無駄が多く、タグが複雑になるので修正時も面倒です。
確かにこの例では無駄がありすぎますが、「入れ子にしない」「tbodyを使う」をすれば、無駄は省けます。
お試しください。
<table border="0" bgcolor="#000000" cellspacing="1" cellpadding="0">
<tbody bgcolor="#ffffff">
<tr><td>セル1</td><td>セル2</td></tr>
<tr><td>セル3</td><td>セル4</td></tr>
</tbody>
</table>
こんな方法もあるんですね!tbodyですか、これも初めて知りました。
これは非常にシンプルで分かりやすいですね。
各々のテーブルを別々に指定したいときはスタイルシートを使うまでもなく、ダイレクトに指定できるこの方法がより無駄がないかもしれません。
ありがとうございました。
No.4
- 回答日時:
>【例1】の方法は作るテーブル全てがこのスタイルになってしまいます。
class名を指定すれば指定したクラスにだけスタイルが適用されます。
また、全てのTDタグにclass属性をつけるのは面倒なので、
テーブルにクラス属性を付け、その中のTDタグのスタイルをまとめて指定する方が楽です。
<style type="text/css">
<!--
TABLE.flat TD{
border-style:solid; border-width:1pt 1pt 1pt 1pt;border-color: #000000;
}
-->
</style>
スタイルを上記の様にし、テーブルタグにclass属性を指定する。
<table class="flat">
すると、そのテーブル内の全てのTDタグに上記のスタイルが適用されます。
No.2
- 回答日時:
class属性はどうでしょう?(自信ナシ^^;)
例)
<style type="text/css">
<!--
.Class1{border-width : 1px 1px 1px 1px;border-style : solid;border-color : black;}
.Class2{border-width : 1px 1px 1px 1px;border-style : solid;border-color : red;}
.Class3{border-width : 1px 1px 1px 1px;border-style : solid;border-color : green;}
-->
</style>
<head></head>内に書く
3*3のテーブルとして黒、赤、緑を指定してあります。
<table border="0">
<tbody>
<tr>
<td class="Class1">黒</td>
<td class="Class1"></td>
<td class="Class1"></td>
</tr>
<tr>
<td class="Class2">赤</td>
<td class="Class2"></td>
<td class="Class2"></td>
</tr>
<tr>
<td class="Class3">緑</td>
<td class="Class3"></td>
<td class="Class3"></td>
</tr>
</tbody>
</table>
2*2のテーブルだけどそれぞれ罫線の色が違う場合はこんな感じで。
<table border="0">
<tbody>
<tr>
<td class="Class1">黒</td>
<td class="Class2">赤</td>
</tr>
<tr>
<td class="Class3">緑</td>
<td class="Class1">黒</td>
</tr>
</tbody>
</table>
この回答への補足
他の方のアドバイスで、classを使うのも有効であることがわかりました。
よく知らない立場でありながら偉そうなことを書きまして失礼いたしました。自分の無知がお恥ずかしい限りです・・・
(↓お礼の後で書きました)
classを設定しても結局TDひとつひとつに全てclass属性を付けないといけないので、bgcolorを記入するのとあまり変わりません。TDの線の設定はまとめて変えられるのでその点はメリットがありますが・・・
(でもそれぐらいならテキストエディターの一括置換でもできるし・・・)
classの使い方はすでに知っていましたので試してみたところ、あまり合理的でなかったので、他の方法を探していました。
せっかく書いていただいたのに、説明不足ですみませんでした。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- HTML・CSS テーブルタグのセルの幅の一部だけを指定 1 2023/03/12 12:02
- Visual Basic(VBA) Selenium.ChromeDriverの使い方について 7 2022/09/22 06:43
- JavaScript EasyUIのSubGrid(jquery)におけるObjectに入れた連想配列について 1 2022/05/02 11:21
- JavaScript jQueryで同じクラス名のものを別物として扱いたい 1 2022/06/17 14:14
- HTML・CSS 自身のHPにYouTube動画を貼り付けるのが出来なくなり困ってます 1 2022/11/11 10:44
- AJAX JavascriptからPHPへのAjax通信でnullが返ってくる 3 2022/08/03 22:00
- PHP htmlで複数の個数入力欄を表示させるには 1 2022/09/20 03:11
- HTML・CSS 【CSS】:hasで可能? imgを含むtr要素を選択したい 1 2022/11/17 14:36
- MySQL SQL任意に並び替えをしたい 2 2023/08/28 10:47
- JavaScript javascriptでテーブルに追加した項目のid追加してローカルストレージを操作したい 5 2023/01/01 15:52
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
中に<table></table>が使えるア...
-
TRタグの余白をcssで設定するには
-
テーブルのセルに画像をピッタ...
-
tableにul,または,olを入れられ...
-
テーブルの行を折りたたみたい...
-
tableでcolspanを使うと次行以...
-
cssで、表示されるテキストによ...
-
文字列が入っているtdを削除せ...
-
テーブル入れ子した時の、テー...
-
width指定したTDでwhite-space:...
-
html・cssで日付をキレイに揃え...
-
テーブルの行の高さを指定する...
-
ホームページ 表の上の余白を...
-
テーブルの任意の列を非表示に...
-
CSSだけで<table>の<td>や<tr>...
-
画像のロールオーバーがずれて...
-
縦に、中央揃えたい
-
テーブルの行の背景色をマウス...
-
テーブルタグの中のthやtdに文...
-
HTMLで文とテーブルの間が空く。
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
テーブルの行を折りたたみたい...
-
TRタグの余白をcssで設定するには
-
tableにul,または,olを入れられ...
-
テーブルの任意の列を非表示に...
-
テーブルのヘッダとボディの幅...
-
中に<table></table>が使えるア...
-
cssで、表示されるテキストによ...
-
テーブルのセルに画像をピッタ...
-
ホームページ 表の上の余白を...
-
文字列が入っているtdを削除せ...
-
tableの要素(tr、td)に一...
-
テーブルの表示がずれます
-
tdなどの閉じタグは省略しても...
-
HTML <td></td>タグ セル内余...
-
EXCELからhtmlへの変換で罫線が...
-
HTMLのテーブルで桁をそろ...
-
html・cssで日付をキレイに揃え...
-
tableでcolspanを使うと次行以...
-
逆L字の表(table)組み
-
CSSだけで<table>の<td>や<tr>...
おすすめ情報