セルの透明化について

[新着] Webテンプレートを仮オープンしました



0   名前: Daipa : 2006/06/29(木) 16:26  ID:7bA9Rzbr
こんばんは、Daipaと申します。

早速ですが、表の一部のセルだけを透明化して背景を表示させたいのですが
透明になりません。このやり方では間違っているのでしょうか。
分かる方がいましたら教えて下さい。お願いします。

<HTML>
<HEAD>
</HEAD>
<BODY bgcolor="#00ffff">
<TABLE border="1" width="800" height="400" bgcolor="#ffffff">
<TBODY>
<TR>
<TD style="background-color:transparent;">a</TD>
</TR>
<TR>
<TD>a</TD>
</TR>
</TBODY>
</TABLE>
</BODY>
</HTML>

上のセルを透明にしたいのですが…。
実際は背景に画像が入ります。
それでは、よろしくお願いします。

1   名前: 白色 : 2006/06/29(木) 16:26  ID:runcJQGA
使用した事が無いのでtransparentについては良く解らないのですが、
Tableタグのbgcolorを指定しなかったらセルは透明になりますよ?
セルを透明にしたくない所だけ色を指定したら如何でしょうか?

2   名前: Daipa : 2006/06/29(木) 16:26  ID:7bA9Rzbr
白色さん、お返事ありがとうございます。

確かに、白色さんが仰る様な対応策はいくつかあるのですが、
実際はセルを沢山使用することが多いので、transparentが使えれば、
その方が簡単に済むものですから…。
とりあえず、別の方法で対処して見ます。

3   名前: 白色 : 2006/06/29(木) 16:26  ID:SahUcOx5
余りお役に立てずに申し訳ありませんでした。
取り合えず助言にもならないと思いますが
スタイルシートを使うと少しはスッキリすると思います。。。
↓こんな感じで
<STYLE TYPE="text/css"> 
<!-- 
TD.tes{ background-color: #FFFFFF; }
--> 
</STYLE> 

<TABLE>
<TR><TD>a</TD></TR>
<TR><TD CLASS="tes">a</TD></TR>
</TABLE>

これはTD単位でやってますがTR単位でやるともっとスッキリするかも知れません(何)

4   名前: 通りすがり : 2006/06/29(木) 16:26  ID:yGMfbzts
tableに背景色を指定するのではなく、tdに背景色を指定すればよいのでは?
その上で、透過したいセルにtransparentを指定する。

<STYLE TYPE="text/css">
<!--
TD{ background-color: #FFFFFF; }
TD.hoge{ background-color: transparent; }
-->
</STYLE>

<TABLE border="1" width="800" height="400">
<TR><TD>背景白</TD></TR>
<TR><TD class="hoge">透過したいセル</TD></TR>
</TABLE>
「枠線の間も白くしたい」だと、これでは無理ですが…。

5   名前: 匿名 : 2006/06/29(木) 16:26  ID:7bA9Rzbr
このtransparentは、スタイルで指定した色しか透過出来ないのですね。
いろいろ試してみたら、スタイルで指定した色はスタイルでしか変更出来ない見たいです。
bgcolorで色を指定しても色が変わらないので、スタイルで指定した色が優先される様です。
いろいろ勉強になりました。

通りすがりさん、白色さん、ありがとうございました。

6   名前: Daipa : 2006/06/29(木) 16:26  ID:7bA9Rzbr
連レスすみません。(編集機能が無いもので…)

名前が(匿名)になっていました。
前レスは、スレ主のDaipaです。
申し訳ありませんでした。

7   名前: 通りすがり : 2006/06/29(木) 16:26  ID:yGMfbzts
>スタイルで指定した色はスタイルでしか変更出来ない見たいです。

??
どういう状態で「いろいろ試してみた」んでしょう?
「スタイルで指定した色が優先される」のはあっていますが、
「スタイルで指定した色しか透過出来ない」のは間違ってますよ。
例えば
<TD bgcolor="#FFFFFF" style="background-color:transparent;">a</TD>
このような指定をした場合、「スタイルで指定した色が優先される」わけですから、
色は消えるはずですが?

8   名前: Daipa : 2006/06/29(木) 16:26  ID:7bA9Rzbr
やはり、上記のやり方では透過出来ない見たいです。
まず、bgcolorで指定した色が塗られ、スタイルで指定した色は
上塗りされる様です。レイヤー見たいな形になっています。

下記の形では、スタイルで指定したwhiteが優先されて真っ白ですが
<TD bgcolor="red">を<TD bgcolor="red" style="background-color:transparent;">
に変えるとスタイルで指定したwhiteが透過してbgcolorで指定したredが出てきます。
whiteを指定しているスタイルを消しても結果は同じです。

<HTML>
<HEAD>
<STYLE TYPE="text/css">
<!--
TD{ background-color:white;}
-->
</STYLE>
</HEAD>
<BODY>
<TABLE border="1" width="800" height="400">
<TBODY>
<TR>
<TD bgcolor="red"></TD>
</TR>
<TR>
<TD></TD>
</TR>
</TBODY>
</TABLE>
</BODY>
</HTML>

9   名前: 通りすがり : 2006/06/29(木) 16:26  ID:yGMfbzts
<STYLE TYPE="text/css">
<!--
TD{ background-color:white;}
-->
</STYLE>

<TABLE border="1" width="800" height="400">
<TBODY>
<TR>
<TD bgcolor="red">aa</TD>
</TR>
<TR>
<TD>bb</TD>
</TR>
</TBODY>
</TABLE>

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
"http://www.w3.org/TR/html4/loose.dtd">
両方で試してみましたが、「aa」は赤くならず白です。
<TD bgcolor="red" style="background-color:transparent;">aa</TD>
としても、透明(body背景色)になるだけで白くも赤くもなりませんでした。
(検証環境:winxp、IE6,NN7)
スタイルシートで他にも指定があったりとかしませんか?

10   名前: Daipa : 2006/06/29(木) 16:26  ID:7bA9Rzbr
私の間違いでした。申し訳ありませんでした。
ホームページ・ビルダーを使用していまして、編集画面で確認していました。
プレビューでは、ちゃんと透過してくれました。
すると、TABLEに指定した色だけは透過できないのですね。

通りすがりさん、いろいろご迷惑お掛けしました。
ありがとうございました。

一覧へ戻る