スタイルシートfilterで画像の背景色を変える方法

このQ&Aのポイント
  • スタイルシートfilterを使用して画像の背景色を変える方法について調査しました。
  • 白い色を透過させるfilterを使って背景色を変えることができるか検証しましたが、うまくいきませんでした。
  • 透過処理する方法や他の代替案を探しています。
回答を見る
  • ベストアンサー

スタイルシート filter

#title{ background:url('img') no-repeat left top; } として、画面上に画像をひとつ表示させています。 そして、背景色を変えてみようと思いました。 画像に白い色を使ってあるところがあるのですが、 その白い色も、背景色に変えた方が見栄えが良さそうです。 そこで調べたら、 特定の色(白)を透過させるfilterというものがあると分かりました。 例では、<img src="img" style=filter: chroma(color=#ffffff);> となっています。 これを、スタイルシートで出来ないものでしょうか。 ためしに、 background-color: #****; background:url('img') no-repeat left top; filter: chroma(color=#ffffff); としてみましたが、変化ありませんでした。。 どこが違うのでしょうか。 透過処理してしまったほうが良いのでしょうか。 やり方が分からない&ペイントしかないのでfilterでの方法をお聞きしました よろしくお願いします。

  • HTML
  • 回答数3
  • ありがとう数3

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

  • ベストアンサー
  • leap_day
  • ベストアンサー率60% (338/561)
回答No.3

こんにちは <style type="text/css"> <!-- #d1{ width:200px; height:100px; background:url('sample1.gif') no-repeat left top; background-color:blue; filter: chroma(color=black); } //--> </style> <div id="d1"></div> としたら黒が透過されて白になりました ・・・つまりbodyの色になったということです もしやるのであればもうひとつ後ろに背景色をつければできると思います <style type="text/css"> <!-- #d1{ width:200px; height:100px; background:url('sample1.gif') no-repeat left top; filter: chroma(color=black); } #d0{ width:200px; height:100px; background-color:blue; } //--> </style> <div id="d0"> <div id="d1"></div> </div> でもfilterはIE専用の機能なので他のブラウザではできません(><) http://www.htmq.com/style/filter.shtml

-Jelly-
質問者

お礼

>としたら黒が透過されて白になりました >・・・つまりbodyの色になったということです どうもありがとうございます。 こちらでも、bodyの色に透過されました! ありがとうございます。

-Jelly-
質問者

補足

現段階ではIE6を想定しているらしいので、問題ありません。 (というかそういう上のことには口が出せません) お気遣いありがとうございます。

その他の回答 (2)

回答No.2

filterはbackground-imageに適用する物ではないので、できません。 画像そのものを透過する様に作り直す必要がありますが、 たぶんペイントでは出来ないので、 画像を編集するフリーウェアなどを探して、それを使ってください。 画像処理 フリーウェア ソフト などを組み合わせて検索してみてください。

-Jelly-
質問者

お礼

body{background-color:#zzzzzz} #title{ background:url('img') no-repeat left top; filter: chroma(color=#zzzzzz);} としたら出来てしまいました。 どうもありがとうございました。 >filterはbackground-imageに適用する物ではないので、できません。 出来てしまったのですが、何故なのでしょうか…

-Jelly-
質問者

補足

謎が残りますが、フィルターで透過させるという目的が達成されましたので、 今回はしめたいとおもいます。 ありがとうございました。

  • outbrave
  • ベストアンサー率60% (231/380)
回答No.1

width: 100%; を入れてみてください。

-Jelly-
質問者

お礼

body{background-color:#zzzzzz} #title{ background:url('img') no-repeat left top; filter: chroma(color=#zzzzzz);} としたら出来ました・・ どうもありがとうございました。

関連するQ&A

  • テーブルにスタイルシートを使う方法

    こんにちは、テーブルタグのことで質問があります。 普通、背景画像でスタイルシートを使い右下などに固定するタグは <STYLE TYPE="text/css"> <!-- BODY { background-image : url("画像の名前"); background-repeat : no-repeat; background-attachment : fixed; background-position : left bottom; background-color:#FFFFFF; } --> </STYLE> となると思いますが、これは通常<head></head>の間にいれますよね。 これをテーブルの中で使うにはどうすればいいでしょう? テーブルの背景画像を右下や左下などに固定したいということなんですがそういうことはできますか? よろしくお願いします;

  • 背景を透過するタグについて

    こんばんわ。タイトル通り【背景を透過するタグについて】質問があります。よろしくお願いいたします。 <style type="text/css"> <!-- .box1{/*テキストスペース*/ … … width : 157px; background-color : #ffffff; filter : chroma(color=#ffffff); } </style> と、スタイルシートで色々と指定しております。 このテキストスペースの背後に画像があるので、背景を透かせたく、【chroma】を使って指定した色(白)を透かせましたが、 これだとまったく透明になってしまうので…できれば <table style="filter:Alpha(opacity=20)"> のように、透過の度合いを指定できるようになりませんでしょうか? ↑テーブルでの透過の仕方しか分からず、上のテキストスペースで同じようなことをしたいのですが…。可能でしょうか? お手数ですが、宜しければ教えていただけるととても助かります。 お願いいたします。

    • ベストアンサー
    • HTML
  • スタイルシート…

    たぶん、初歩的な問題なんですが…自力では調べてもわからなかったので… スタイルシートで、画像を固定し、尚且つ、 リンクの貼ってある文字の上にカーソルがくると文字色が変わるようにしたいのですが、 どのようにすればよいのでしょうか? 一応、 <style type="text/css"> <!-- body { background-image : url("画像のURL"); background-attachment: fixed; background-position: 100% 0%; background-repeat: no-repeat ; } a{text-decoration:none;} a:link {color:#色;} a:active {color:#色;} a:visited {color:#色;} a:hover {color:#色;} --> </style> じゃないかな…?と思って、試してみたのですが、画像は固定できてるんですが、 リンクの文字色は変わりませんでした…。 アドバイスお願いします!

    • ベストアンサー
    • HTML
  • スタイルシートを二つ並べたら一つが反映されない

    ホームページを作りましたが、背景があまりに殺風景だったので、画面の両端に画像を縦に並べて貼り付けようとしました。 色々調べて <style type="text/css"> <!-- body{background:fixed url(画像名) #ffffff repeat-y top right} --> </style> というソースを<head>~</head>間に打ち込めば、右端に画像が並んで表示されると分かりました。 左にも同様に画像を並べようと <style type="text/css"> <!-- body{background:fixed url(画像名2) #ffffff repeat-y top left} --> </style> と、先ほどのソースの下に打ったところ、最初に書き込んだ右の画像が消え、左の画像のみがあらわれました。 右、左を書き換えてもやっぱり上のソースは消え、下のソースのみ反映されます。 どうすれば両端共に画像が出てくるようになるでしょうか?

    • ベストアンサー
    • HTML
  • スタイルシートをFirefoxでもうまく表示させるには・・・

    スタイルシートでセルに背景を指定しています。 Left{ color : white; background-repeat : no-repeat; background-attachment : fixed; width : 208px; font-size : 12px; font-weight : bold; text-align : center; background-image : url(.gif); } IEではその背景はうまく表示されるのですが Firefox ではその背景は表示されません。 その原因を色々なサイトで調べてみましたが明確な対処方法が見つかりません。 セルの背景をスタイルシートで指定してFirefox でもうまく表示させる方法を教えて下さい。

  • スタイルシートで

    外部スタイルシートのみでリンクの上にマウスが乗ったら背景の色が変わるようにしているのですが、 a:link {background-color: #FFFFFF;} a:hover {background-color: #000000;} a:visited {background-color: #FFFFFF;} この場合、一度リンクしたら次にマウスが乗っても変化しません。外部スタイルシートのみでうまくいく方法はあるのでしょうか? よろしくお願いします。

    • ベストアンサー
    • HTML
  • firefoxでcssを使った時背景画像が表示されない

    CSSでfloatを設定し、その中のそれぞれに背景画像を表示しようとすると、上手くいきません。 背景画像も背景色も表示されません。 構文に間違いがあるのでしょうか? それともそのような仕様なのでしょうか? よろしくお願いいたします。 ###CSS### #container { width: 900px; background-image: url(images/back.jpg); background-repeat: no-repeat; } #header { width: 900px; } #contents { width: 748px; background-color: #FFFFFF; background-image: url(images/image.jpg); background-repeat: no-repeat; background-position: top; padding: 0px; margin-left: 76px; } #footer { clear: both; width: 748px; margin-left: 76px; } #sidebar { float: left; background-image: url(images/side.jpg); width: 180px; margin-top: 14px; background-color: #FFFFFF; } #main { float: right; width: 568px; padding: 0px; background-color: #FFFFFF; background-image: url(../images/image2.jpg);

  • 2つ画像を背景にするスタイルシートってある?

    1つの画像をスタイルシートで背景にするのは、知ってるんですが、2つの画像を同じページに背景にはできるのでしょうか?下記は1つの画像を背景にするスタイルシートです。これのどこかをいじれば可能なのでしょうか? <STYLE TYPE="text/css"> <!--    BODY {       background-image:素材のURL;       background-position:0% 100%;       background-repeat:no-repeat;       background-attachment:fixed;     } --> </STYLE>

    • 締切済み
    • CSS
  • css(スタイルシート)について

    最近スタイルシートを勉強しているものです。 外部スタイルシートにて body { margin: 0; padding: 0; background-image:url(img/back.jpg); background-repeat:repeat-y; background-position: center; background-color:#333333; } という記述で、背景の設定をしました。 プレビューイメージは背景=黒 中央=白といったイメージです。 中央=白の位置にテキスト文字を入れたいのですが、マージンもしくはパディング設定をしてしまうと ウィンドウのサイズによって背景と文字がずれてしまいます。 テキストの文章もcssで設定したい場合 どのように設定するのがよろしいでしょうか? よろしくお願いします。

    • 締切済み
    • CSS
  • スタイルシート教えて下さい

    ブログのトップページの一番上の部分を 自分の作った画像に変えました。 それはうまくいったのですが、 その部分にブログサイト名と説明文が入るのですが、 自分の画像を貼り付ける前までは一番左にあった文字が 今は真ん中に表示されてしまうんです。 ブログ名(リンクつき)とブログの説明文を左に表示させるには どうしたらいいのか教えて下さい。 その部分のスタイルシートです↓ #banner{ background-image:url(http://△△△△/○○○/□□□.jpg); background-repeat:no-repeat; background-position:left top; font-family:arial, Helvetica; padding:0px 0px 0px 197px; height:197px; text-align:left; margin-left:13px; }