最新閲覧日:

上司に言われてHTMLを作成していますが、「横に並ぶ二つのテーブルの間の境界線を消せ」とワガママ言われて困っています・・・。
プログラムの関係上、セルを結合させるといけないので、見かけ上の線だけを消したいのですが、可能なのでしょうか??

例えば、

<TABLE BORDER=1>
<TR><TD>A</TD><TD>B</TD></TR>
</TABLE>

という場合に、AセルとBセルの間の線だけを消すことはできますか?
すみません、今日中に作れと言われているので、至急回答をいただけると助かります・・・
よろしくお願い致しますm(_ _)m

A 回答 (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>
    • good
    • 0
この回答へのお礼

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

お礼日時:2001/09/19 23:03

う~ん・・・そこまで細かいと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属性などでセルをまとめるのがダメだったら、これも五十歩百歩だろうなぁ・・・。
    • good
    • 0
この回答へのお礼

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

お礼日時:2001/09/18 11:32

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>
    • good
    • 0
この回答へのお礼

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

お礼日時:2001/09/18 11:29

<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>
    • good
    • 0
この回答へのお礼

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

お礼日時:2001/09/18 11:25

外枠を消さずに、内枠だけ消したい、ということですよね?


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>

みたいな感じにするしかないんじゃないですかね。
外側のテーブルは外枠表示専用、セル一つにしてしまって。
    • good
    • 0
この回答へのお礼

ありがとうございます。
またまた私の説明不足でして、実際は

<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"の間はそのままで)
すみません。。。説明が全然足りてなくて・・・ちょっと慌ててたもので・・・
教えていただいた方法で応用できないか試してみましたが、上手くいきませんでした・・・すみません・・・。

お礼日時:2001/09/18 09:40

<TABLE BORDER=1>


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

この回答への補足

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

補足日時:2001/09/18 09:12
    • good
    • 0

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!

このQ&Aを見た人が検索しているワード


人気Q&Aランキング

おすすめ情報