• ベストアンサー

テーブルの境界線を消したい!!

上司に言われてHTMLを作成していますが、「横に並ぶ二つのテーブルの間の境界線を消せ」とワガママ言われて困っています・・・。 プログラムの関係上、セルを結合させるといけないので、見かけ上の線だけを消したいのですが、可能なのでしょうか?? 例えば、 <TABLE BORDER=1> <TR><TD>A</TD><TD>B</TD></TR> </TABLE> という場合に、AセルとBセルの間の線だけを消すことはできますか? すみません、今日中に作れと言われているので、至急回答をいただけると助かります・・・ よろしくお願い致しますm(_ _)m

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

  • ベストアンサー
  • sight
  • ベストアンサー率53% (199/370)
回答No.5

う~ん・・・そこまで細かいとRULES属性とかでもどうにもならないと思います。 まだ、横線だけ、とかTFOOTとTBODYを区別しろ、とかなら可能ですけど、HTML的にTDでマークアップした全く同列のセルを、周りと違うものとして区別することはできません。もともとの概念的に無理だと思います。 スタイルシートを使ってもBORDERはTDがつけているわけではなくてTABLE単位でつけているので、無理でしょう。 やっぱり、「表」であるということを無視してデザインだけのためにTABLE要素を使い、 <TABLE BORDER=1> <TR><TD>あ</TD><TD>い</TD><TD>う</TD></TR> <TR><TD> <TABLE FRAME="none"> <TR><TD>A</TD><TD>B</TD> </TABLE> </TD><TD>C</TD></TR> </TABLE> とするしかないんじゃないかと思うのですが。 これだと、プログラムでの書き出し(動的なHTMLページなんでしょうね)に不都合が生じますか? #***SPAN属性などでセルをまとめるのがダメだったら、これも五十歩百歩だろうなぁ・・・。

dongurineko
質問者

お礼

ありがとうございます! span属性なしで、という条件をクリアしているので、これでもう少し調整すれば行けるかもしれません。 だいぶ形が整ってきたので、何とかなりそうです。 ありがとうございました!!

その他の回答 (5)

回答No.6

う~ん、ネスケ4.Xでダメっすねぇ…。 <HTML><HEAD> <TITLE>test</TITLE> <STYLE TYPE="text/css"> <!-- TD { border-style: double; } TD.left { border-style: double none double double; } TD.right { border-style: double double double none; } --> </STYLE></HEAD> <BODY> <TABLE cellspacing="0"> <TR> <TD class="left">あ</TD> <TD class="right">い</TD> <TD>う</TD> </TR> <TR> <TD>A</TD> <TD>B</TD> <TD>C</TD> </TR> </TABLE> </BODY></HTML>

dongurineko
質問者

お礼

ありがとうございます!お礼が遅くなりまして申し訳ありません・・・ だいぶ出来てきました。 皆さまのアドバイスのお蔭です!! ありがとうございました!!

  • sesame
  • ベストアンサー率49% (1127/2292)
回答No.4

sightさんの回答とお礼、拝見しました。 つまりはこんな感じでいいでしょうか? <TABLE BORDER=1> <TR><TD>あ</TD><TD>い</TD><TD>う</TD></TR> <TR><TD colspan=2> <TABLE BORDER=0> <TR><TD>A</TD><TD>B</TD><TR> </TABLE> </TD><TD>C</TD></TR> </TABLE> </P>

dongurineko
質問者

お礼

何度もありがとうございます。 だいぶ近づいてきました!! ただ、下にも書きましたがcolspanがどのあたりまで使っていいのかが私自身よく分かっていないので、上司に相談してみます。 でも、なんとなく行けそうになってきました・・・!!

  • a-kuma
  • ベストアンサー率50% (1122/2211)
回答No.3

<TD> タグの colspan 属性を使うとできます。こんな感じ。 <TABLE BORDER=1> <TR><TD>あ</TD><TD>い</TD><TD>う</TD></TR> <TR><TD colspan=2>AB</TD><TD>C</TD></TR> </TABLE> 二つのセルを一緒にする、というよりも、このセルは二つ分の列を使うんだ、 という指定になります。 因みに、行(縦)方向につなげるには、rowspan 属性を使います。こんな感じ。 <TABLE BORDER=1> <TR><TD rowspan=2>あ<br>A</TD><TD>い</TD><TD>う</TD></TR> <TR><TD>B</TD><TD>C</TD></TR> </TABLE>

dongurineko
質問者

お礼

ありがとうございます。 見た目はほぼ理想どおりなのですが、colspanを使うとプログラム上支障が出る、とのことで却下されました・・・(泣) 私自身、プログラムとの連携をよく理解していないので上手くご説明できなくて・・・ ご回答ありがとうございました。

  • sight
  • ベストアンサー率53% (199/370)
回答No.2

外枠を消さずに、内枠だけ消したい、ということですよね? Ineternet Explorerならば内枠のボーダーの表示をコントロールするRULES属性が効くので、 <TABLE FRAME="box" RULES="none" BORDER="1"> でいけるんですが、Netscape4.xではうまくいかないです。 一番確実なのは、 <TABLE BORDER=1> <TR><TD> <TABLE FRAME="none"> <TR><TD>A</TD><TD>B</TD></TR> </TABLE> </TD></TR> </TABLE> みたいな感じにするしかないんじゃないですかね。 外側のテーブルは外枠表示専用、セル一つにしてしまって。

dongurineko
質問者

お礼

ありがとうございます。 またまた私の説明不足でして、実際は <TABLE BORDER=1> <TR><TD>あ</TD><TD>い</TD><TD>う</TD></TR> <TR><TD>A</TD><TD>B</TD><TD>C</TD></TR> </TABLE> のようにいくつか並んだセルの、AとBの間だけを消す、というものなんです・・・。("B"と"C"の間や、"あ"と"A"の間はそのままで) すみません。。。説明が全然足りてなくて・・・ちょっと慌ててたもので・・・ 教えていただいた方法で応用できないか試してみましたが、上手くいきませんでした・・・すみません・・・。

  • sesame
  • ベストアンサー率49% (1127/2292)
回答No.1

<TABLE BORDER=1> ↑これを <TABLE BORDER=0> のようにすればOK. ただこうするとAとBのセルがくっついてしまうので、間に余白を空けたければ、 <TABLE BORDER=0 CELLSPACING=1> としてやればOKです。

dongurineko
質問者

補足

ありがとうございます。 すみません、説明不足でした・・・。 周りの線(テーブルの枠線)はそのままで、AとBの間の線のみを消したいのです・・・。こういうことはできるのでしょうか・・・???

関連するQ&A