• ベストアンサー

画像の上に文字を表示

スタイルシートなどの方法で、画像の上に文字を表示させることは可能でしょうか。 <IMG SRC=1.jpg ALIGN=BOTTOM BORDER=0> <IMG SRC=2.jpg ALIGN=BOTTOM BORDER=0> <IMG SRC=3.jpg ALIGN=BOTTOM BORDER=0> <IMG SRC=4.jpg ALIGN=BOTTOM BORDER=0> ・・・と延々と並んでいる画像の上に重ねてそれぞれの画像のタイトルなどを表示できればうれしい。 #マウスをのせて表示は除外。

  • CSS
  • 回答数4
  • ありがとう数13

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

  • ベストアンサー
noname#199778
noname#199778
回答No.4

スタイルシートで、表示位置の調整をすれば、画像の上にテキストを持ってくることもできます。 例えば、以下のような感じではいかがでしょうか。 <div style="height: 100px; overflow: hidden;"> <img src="***.jpg" width="100" height="100" style="z-index: 0;"><br> <span style="position: relative; top: -1em; z-index: 1;">画像1</span> </div> 上記ソースでは、改行で画像の下に回ってくるspan要素内のテキストを、本来の表示位置よりも一文字分上にずらし、画像に重ねて表示させるようにしています。 スタイルシートのposition: relative; top: -1em;の指定がその部分に当たります。 また、画像の上に確実に表示されるように、z-indexを1と指定してあります。 画像の方にも、スタイルシートでz-indexを0に指定し、確実にテキストの下に回るように指定してあります。 また、position: relativeで表示位置を調整すると、本来の表示位置にも表示枠を確保してしまうため、画像の下に1行分のスペースが空きます。 これを潰す意味で、この二つをdiv要素で括り、画像のサイズに合わせた表示枠を指定し、はみ出す部分についてはoverflow: hidden;で隠すようにしてあります。 こういった感じで、文字を画像の上に持って来ることも可能です。 スタイルシートの指定の仕方を工夫すれば、他にもいろいろとやり方はあると思います。 デザインに合わせて、書き易いソースで対応するのが良いと思いますよ。 参考になれば。

その他の回答 (3)

  • kosa
  • ベストアンサー率25% (379/1464)
回答No.3

テーブルの背景に画像を使えば、あとはセルに文字を書くだけで「画像の上に文字」っていうのが簡単に実現できます

  • picoco
  • ベストアンサー率40% (12/30)
回答No.2

画像をDIVの要素背景として取り込んで、DIVの中に字を書くというのもありですね。 CSSでこのようにして .img1 { background-image : url(1.jpg) ; background-repeat : no-repeat ; width : 画像の横幅px; height : 画像の縦幅px; } BODYの中は <DIV class="img1">タイトルなどのテキスト</div> こんな感じ。 class="img1"をimg2等に変えて、img2のスタイルを background-image : url(2.jpg) ; などのように当てはめて変えて行けば良いと思います。 DIVだと閉じたところで改行が入るので、画像を横に並べたい場合はテーブルで囲ってしまうと横並びも行けますね。 TABLEのTDの背景に画像を設定して <TABLE><TR> <TD background="1.jpg" width="画像の横幅" height="画像の縦幅">テキスト</TD> </TR></TABLE> とするのもありかもしれませんが、テーブルタグのheightをうまく認識できず、テキストが短ければその高さしか表示しないブラウザも結構あるので、CSSを使う方が無難だと思います。

noname#10926
noname#10926
回答No.1

絶対値で指定すればお好みの場所に文字を表示できるでしょう。 例えば <P style="position : absolute;top : 20px;left : 10px;">hogehoge</P> 数値を変えれば位置が変わりますね。

関連するQ&A

  • IE6,7で画像の上に載せた文字がずれる

    HTMLなのですが、 画像が縦に3つつながって1つの画像のようになった状態で表示しようとしています。 さらに上と下の画像にはテキストを上にかぶせて表示します。 画像全体にリンクを貼ってあります。 下記のようなコードで作成した所、IE6,7でのみ、下記のバグが出てしまいました。 ・画像とテキストの縦位置のズレ ・画像間に2px程度の空白が生じる ・画像に設定したリンクが開かない 大変困っています。 どなたか原因と修正方法を教えていただけますでしょうか。 <a href="test.html"> <div style="position: relative; width: 183px; height: 265px; "> <img src="images/top.jpg" width="183" height="36" /> <div style="position: absolute; top: -11px; left: 55px;" class="font16b"> <p align="center">text1</p> </div> <img src="images/main.jpg" width="183" height="193" border="0" /> <img src="images/bottom.jpg" width="183" height="36" /> <div style="position: absolute; top: 218px; left: 4px; width: 181px;" class="font13"> <p align="left">text2</p> </div> </div> </a>

    • ベストアンサー
    • CSS
  • 画像の上に画像

    HPでcenterで例えば600サイズの外枠をつくりその中にHPの内容を表示するようにしています。 その中のひとつの写真(jpg)の上に画像(gif)を重ねて表示したいのですがスタイルシートで位置を指定したときに下記のように指定するとその指定した部分(jpg画像の上の部分)のスペースが画像のサイズ分空いて指定したところへ画像は重なります。 その空いてしまうスペースをなくしたいのですがどうにもなりませんでした。absoluteもfixedも試しましたがこれだとウィンドウサイズによって位置がずれるようです。 <span style="position: relative; left:15px; top:455px;z-index:1;">  <img src="./images/***.gif" border="0"></span> <td><img src="./imeges/***.jpg" ></td> すごく困ってしまっています。知っている方教えてください。

  • スタイルシートで、背景画像が表示されない

    スタイルシートで、背景画像(header.jpg')を設定してるのですが表示されません。  --- style.css     newpage5.html  --- img ┐        header.jpg スタイルシートは border-bottom: 1px solid #FF9900; background-image: url('img/header.jpg'); padding: 20px; ホームページビルダーでは、簡易表示されてるんですが アップロードすると、画像が表示されないのですが・・・ 以上宜しくお願いします。

    • ベストアンサー
    • HTML
  • css 背景画像(1つ)とリンク付き画像(複数)を中心に表示したい。(

    css 背景画像(1つ)とリンク付き画像(複数)を中心に表示したい。(超初心者です。) 現在、Kompozerをつかってホームページを作成しています。 添付画像のような配置にしたいので、いろいろなサイトを参照したのですがどうしてもうまくいきません。 現在のソースは以下のようになっており、ブラウザで表示すると背景画像が表示されません。 あまりにも知識がなく、不快な思いをさせてしまったら申し訳ございません。 ご指導いただければうれしいです。 よろしくお願いします。 *ソース <html><head> <meta content="text/html; charset=Shift_JIS" http-equiv="content-type"> <title>ページタイトル</title> <style type="text/css"> </style> </head><body> <div style="text-align: center;" background-image:="" url **.jpg ;width:450px;height:450px;=""><br> <br> <img style="width: 137px; height: 137px;" alt="" src="**.gif" border="0"><br> <br><p style="text-align: center;"> <a href="**.html"><img style="border: 0px solid ; width: 92px; height: 230px;" alt="" src="**.jpg"></a><a href="**.html"><img style="border: 0px solid ; width: 92px; height: 230px;" alt="" src="**.jpg"></a><img style="width: 92px; height: 230px;" alt="" src="**.jpg"><a href="**.html"><img style="border: 0px solid ; width: 92px; height: 230px;" alt="" src="**.jpg"></a><br></p> </div> </body></html>

    • ベストアンサー
    • HTML
  • CSSでリンクの表示をテキストと画像で変えたい

    CSSを使って、 ・テキストのリンクのときは、 a:link で 常に点線のアンダーラインを表示 a:hover で マウスを重ねたとき色を変える ・画像のリンクのときは、  アンダーラインをださない  a:hoverの動作をさせない という風にしたいのですがうまくいきません。 a:link { color: black; text-decoration: none; border-bottom-width: 1px; border-bottom-style: dotted; border-bottom-color: #333333; } a:hover { background-color: black; text-decoration: underline; color:white; } といった指定をして、テキストからのリンクに適用しています。そのうえで、画像には上記の設定が生きないようにしたいと思っていますがうまくいきません。 .bordernone { border: none; } と書いて、リンクの画像に <img src="image/xx.jpg" class="bordernone" style="border-style:none"> などとしてもうまくいきません。 よろしくお願いいたします。

    • ベストアンサー
    • CSS
  • 画像の縦サイズが小さいと隙間が・・・

    縦のサイズが小さい画像を縦に並べると、隙間ができてしまいます(IE6)。 隙間を空けずに、縦方向にぴったりとくっつけたいので困っています。 ネットで調べて色々な方法で試してみましたが、解決しません。 IE6ではあきらめるしかないのでしょうか。 どなたか解決策があれば知恵をかしてください。よろしくおねがいします。 (例) <div style="width:100px; background-color:red;"> <img src="image.gif" width="100" height="5" style="vertical-align:bottom; border:0;"> <img src="image.gif" width="100" height="5" style="vertical-align:bottom; border:0;"> </div>

    • ベストアンサー
    • HTML
  • <img>タグにCSSのclass設定可能?

    <img>タグにスタイルシートのclassは、直接設定できるのでしょうか? 例えば,以下のようにテーブルの中にexample.jpgという画像があるとします。 <table border="4" width="250"> <tr> <td align="left"> <img src="example.jpg" width="100" height="100" borde="0"> </td> </tr> </table> この場合、<td align="left">とあるのでexample.jpgはセルの中で左揃えになって表示されます。 質問1: ここで、スタイルシート使用して、<td align="left">のまま、example.jpgをセルの中で中央揃えにして表示したいとします。また、スタイルシートを使用して、example.jpgの上下には10pxのマージンを設定します(ここでは、スタイルシートに関する質問のため、あえてhspaceは<img>タグに使用しません。)。スタイルシートの指定は、<head></head>内で行なうことにします。 この場合、以下のように<img>タグの中に直接classを設定できますか?できない場合は、その理由、正しいやり方等をお教え下さい。 <head> <style type="text/css"> .abc{ text-align:center; margin-top:10px; margin-bottom:10px: } </style> </head> <table border="4" width="250"> <tr> <td align="left"> <img class="abc" src="example.jpg" width="100" height="100" borde="0"> </td> </tr> </table> やはり、<div></div>で<img>タグを囲んで、 <head> <style type="text/css"> .abc{ text-align:center; margin-top:10px; margin-bottom:10px: } </style> </head> <table border="4" width="250"> <tr> <td align="left"> <div class="abc"> <img src="example.jpg" width="100" height="100" borde="0"> </div> </td> </tr> </table> などとするしか方法がないのでしょうか? 質問2: また、スタイルシートを使用せずに、上記のテーブルで<td align="left">のままexample.jpgを中央揃えにする方法はあるのでしょうか? よろしくお願いします。

    • ベストアンサー
    • HTML
  • 画像の表示につきまして

    こんにちは。お世話になります。  画像の表示について伺いたいことがございます。  現在、HPを作成しています。そこには、横並びで三つの画像を配置しています。  しかし、そのHPをいつ開いても、表示されるのは一番左の画像のみで、真ん中と右の画像は表示されません。  ただし、マウスポインタを当てると、真ん中の画像も右の画像も表示されるようになり、以降は、画像が消えるような事はないのですが、その後、そのHPを閉じて、また開くと、同じように真ん中と右のみ表示されません。  インターネットオプションの「画像を表示する」にも、きちんとチェックが入っていますし、他のPCで開いても同様の結果になります。  こういう場合、どういった不具合が考えられるでしょうか。また、改善方法はありますでしょうか。  因みに、下記のようなタグを使っており、マウスオーバーすると画像が切り替わるようにしてあります。 <p class="img"><a href="http://●●●"><img width="235" height="120" onmousedown="this.src='http://●●●/img1.jpg'" onmouseout="this.src='http://●●●/img1.jpg'" onmouseover="this.src='http://●●●/img1_on.jpg'" alt="画像" src="this.src='http://●●●/img1.jpg'" / border="0"></a></p>  windowsXP IE6.0を使っております。  皆様、お忙しい中恐れ入りますが、ご教示下さい。宜しくお願い致します。

    • ベストアンサー
    • HTML
  • CSSのhoverを使ってアイコン画像を変える

    度々お邪魔しております。 ホームページのアイコンで、カーソルを画像の上に持ってくると、別に用意した画像が出てくるようにしたいと思っています。 一応、HTMLでは以下のようにしているのですが、これをスタイルシートでやる場合はどのようにしたらいいのか分かりません。 <td><div align="center"><a href="index.html"> <img src="icon1.jpg" onmouseover="this.src='icon1_2.jpg';" onmouseout="this.src='icon1.jpg';"border="0"></a></div></td> しかし、調べてみても思い通りのソースが見つからなかったので、どなたか教えてください。

    • ベストアンサー
    • HTML
  • 画像 表示について質問です。

    画像 表示について質問です。 <?php echo '<a href="A.php"><img src="img/advance.gif" wwidth="80" height="80" style="border-style:none;" onmouseover="this.src="img/returen2.gif";" onmouseout="this.src="img/returen.gif";" /></a>'; ?> と考えたのですが、画像は表示されるもののONマウスの時に画像が変化しません。 どうしてなのでしょうか。

    • ベストアンサー
    • PHP