• ベストアンサー

スタイルシートで<table>の内側の線の表示

<table>タグでcellspacing=0にしないと二重線になりますよね? スタイルシートを使ってこの二重線の内側だけを表示することができますか? またその際、色や太さを指定することができますか?

質問者が選んだベストアンサー

  • ベストアンサー
noname#5537
noname#5537
回答No.4

<table style="border: 2px solid red;"> <tr><td style="border: 2px solid blue;">123</td><td style="border: 2px solid black;">456</td></tr> <tr><td style="border: 2px solid green;">789</td><td style="border: 2px solid yellow;">ABC</td></tr> </table> ↑こういうのを試してみると、 どういうことになっているのかよく分かると思います。 赤が table の border で、青黒緑黄が td の border です。 で、前に書いたのが違うとすると yukiusa さんがなさりたいのは、 ↓こんなのでしょうか? <table border="0"> <tr> <td style="border-bottom: 1px solid blue; border-right: 1px solid blue;">123</td> <td style="border-bottom: 1px solid blue; border-left: 1px solid blue;">456</td> </tr> <tr> <td style="border-top: 1px solid blue; border-right: 1px solid blue;">789</td> <td style="border-top: 1px solid blue; border-left: 1px solid blue;">ABC</td> </tr> </table>

yukiusa
質問者

お礼

は~なるほど。<td>にスタイルをつけるんですね~。 なんで思いつかなかったんだろ~。 ありがとうございました!

その他の回答 (4)

noname#107580
noname#107580
回答No.5

こんにちは! ><table style=border-・・・>と書くと、 「外側」の線のみ表示されてしまいますよね? ですので、「内側」の線のみ表示される書き方があるかな?と思って質問してみました。 えーと・・ テーブルに指定すると、外枠に付きますし、セルに指定すると内枠に付きます。 <table style=border-style:solid;border-color:#ff0000> <tr> <td style=border-style:solid;border-color:#ff0000>aa</td> <td>bb</td> </tr> <tr> <td>cc</td> <td>dd</td> </tr> </table> >普通に<table borde=1>のように「外側」「内側」両方表示させるのはスタイルシートではどうやって書くのでしょうか? 2重線にすれば多少近づくかな・・(;^_^A <html> <head> <title>ボーダーの違い</title> <style type="text/css"> <!-- .red_3 { border: 3px double #FF0000; } --> </style> </head> <body> <table width="200" border="1" bordercolor="#FF0000"> <tr> <td>html</td> </tr> </table> <br> <table width="200" border="0" class="red_3"> <tr> <td>css</td> </tr> </table> </body> </html> ちょっと苦しい・・m(_ _)m ・・とここまで書いて、yukiusaさんの最初の質問の意味がやっと分かりました。 ・・で、質問の意味は分かったんですが・・ 答えが分かりません・・・またまたm(_ _)m せっかく書いたのでそのまま送信・・失礼しました・・。

yukiusa
質問者

お礼

<td>にスタイルを書けばいいんだと分かりました! でも、もうちょっとひねってすっきりした書き方がありそうな気がしてきました。 が、初めの質問の謎は解けました。ありがとうございました。m(__)m

noname#107580
noname#107580
回答No.3

こんにちは! こんな感じですか? <head> <title>テーブルにも指定できます</title> <style type="text/css"> <!-- .red_3 { border: 3px solid #CC0000; } --> </style> </head> <body> <table width="400" border="0" cellspacing="5" cellpadding="5"> <tr> <td class="red_3">ネスケ4.*には</td> <td class="red_3">対応していません。</td> </tr> <tr> <td class="red_3">Macは</td> <td class="red_3">どうだったか???</td> </tr> </table> </body> </html>

yukiusa
質問者

お礼

回答ありがとうございます。 <table style=border-style:solid;border-color:#ff0000>と書くと、 「外側」の線のみ表示されてしまいますよね? ですので、「内側」の線のみ表示される書き方があるかな?と思って質問してみました。 ちなみにMAC IEでも同じように表示されます。 【border】というCSSは何を指しているのでしょうか? そもそも私、ちょっと勘違いしているような気がしてきました。 普通に<table borde=1>のように「外側」「内側」両方表示させるのはスタイルシートではどうやって書くのでしょうか?

noname#5537
noname#5537
回答No.2

<table border="0"> <tr><td style="border: 1px solid blue;">123</td><td style="border: 1px solid blue;">456</td></tr> <tr><td style="border: 1px solid blue;">789</td><td style="border: 1px solid blue;">ABC</td></tr> </table> こんなのでしょうか?

yukiusa
質問者

お礼

回答ありがとうございます。 <table style=border-style:solid;border-color:#ff0000>と書くと、 「外側」の線のみ表示されてしまいますよね? ですので、「内側」の線のみ表示される書き方があるかな?と思って質問してみました。 そもそも私、ちょっと勘違いしていますかね? 普通に<table borde=1>のように「外側」「内側」両方表示させるのはスタイルシートではどうやって書くのでしょうか?

回答No.1

こんにちは。  ちょっと、勘違いされていませんか?  Cell Spacing ・・・セル間の幅、です。2重線とかそういう問題ではありません。セルとセルの間の幅をどれくらいにするか、です。従って、0にすればセル同士の線が重なってソリッド線に見えますし、1以上にすればセルとセルの間に隙間ができるので、2重線を引いているように見えます。このため「内側」とか、そういうものは存在しません。というより、「内側の線だけの2重線」というのが想像できないのですが・・・2重のうちの内側だけって、1重線じゃないの??  border系で表現できることでしょうか?

yukiusa
質問者

お礼

質問の書き方が悪かったですね。 すみませんでした。

関連するQ&A