• 締切済み

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

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

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

みんなの回答

  • ORUKA1951
  • ベストアンサー率45% (5062/11036)
回答No.1

 画像がそのページにおいて、主たる内容である場合は<img src="" width="" height="" alt="">で指定しなければなりません。  そうではなく画像が背景の場合は、background-image:で指定します。  これは、HTMLが守るべき目標に{構造とプレゼンテーションの分離( http://www.asahi-net.or.jp/%7Esd5a-ucd/rec-html401j/intro/intro.html#h-2.4.1 )}があるからです。また、スタイルシートの概説( http://www.asahi-net.or.jp/%7Esd5a-ucd/rec-html401j/present/styles.html#h-14.1 )にも ・テキストを画像に置き換えて表現する。 ・余白制御のために画像を用いる。  などは否定されています。  ナビゲーションのリンクをボタンやアイコンの画像で表示するような場合は、<a href="/products">製品</a>として、スタイルシートで a[href="/products"]{display:inline-block;width:160px;height:80px;background:url(/images/icon/products.gif) no-repeat blue;}と指定する。  アルバムのように画像自体がコンテンツである場合は、当然<img src="" width="" height="" alt="">で指定することになりますね。

関連するQ&A

  • CSS内で呼び出してる画像に対して、class属性をつけたい

    CSS内で呼び出してる画像に対して、class属性をつけたい お世話になります、CSSに関して下記のようなことは可能なのでしょうか。 とあるライブリにimgタグにclass属性を指定して使用するものがありました。 例:<img src="image.gif" class="○○"/> (クラスを指定すると画像にエフェクトがかかる) これをcssで下記のように呼び出している画像に対して適用することは可能でしょうか。 [cssファイル] #bkg .opt1 { background: url('画像のパス'); } [html] //こんな感じで呼んでいる <li class="bkg opt1"><span>image</span></li> CSS内でクラス指定ができないものかと色々試してみたもののうまくいきません・・ 適用方法、ヒント等教えていただけますでしょうか よろしくお願いします

  • 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でimgタグを使って画像を表示させたいのですが、 css内でsrcは使えないのでしょうか? img{ background-image:url( http://orange.jpg ) } このような書き方しかできないのでしょうか? 上記の書き方だと、画像の周りに線ができて、更にhtmlソース内のaltの文字まで表示されてしまいます。

    • ベストアンサー
    • HTML
  • cssの画像切り替え

    宜しくお願いします。 cssでのhoverを使った画像の切り替えを教えてください。 ○html <dl id="dl">  <dt id="dt"><a href="#"><img src="img/image1.jpg" alt="" /></a></dt>  <dd>あ</dd> </dl> ○css #dl     {     width: 170px;     height: 170px;     margin: 0;     } #dt a     {     text-decoration: none;     } #dt a:hover { background-image: url(img/image2.jpg); text-decoration: none;     } というソースで、cssを使い画像を切り替えたいのですが、できません。 html指定で、<img src="~">で画像を表示させておき、 切り替える方法としましては、hoverを使いbackground-imageを使うしかないと思います。 background-imageからbackground-imageへの切り替えは、できるのですが、今回の場合は、どうしてもhtml指定で、<img src="~">からの切り替えを行いたいです。 そもそも、html指定の、<img src="~">で画像を表示する場合、cssで切り替えれるものなのでしょうか? 出来る限り、cssでの切り替えをしたいと考えています。 どなたか、分かる方お願いします。

    • ベストアンサー
    • HTML
  • jQueryでCSSの背景画像を切り替えたい

    見出しをクリック後にCSSで指定している背景画像を変えるため、jQueryでCSSを変更させてみたところ上手くいきません。 jQueryで指定する変更後の背景画像を絶対パスに換えたら上手くいったので、 パスの指定方法が悪いところまでは分かったのですが、相対パスでの指定方法がわからなくなりました。 WordPress環境で下記のコードを使用しています。 ご教授の程、よろしくお願い致します。 【 jQuery】 ○ディレクトリ : テーマフォルダ/js/change.js jQuery(function() { jQuery("h3 div.class").hide(); jQuery("h3").click(function() { jQuery(this).next().slideToggle("fast"); jQuery(this).css("background-image" , "url('img/pic2.jpg')"); }); }); 【CSS】 ○ディレクトリ : テーマフォルダ/style.css h3 { background: #7c8187; background-image: url(img/pic.jpg); cursor: pointer; } 【画像】 ○ディレクトリ : テーマフォルダ/img/pic.jpg テーマフォルダ/img/pic2.jpg

    • ベストアンサー
    • CSS
  • cssで、imgタグに、背景画像を敷きたい

    cssで、imgタグに、背景画像(影)を敷く方法を教えてください。 ※divタグに敷く方法は分かるのですが、imgタグに敷く方法が分かりません。 ■現状 <HTML> <div id="hoge"> <img src~ <CSS> #hoge img { background-image:url(/images/background_shodow.jpg); background-repeat: none; background:position: ? width:? height:? margin:? padding:?; <影の大きさ> ・width400px ・height200px <写真のサイズ指定> ・width390px ・height190px ※これまでは、 写真のサイズが違うので、 css部分の#hoge img で、 画像の大きさを強制指定してました。 出来れば、 画像の大きさは、html側で指定せずに、 css側で調整したいです。 ムリなら、html側で大きさ指定します。 div枠にcss設定できれば早いかと思いますが、 それが出来ないため(img タグにしかcss指定不可)の相談です。 よろしくお願いします。

    • ベストアンサー
    • HTML
  • 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
  • 画像のロールオーバーがずれてしまいます。(CSS)

    テーブルを作り、tdタグの一箇所の背景にロールオーバー時の画像を配置しておき、a要素にマウスがかかった際にtd内にあるimg要素にvisibility:hidden;にするというロールオーバーを作りたいと思っています。 しかし実際に作ってブラウザで見てみると、ロールオーバー後の画像 (背景として設定しているもの)が微妙に1pxほど斜め下にずれて表示されてしまいます。 このような事を防ぐためにはどんな事に気を付ければ良いでしょうか? ちなみに、ロールオーバー前の画像とロールオーバー後の画像2枚を 全く同じサイズにしています。 参考までにタグを下記に記述していますので、どなたか見て頂けませんでしょうか。宜しくお願いいたします。 -------------------------------------------------CSS td.1{    background:url(image01.jpg) no-repeat;    } td.1 a{ display:block; } td.1 a:hover{ background-color:transparent; } td.1 a:hover img{ visibility:hidden; } -------------------------------------------------HTML <table> <tr> <td class="1"> ←このtd内の画像 <a href="top.html"><img src="image01.jpg"></a> </td> <td> <a href="top02.html"><img src="image02.jpg"></a> </td> <td> <a href="top03.html"><img src="image03.jpg"></a> </td> </tr> </table>

  • cssとhtmlについて

    cssとhtmlについて cssの方にbackground:url(.....); で打ち込んだhtmlの直下に<img src="..." /> とバックグラウンドで指定した画像のさらに上に画像を設置しようとしたら、 <img src>の方の画像が読み取れませんでした。 これはなぜなんでしょうか?? 解決策をご教授ください。

  • FrontPageで画像の相対パスが勝手に変更されてしまいます

    FrontPageを使ってHP作成をしているのですが、タグ編集をしていると、そのページの全ての画像のアドレス(相対パス)の前に「../」が足されてしまいます。 <img src="img/sample.jpg">というタグがあったとしたら、<img src="../img/sample.jpg">となってしまいます。 この症状が発生すると、変更する度に「../」が足されていきます。例えば5回変更をしたら<img src="../../../../../img/sample.jpg">となってしまいます。 変更は画像に関係なく、どこを変更しても「../」が足されます。 もちろん「../」を削除しても、それが変更になるので「../」が足されてしまいます。 htmlの編集だけでなく、cssの編集においても起こります。 FrontPageを再起動すると直りますが、また少しするとこの症状が起こり、作業になりません。 この症状が起こるのは、常にではなく、FrontPageを立ち上げて使い始めて直ぐの時もあれば、ある程度作成できるが途中からこの症状になってしまったりと決まってません。 なので、設定とかという問題でもないように思うのですが… 絶対パスには「../」は足されません。 ちょっと説明がわかりにくいと思いますがよろしくお願いします。