• 締切済み

cssでの画像グレースケール指定が効かない

現在cssにて、特定の画像をグレースケール表示にする指定をしているのですが、Androidの機種にてこのcssが効かない事が判明しました。 (SONY NW-F805 ブラウザはこの機種に入っているデフォルトの「ブラウザ」というものです。) あまりcssに詳しくなく、どなたか対応策ご存知の方、ご教示願えませんでしょうか。 cssのパスの間違いが無い事は確認しております。 cssの指定 img.gray { -webkit-filter: grayscale(100%); filter: url("data:image/svg+xml;utf8,<svg xmlns=\'http://www.w3.org/2000/svg\'><filter id=\'grayscale\'><feColorMatrix type=\'matrix\' values=\'0.3333 0.3333 0.3333 0 0 0.3333 0.3333 0.3333 0 0 0.3333 0.3333 0.3333 0 0 0 0 0 1 0\'/></filter></svg>#grayscale"); filter: gray; } html内での指定 <img src="sample.jpg" width="60" height="80" alt="sample" class="gray" /> お手数をおかけしますが、よろしく御願いいたします。

  • CSS
  • 回答数1
  • ありがとう数5

みんなの回答

回答No.1

CSSをサポートしていないブラウザへの対応方法は昔から使われている決まった方法があります。 CSS適用後のデザインと同じ画像を用意して、その画像を表示してください。 グレースケールの画像を用意して、<img src="グレースケールの画像">とすれば、CSSを使わなくても(CSSをサポートしていないブラウザでも)グレースケールの画像が表示されます。

関連するQ&A

  • CSSでの画像指定について。

    CSSでの画像指定について。 ファイルパスの指定について教えてください。 フォルダ1の中に「sample.html」、「sample.css」、「img」フォルダが入っており、 「img」フォルダの中に、「nature_01.gif」が入っています(下図)。 -------------------------------------------------------------------------- フォルダ1 L sample.html L sample.css L img(フォルダ)  img(フォルダ)  L nature_01.gif   ---------------------------------------------------------------------------- このファイル構成だと、sample.css の中で 『background-image:url(/img/nature_01.gif)』のようにパスを指定すれば良い と理解していたのですが、背景に画像が表示されませんでした。 その後、下記のように修正すると、画像が表示されるようになりました。 firefox3.5 →修正後は画像が表示される。 Internet explore 8 →修正前、修正後ともに表示されない。 ----------------------------------------------------------------------- 【修正前】 #contents{ width:750px; background-image:url(/img/nature_01.gif); 【修正後】 #contents{ width:750px; background-image:url(../img/nature_01.gif); ------------------------------------------------------------------------ OS・・・windows xp なぜ、こうなるのか、わかるかたがいましたら教えてください。 よろしくお願いします。

  • cssで画像のパスを指定する場合

    cssで画像のパスを指定する場合は、background-imageでいいのでしょうか? 今は img.sample { background-image: url("http://test.jpg") のようにやっていますが 昔やった方法は background-image ではなく srcを使っていた気がします。 background-imageでも問題なく表示されますが、 <img class="sample"> のように、imgタグを使っているのだから、srcのほうがいいのかな、と思ってしまいます。 実際はどちらがいいのでしょうか?

    • 締切済み
    • CSS
  • CSS Validatorでfilterをエラーにさせないためには

    サイトのスタイルシートでfilterを指定しています。 これをW3CのCSS Validator(http://jigsaw.w3.org/css-validator/)でチェックすると、filterの部分がエラーとなってしまいます。 filterの指定は   filter: DropShadow(color=gray,offX=1,offY=1); としており、エラーは   Parse Error - color=gray,offX=1,offY=1) と表示されます。 これをエラーが出ないように指定するには、どのようにしたらよいのでしょうか。

    • 締切済み
    • CSS
  • 背景画像をCSSで中央に指定し、さらにその背景画像の中に違う画像を

    背景画像をCSSで中央に指定し、さらにその背景画像の中に違う画像を 位置指定したいのですが、うまく反映されませんでした。 「 background-position: center center; 」「 background-position: center center; 」 がCSS側での背景画像位置指定と多くヒットしたのですが、反映はされませんでした。 「 margin-left: 80px; 」を指定したところ、画面中央に位置が反映されたのですが 画面サイズを1024×768から1280×1024に変更すると 中央から左寄りにずれてしまいます。 下記に実際のソースを記載致しますので、どなたか解る方がいらっしゃいましたら アドバイスの程宜しくお願いいたします。 - 画面サイズを変更すると位置がずれてしまうソース - @charset "utf-8"; #img { width: 700px; height: 125px; background: url(img.jpg); margin-left: 80px; background-repeat: no-repeat; } #img #img2 { float: right; margin-right: 0px; margin-left: 30px; margin-top: 59px; margin-bottom: 0px; } ---------------------------------- - HTML - <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"> <html xmlns="http://www.w3.org/1999/xhtml"> <head> <meta http-equiv="Content-Style-Type" content="text/css" /> <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> <title>img</title> <link rel="stylesheet" href="style.css" type="text/css" /> </head> <body"> <div id="img"> <div id="img2"><img src="img_1.gif" width="50" height="30" border="0" />&nbsp;<img src="img_2.gif" width="50" height="30" border="0" /></div> </div> </body> </html> ------------------------------------------- - 検索でヒットした位置指定のソース - @charset "utf-8"; #img { width: 700px; height: 125px; background: url(img_2.jpg); background-position: center center; background-repeat: no-repeat; } #img #img2 { float: right; margin-right: 0px; margin-left: 30px; margin-top: 59px; margin-bottom: 0px; } ------------------------------------------- - HTMLは上記と同じ -

    • ベストアンサー
    • HTML
  • CSS/HTML で画像 2枚重ねた上に文字。

    最近ホームページを作成しているのですが、画像 2 枚を重ねて、その上にリンク付きの文字を のせるにはどのようにしたらよいでしょうか。 CSS を構い始めたのは 1 週間程度なので、基礎的なこともわかってない部分があります。 いろいろ試して、(3)が近いような気がしますが、(1)、(2)に付け加える形でもよいので、 ご教授お願いします。 以下、私が試した 3 パターンの方法です。数値、画像は適当な値です。 (1) 画像 1 枚の上に文字を入れた形。※画像 2 枚目を重ねられませんでした。 --------------------------- --- CSS --- #img1 { background-image : url(img1) ; background-repeat : no-repeat ; width : 100px; height : 100px; /* -- 各ブラウザ対応用 -- */ transform: rotate(45deg); -webkit-transform: rotate(45deg); -moz-transform: rotate(45deg); -ms-transform: rotate(45deg); -o-transform: rotate(45deg); } --- HTML --- <DIV class="img1">タイトルなどのテキスト</div> --------------------------- (2) 画像を 2 枚重ねた形。 ※文字を上に載せれませんでした。 --------------------------- --- CSS --- #img1 { background-image : url(img1) ; background-repeat : no-repeat ; width : 100px; height : 100px; /* -- 各ブラウザ対応用 -- */ transform: rotate(45deg); -webkit-transform: rotate(45deg); -moz-transform: rotate(45deg); -ms-transform: rotate(45deg); -o-transform: rotate(45deg); } .img2 { padding: 50px 0 0 0px; /*2枚目の画像の位置調整*/ } --- HTML --- <div id="img1"> <img class="img2" src="red-star.png" width="横" height="高さ"> </div> --------------------------- (3) 画像 2 枚を重ねた上に文字を載せた場合。 ※思ったとおりに表示できました。が、何故か<a href="#">テスト</a> のリンクができません。。。 --------------------------- --- CSS --- #img1 { position: relative; bottom :-100px; left: -80px; width : 250px; height : 80px; transform: rotate( -15deg ); -webkit-transform: rotate(-15deg); -moz-transform: rotate(-15deg); -ms-transform: rotate(-15deg); -o-transform: rotate(-15deg); z-index: 2; } #img2 { position: relative; bottom :90px; left: 80px; width : 200px; height : 40px; transform: rotate( -15deg ); -webkit-transform: rotate(-15deg); -moz-transform: rotate(-15deg); -ms-transform: rotate(-15deg); -o-transform: rotate(-15deg); z-index: 1; } #MENU { position: relative; bottom :725px; left: -25px; transform: rotate( -15deg ); -webkit-transform: rotate(-15deg); -moz-transform: rotate(-15deg); -ms-transform: rotate(-15deg); -o-transform: rotate(-15deg); z-index: 3; } --- HTML --- <div id="img1"><img src="img1" width="100" height="100"></div> <div id="img2"><img src="img1" width="100" height="100"></div> <div id="MENU"><a href="#">テスト</a></div> ---------------------------

  • 日本語を半角英数字にすると画像にCSSのfloat:rightを指定していても無効になる問題について。

    下記のように記述すると問題なく動作するのですが、「サンプル」の部分を「sample」などのように 半角英数字にすると画像にCSSのfloat:rightを指定していても無効になります。 <html> <style type="text/css"> #right { float: right; } </style> </head> <body> <img src="sample.jpg" width="320" height="320" id="right"> <p>サンプルサンプルサンプルサンプルサンプルサンプルサンプルサンプルサンプルサンプルサンプルサンプルサンプルサンプルサンプルサンプルサンプルサンプルサンプルサンプルサンプルサンプルサンプルサンプルサンプルサンプル</p> </body> </html> なぜこのような現状が起こるのでしょうか? ご存じの方がおられましたらご回答をよろしくおねがいします。

    • ベストアンサー
    • HTML
  • javascriptで画像の切替えとCSSの指定

    javascriptで画像の切替えとCSSの指定でわかりません 以前、以下のhtmlを雑誌を見ながらやってみたのですが、わからないことが2点あります。 回答を頂ければ大変助かります。 1つ目の質問です。最初の画像が切り替わるのに10秒かかってしまうのですが、これを最初の画像とともにすべての画像の切替を5秒にしたいのですがわかりません。 2つ目の質問です。CSSで指定してある画像にあてはめたいのですが、書き方がわかりません。 以下のimgs[0] = "http://www.●.com/●1.jpg"; この部分に <div id="▲img"></div> を付けていいものなのか、 別な書き方があるのかがわかりません。 CSS側→ #▲img { background-image: url(..●1.jpg); } <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"> <HTML> <HEAD> <script type="text/javascript"> var imgs = new Array(); var links= new Array(); imgs[0] = "http://www.●.com/●1.jpg"; imgs[1] = "http://www.●.com/●2.jpg"; links[0]="http://www.■.co.jp" links[1]="http://www.■.co.jp" i = 0; function Blend(){ document.getElementById("imgframe").filters.blendTrans.apply(); document.all.item("imgframe").src = imgs[i++]; document.getElementById("imgframe").filters.blendTrans.play(); document.getElementById("link").href=links[i]; if(i>=imgs.length) i=0; } onload = function(){setInterval(Blend,5*1000)} </script> <META name="GENERATOR" content="IBM WebSphere Studio Homepage Builder Version 12.0.0.0 for Windows"> <META http-equiv="Content-Type" content="text/html; charset=ISO-2022-JP"> <META http-equiv="Content-Style-Type" content="text/css"> <META name="IBM:HPB-Input-Mode" content="mode/flm; pagewidth=750; pageheight=900"> <TITLE></TITLE> </HEAD> <BODY> <a href="http://www.■.co.jp" id=link> <img src="http://www.●.com/●1.jpg" id="imgframe" style="filter:blendTrans(duration=2);"></img> </a> </BODY> </HTML> 以上です。 何卒よろしくお願い致します。

  • jspでcssが読み込まれません。。

    練習で簡単なwebアプリケーションを作成しているのですが,jspでcssを読み込みたいのですが、なかなか読み込めません。 サイトなどを参考にしながら、コードを書いてみたのですがなかなか読み込まれず困ってます。 開発環境 OS fedora11 eclipse3.5 Tomcat 5.5.27 struts1.3.10 ブラウザ Firefox3.5.4 Eclipse内のプロジェクト構造 sample(プロジェクト名)  aaaaaa(パッケージ/java)  bbbbbb (ファイル)  cccccc (ファイル)  WEB-INF(WEB-INFの配下にはlib,pages,xmlファイルがあります)   lib   pages(pagesの配下にはcss,jspファイルがあります)    css(cssの配下のcssファイルを読み込みたい)     sample.css    jsp (jspの配下にsampleファイルがあります)     sample(sampleの配下にはsample.jspがあります)      sample.jsp sample.jspの中には下記のように書いてあります。 <head> <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"/> <meta http-equiv="content-style-type" content="text/css"> <link rel="stylesheet" href="pages/css/sample.css" type="text/css"/> </head> sample.cssはhttp://www.stylish-style.com/csstec/basic/b-table-deco.htmlの2をそのまま書いています。 参考にしたサイト http://detail.chiebukuro.yahoo.co.jp/qa/question_detail/q1313643858 http://www.atmarkit.co.jp/bbs/phpBB/viewtopic.php?topic=36945&forum=12 Firefoxで確認するとエラーも特になく表示されるのですが tableで指定した枠が表示されなくて困っています。 よろしくお願いします。

    • ベストアンサー
    • Java
  • xhtmlでの画像サイズ指定について質問です。

    xhtmlでの画像サイズ指定について質問です。 htmlでは、例えば800×800の画像でも、スタイルシートのクラス指定(下記は外部にcssを記述)などで (中略) <link rel="stylesheet" href="size.css" type="text/css" media="screen" /> (中略) <img src="cat.jpg" class="wid180he50" alt="猫" /> 外部ファイルで・・・ .wid180he50 {width=180px ; height=50px ;} とすれば180×50で表示されますが、 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="ja" lang="ja"> のxhtmlでは無効となっているようで、そのままの800×800で表示されてしまいます。 どのように記述すれば180×50で表示されますでしょうか?

  • CSSで背景にグラデーションをかけたいけどできません。

    filter: progid:DXImageTransform.Microsoft.Gradient (StartColorStr=#000099, EndColorStr=#ffffff, GradientType=0) これをcssファイルのbodyのところに下記のように 付け加えたのですが反映されません。 BODY{ font-style:normal font-weight:normal font-size:small text-align:center;/ color:#000000 filter: progid:DXImageTransform.Microsoft.Gradient(StartColorStr=#000099, EndColorStr=#ffffff, GradientType=0) } 元は背景色と背景画像が指定してあった部分 background-color:#ffffff;/ background-image:url(./img/back.gif);/ を消してそこに入れたのですがそれは問題ないですよね? 教えてください、お願いします。

    • ベストアンサー
    • CSS