• ベストアンサー

firefox:テーブルの背景色を半透明にすると文字も半透明になる

Web初心者です。 opacityを使用して、テープルの背景色を半透明にしようとしていますが、下記のコードでは文字も半透明になってしまいます。 <table border="0" cellspacing="1" cellpadding="3" style="-moz-opacity:0.2"> <tr bgcolor="#990000"> <td><font color="#FFFFFF">test</font></td> </tr> </table> いろいろと調べましたが、IEでの解決方法は見つかるのですが、firefoxでやってみてもどれもうまくいきません。 市松模様の透過gif画像を作成する、という方法も知ってはいるのですが、色はユーザが指定できるようになっているので、全ての色の画像を用意するわけにも行かず、困っています。 firefoxでうまくやる方法はないでしょうか。

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

  • ベストアンサー
noname#200413
noname#200413
回答No.3

1.半透明のPNG画像を用意する。 2.テーブルの背景に半透明のPNG画像と背景色を指定する。 3.2の背景色をユーザーが指定できる作りにする。 これで解決しないでしょうか? <table style="background-image:url(hoge.png); background-color:#000;"> <tr> <td style="color:#FFF;">test</td> </tr> </table>

annyG
質問者

お礼

あ、なんかできたみたいです!! これだと透明度の調整を、その都度画像の編集で作り直さないといけないみたいですけど、できれば問題ないです! ありがとうございました!

その他の回答 (3)

回答No.4

>ご紹介いただいたページには、16進形式で透過率を指定する方法が載っていないようですが、そのようなことは可能でしょうか。 >Unlike RGB values, there is no hexadecimal notation for an RGBA value. ってあるからそいつは無理だな。

annyG
質問者

お礼

あ、本当だ。書いてありますね。失礼しました。 ですが、非常に勉強になりました。この方法は透明度をHTMLの編集で微調整できるのがとてもよいです。 今回はこの方法は使えませんが、次からは16進以外の指定方法をとるようにプログラマの方に言っておきます。 ありがとうございました。

回答No.2

訂正: colorプロパティ → background-colorプロパティ

annyG
質問者

補足

できました!ありがとうございます。 ですが、ちょっと問題が…… 質問で「色はユーザが指定できるようになっている」と書きましたが、この指定の方法が#ffffffのような16進指定で、この文字列がデータベースに格納されています。このフォーマットを変更するのはかなり困難です。(工数がかかる) ご紹介いただいたページには、16進形式で透過率を指定する方法が載っていないようですが、そのようなことは可能でしょうか。 まだページ全体を読んだわけではないので、もし載っているのであれば「よく読め」とだけ言っていただければと思います。 よろしくお願いいたします。

回答No.1

opacityプロパティではなく http://www.w3.org/TR/css3-color/#transparency colorプロパティにCSS 3 Color Moduleで定義された,rgbaやhslaによる指定を行なってください http://www.w3.org/TR/css3-color/#rgba-color

関連するQ&A

専門家に質問してみよう