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.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ごとにスタイルを用意することにします。
ありがとうございました。
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.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 |
+--------------------------+
よろしくお願いします。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
関連するカテゴリからQ&Aを探す
おすすめ情報
- ・漫画をレンタルでお得に読める!
- ・一回も披露したことのない豆知識
- ・これ何て呼びますか
- ・チョコミントアイス
- ・初めて自分の家と他人の家が違う、と意識した時
- ・「これはヤバかったな」という遅刻エピソード
- ・これ何て呼びますか Part2
- ・許せない心理テスト
- ・この人頭いいなと思ったエピソード
- ・牛、豚、鶏、どれか一つ食べられなくなるとしたら?
- ・あなたの習慣について教えてください!!
- ・ハマっている「お菓子」を教えて!
- ・高校三年生の合唱祭で何を歌いましたか?
- ・【大喜利】【投稿~11/1】 存在しそうで存在しないモノマネ芸人の名前を教えてください
- ・好きなおでんの具材ドラフト会議しましょう
- ・餃子を食べるとき、何をつけますか?
- ・あなたの「必」の書き順を教えてください
- ・ギリギリ行けるお一人様のライン
- ・10代と話して驚いたこと
- ・家の中でのこだわりスペースはどこですか?
- ・つい集めてしまうものはなんですか?
- ・自分のセンスや笑いの好みに影響を受けた作品を教えて
- ・【お題】引っかけ問題(締め切り10月27日(日)23時)
- ・大人になっても苦手な食べ物、ありますか?
- ・14歳の自分に衝撃の事実を告げてください
- ・架空の映画のネタバレレビュー
- ・「お昼の放送」の思い出
- ・昨日見た夢を教えて下さい
- ・ちょっと先の未来クイズ第4問
- ・【大喜利】【投稿~10/21(月)】買ったばかりの自転車を分解してひと言
- ・メモのコツを教えてください!
- ・CDの保有枚数を教えてください
- ・ホテルを選ぶとき、これだけは譲れない条件TOP3は?
- ・家・車以外で、人生で一番奮発した買い物
- ・人生最悪の忘れ物
- ・【コナン30周年】嘘でしょ!?と思った○○周年を教えて【ハルヒ20周年】
- ・10秒目をつむったら…
- ・人生のプチ美学を教えてください!!
- ・あなたの習慣について教えてください!!
- ・都道府県穴埋めゲーム
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
tableタグとformタグの組み合わせ
-
html でのテキスト結合について
-
テーブルの一部分のセルだけに...
-
formのinputなどの幅100%指定
-
td要素内のdiv要素をセンタリン...
-
Tableタグで作成した表の縮小
-
HTMLでテーブルタグ<table>を使...
-
<img>タグにCSSのclass設定可能?
-
Visual Studio で CLR 開発でデ...
-
<BODY>~</BODY> の中に <STYLE...
-
table内の画像を中央寄せ、のせ...
-
HTMLのPOSTで値が正しく送信で...
-
Dreamweaver デザインビューの...
-
テーブルのセル内の隙間を取れ...
-
表とリスト(ulとtable)の違い...
-
vbscriptで時計を作りたい
-
テーブルタグの中にdivを含めて...
-
テーブル内に画像を表示したい。
-
テーブルの位置を細かく指定し...
-
cssで、表示されるテキストによ...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
tableタグとformタグの組み合わせ
-
html でのテキスト結合について
-
テーブルの一部分のセルだけに...
-
同じクラス名はつけないほうが...
-
td要素内のdiv要素をセンタリン...
-
Tableタグ内のspan styleが適応...
-
divで囲んだ文字が消える
-
XHTMLに関する質問 順序が逆に...
-
Tableタグで作成した表の縮小
-
<img>タグにCSSのclass設定可能?
-
Firefoxを使ってるのですがズー...
-
cssで、テーブルのtdの中の文字...
-
表とリスト(ulとtable)の違い...
-
trとtrの間
-
Dreamweaver デザインビューの...
-
formのinputなどの幅100%指定
-
同じwidth=200でもセル内の文字...
-
vbscriptで時計を作りたい
-
Visual Studio で CLR 開発でデ...
-
4カラムのテーブルに絶対幅と相...
おすすめ情報