CSSでTRに枠線種を指定、TDで背景色を指定したいのですが、
Firefoxでは思惑通り表示されますが、IEではTRの枠線が表示されません。
何か良い対応策は無いでしょうか?
== CSS ==
TABLE {
border-collapse: collapse;
}
.grid {
border: solid 1px;
border-color: #888;
}
.nogrid {
border: none;
}
.title {
background-color: #ff7;
}
.data1 {
background-color: #eef;
}
.data2 {
background-color: #fff;
}
== HTML ==
<table>
<tr class="grid">
<td class="title">項目1</td>
<td class="title">項目2</td>
<td class="title">項目3</td>
</tr>
<tr class="nogrid">
<td class="data1">値1</td>
<td class="data1">値2</td>
<td class="data1">値3</td>
</tr>
<tr class="nogrid">
<td class="data2">値1</td>
<td class="data2">値2</td>
<td class="data2">値3</td>
</tr>
</table>
No.1
- 回答日時:
「<tr class="grid">~</tr>」に挟まれた「<td class="title">~</td>」に枠線を表示したい…という意味ですよね?
.grid {
border: solid 1px;
border-color: #888;
}
の部分を
.grid td {
border: solid 1px;
border-color: #888;
}
にすると可能です。(他にも書き方はありますが)
また、この場合は
.nogrid {
border: none;
}
は必要ありませんので、「<tr class="nogrid">」の部分を「<tr>」にして構いません。
また、「<tr class="grid">~</tr>」に挟まれた「<td class="title">~</td>」に枠線と背景色を同時に指定したい場合は、
.grid {
border: solid 1px;
border-color: #888;
}
の部分を
.grid td {
border: solid 1px;
border-color: #888;
background-color: #ff7;
}
のようにすると可能です。
この場合は
.nogrid {
border: none;
}
.title {
background-color: #ff7;
}
は必要ありませんので、「<tr class="nogrid">」の部分を「<tr>」に、「<td class="title">」の部分を「<td>」にして構いません。
Firefoxは使っていないので、これらがFirefoxでも正常に表示されるかは分かりませんが…。
この回答への補足
回答を頂きましてありがとうございます。
> <tr class="grid">~</tr>」に挟まれた「<td class="title">~</td>」に枠線を表示したい…という意味ですよね?
ではなく、TRには線を表示し、TDには線を表示したくないのです。
伝わりにくい質問で申し訳無いです。
御回答頂いた方法ですと、TDにも枠線が表示されます。
+--------+--------+--------+
| 項目1 | 項目2 | 項目3 |
+--------+--------+--------+
以下のようにTRのみに線を表示し、TDには線を表示したくないのです。
+--------------------------+
| 項目1 項目2 項目3 |
+--------------------------+
よろしくお願いします。
No.2
- 回答日時:
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN">
<html lang="ja">
<head>
<meta http-equiv="content-type" content="text/html;charset=shift_jis">
<title>テーブルの横線のみ表示</title>
<meta http-equiv="content-style-type" content="text/css;charset=shift_jis">
<style type="text/css">
<!--
table {
border-width: 3px;
border-color: #ffffff;
border-style: outset;
border-collapse: collapse;
}
th, td {
padding: 10px;
border-width: 3px;
border-color: #ffffff;
border-style: inset none none none;
}
#a1 {
background-color: #ff0000;
}
#a2 {
background-color: #00ff00;
}
#a3 {
background-color: #0000ff;
}
#b1 {
background-color: #ffff00;
}
#b2 {
background-color: #ff00ff;
}
#b3 {
background-color: #00ffff;
}
-->
</style>
</head>
<body>
<table rules="rows">
<tr>
<th>項目1</td>
<th>項目2</td>
<th>項目3</td>
</tr>
<tr>
<td id="a1">値1</td>
<td id="a2">値2</td>
<td id="a3">値3</td>
</tr>
<tr>
<td id="b1">値1</td>
<td id="b2">値2</td>
<td id="b3">値3</td>
</tr>
</table>
</body>
</html>
No.3ベストアンサー
- 回答日時:
table {
border-width:0px;
border-collapse: collapse;
}
tr {
height:auto;
}
.grid1 {
text-align:center;
border-width:1px 0px 0px 1px;
border-style:solid;
border-color:#888;
background-color: #ff7;
padding:5px;
}
.grid2 {
text-align:center;
border-width:1px 0px 0px 0px;
border-style:solid;
border-color:#888;
background-color: #ff7;
padding:5px;
}
.grid3 {
text-align:center;
border-width:1px 1px 0px 0px;
border-style:solid;
border-color:#888;
background-color: #ff7;
padding:5px;
}
.data1 {
text-align:center;
border-width:1px 0px 0px 0px;
border-style:solid;
border-color:#888;
background-color: #eef;
padding:5px;
}
.data2 {
text-align:center;
border-width:1px;
border-style:solid;
border-color:#fff;
background-color: #fff;
padding:5px;
}
<table>
<tr>
<td class="grid1">項目1</td>
<td class="grid2">項目2</td>
<td class="grid3">項目3</td>
</tr>
<tr>
<td class="data1">値1</td>
<td class="data1">値2</td>
<td class="data1">値3</td>
</tr>
<tr>
<td class="data2">値1</td>
<td class="data2">値2</td>
<td class="data2">値3</td>
</tr>
</table>
ご回答いただきありがとうございます。
TDの最左、最右、中の項目でスタイルを切り替える形になりますか。
やはりTRに指定するのではなくcrepon133さんの言うように
線種や色が違うTDごとにスタイルを用意することにします。
ありがとうございました。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- HTML・CSS テーブルタグのセルの幅の一部だけを指定 1 2023/03/12 12:02
- JavaScript EasyUIのSubGrid(jquery)におけるObjectに入れた連想配列について 1 2022/05/02 11:21
- HTML・CSS 【CSS】:hasで可能? imgを含むtr要素を選択したい 1 2022/11/17 14:36
- JavaScript jQueryで同じクラス名のものを別物として扱いたい 1 2022/06/17 14:14
- Visual Basic(VBA) Selenium.ChromeDriverの使い方について 7 2022/09/22 06:43
- AJAX JavascriptからPHPへのAjax通信でnullが返ってくる 3 2022/08/03 22:00
- Perl PERL 1 2022/04/26 14:15
- HTML・CSS 自身のHPにYouTube動画を貼り付けるのが出来なくなり困ってます 1 2022/11/11 10:44
- MySQL SQL任意に並び替えをしたい 2 2023/08/28 10:47
- PHP htmlで複数の個数入力欄を表示させるには 1 2022/09/20 03:11
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
商品詳細を横並びに表示する方法
-
formのinputなどの幅100%指定
-
html でのテキスト結合について
-
tableタグとformタグの組み合わせ
-
テーブルの線を点線にする
-
リンクをクリック出来ない。
-
縦方向の位置決め
-
table タグで3列の表を作ると...
-
cssで、テーブルのtdの中の文字...
-
ブラウザ上でのタブ・シフトタ...
-
【C#】Listを使った自作プロパ...
-
style=displayでの表示/非表示...
-
商品一覧をtableタグで表示する
-
前の質問のソースです
-
テーブルの行を折りたたみたい...
-
TABLEのセルの中の文字を行単位...
-
テーブル幅が固定できない
-
テーブルとテーブルの間隔について
-
テーブルのヘッダとボディの幅...
-
正規表現で「より前」と「より後」
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
html でのテキスト結合について
-
tableタグとformタグの組み合わせ
-
テーブルの一部分のセルだけに...
-
同じクラス名はつけないほうが...
-
テーブル内のテーブルの高さを...
-
XHTMLに関する質問 順序が逆に...
-
Tableタグ内のspan styleが適応...
-
Tableタグで作成した表の縮小
-
ブラウザによってテーブルのセ...
-
cssで、テーブルのtdの中の文字...
-
td要素内のdiv要素をセンタリン...
-
vbscriptで時計を作りたい
-
formのinputなどの幅100%指定
-
Firefoxを使ってるのですがズー...
-
テーブルの枠線に色が付かない
-
divで囲んだ文字が消える
-
TDタグ内での均等割付の仕方
-
表とリスト(ulとtable)の違い...
-
firefoxで「height: 100%;」と...
-
<img>タグにCSSのclass設定可能?
おすすめ情報