- ベストアンサー
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でうまくやる方法はないでしょうか。
- みんなの回答 (4)
- 専門家の回答
質問者が選んだベストアンサー
- ベストアンサー
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>
その他の回答 (3)
- himajin100000
- ベストアンサー率54% (1660/3060)
>ご紹介いただいたページには、16進形式で透過率を指定する方法が載っていないようですが、そのようなことは可能でしょうか。 >Unlike RGB values, there is no hexadecimal notation for an RGBA value. ってあるからそいつは無理だな。
お礼
あ、本当だ。書いてありますね。失礼しました。 ですが、非常に勉強になりました。この方法は透明度をHTMLの編集で微調整できるのがとてもよいです。 今回はこの方法は使えませんが、次からは16進以外の指定方法をとるようにプログラマの方に言っておきます。 ありがとうございました。
- himajin100000
- ベストアンサー率54% (1660/3060)
訂正: colorプロパティ → background-colorプロパティ
補足
できました!ありがとうございます。 ですが、ちょっと問題が…… 質問で「色はユーザが指定できるようになっている」と書きましたが、この指定の方法が#ffffffのような16進指定で、この文字列がデータベースに格納されています。このフォーマットを変更するのはかなり困難です。(工数がかかる) ご紹介いただいたページには、16進形式で透過率を指定する方法が載っていないようですが、そのようなことは可能でしょうか。 まだページ全体を読んだわけではないので、もし載っているのであれば「よく読め」とだけ言っていただければと思います。 よろしくお願いいたします。
- himajin100000
- ベストアンサー率54% (1660/3060)
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
お礼
あ、なんかできたみたいです!! これだと透明度の調整を、その都度画像の編集で作り直さないといけないみたいですけど、できれば問題ないです! ありがとうございました!