imgタグの囲み方は?

このQ&Aのポイント
  • imgタグの囲み方について迷っています。
  • alt属性を空にする場合は囲まずにそのまま置いています。
  • ブロック要素が必要な場合にはdivで囲んでみています。
回答を見る
  • ベストアンサー

imgタグは何で囲むのが良いか

皆さんはimgタグは何で囲んでいますか? <div> <h3>タイトルタイトル</h3> <p>テキストテキストテキストテキストテキストテキスト</p> <img src="xxxx.jpg" alt=""> </div> 例えばこういうような時に、何で囲むべきかというのをいつも迷います。 ブロック要素で囲むべきである、というのは何となく認識していますが、ここをdivで囲むのも何か違うような気がするし、 pで囲むのも「段落」と見なせるような画像でないと何となく気持ち悪いです。 最近はaltのある画像は「これは段落だろう」と自分を納得させてpで囲み、 altを空にしているものは囲まずにそのまま置いたりしています。 レイアウト上、ブロック要素が必要になった時にはdivで囲んでみたり…。 私はイメージ的な画像(情報としては必要ない画像や、直前のテキストとかぶっている画像文字等)にはあえてaltは付けずに空にすることが多いので、ちょいちょいこういう事で迷います。 スマートなやり方をご教授ください。

  • tkmojo
  • お礼率62% (116/186)
  • HTML
  • 回答数4
  • ありがとう数4

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

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

>「alt="---------"」と入れるくらいなら「alt=""」の方が良いのではないでしょうか?  そうです。そもそも、文字(内容)を画像に置き換えてしまうのは、感心できない手法ですが、味気ないHRの代わりに画像ラインを入れる手法はかっては行われていました。もしHRの代わりに画像を入れるのでしたら、このように書くべきと言っているのである---画像に置き換えて記述するのは誤りと言うことを言いたいのです。 >この写真にaltで候補者名を入れてしまうと、画像が見れない環境の人に対しては候補者が2回表示(もしくは読み上げ)されることになります。  その場合は、 ・altをalt=""としておく ・alt="山田太郎の正面からの写真"  あるいは、alt="本人の写真"  と画像が表示されない人も画像から得られるはずの情報をいれておく。  になるでしょうね。 <div> <h3>タイトルタイトル</h3> <p>テキストテキストテキストテキストテキストテキスト</p> <img src="xxxx.jpg" alt=""> </div>  これは、書きましたが、Validator上はエラーになりませんが、やはり間違いなのです。この場合、ここに仮想的なブロックが存在するとしてDOMを構成しますが、その処理はHTML4以前は決まった解釈が定められていなかったために解釈上差が出てしまう可能性があります。 気が進まないが <div> <h3>タイトルタイトル</h3> <p>テキストテキストテキストテキストテキストテキスト<br> <img src="xxxx.jpg" alt=""> </p> </div> とか <div> <h3>タイトルタイトル</h3> <p>テキストテキストテキストテキストテキストテキスト</p> <p><img src="xxxx.jpg" alt=""></p> </div> それは、その画像がどのような段落にあるのかによって判断します。DIVはDIVで目的・用途があります。文法上のエラーを回避するため、単にデザインのためのような使い方は極力避けるほうがよいと思います。それは、突き詰めればHTMLで文書構造を正確にマークアップしすること、最終的にメンテナンスしやすい結果になるからです。  <p class="figure main">   <img src="" width="" height="" alt="麓から見た紅葉の城山">  </p>  <p>紅葉も終盤を迎えた先週、子供達を連れて近所の城山にハイキングに言ってきました。</p>  <p class="figure sub">   <img src="" width="" height="" alt="玄関で見送る妻">  </p>  <p>   妻は、このような山歩きなど、実利がないものには付き合ってくれない。昔は・・  </p> このように書かれていると、後で写真を一枚追加したいときに前後を見ればどのようにマークアップすればよいかわかりますし、スタイルシートを書く際も、 *.figure{margin:10px;text-align:center;} *.figure.sub{float:right;} *.figure img{padding:5px;border-shadow:10px 10px 10px rgba(0,0,0,0.4);} とか・・

tkmojo
質問者

お礼

度々回答ありがとうございます。 > alt="山田太郎の正面からの写真" > あるいは、alt="本人の写真" 確かにこうすれば、<p></p>で囲むのに抵抗は無くなりますが、 やはりpで囲みたいがために無理やり入れた文字のように思えます。 音声ブラウザやテキストブラウザ閲覧者からは、「ここに本人の写真がある」「正面を向いている」というような情報は不要だからです。 特に音声ブラウザは読み上げに時間がかかるので、不要な文字情報は極力省くべきだと思っています。 alt="〇〇の写真" という表現は、昔見た本などでも紹介されていたので知っていますが、altの目的からは不適切ではないかと思っています。 また、別の問題として、情報としての意味をなさないイメージ画像に毎回文字を入れるのはSEOスパムにもつながるのではないかと思い、乗り気になれません。 私はSEOの専門ではないので的外れかもしれませんが、例えばスキンケア商品のページで水滴が水面に落ちる写真素材を使ったとして、 alt="水滴の写真" は不要な文章ですし、alt="〇〇(商品名)は、まるで水滴が水面になじむように、お肌に浸透します。"などとするのはSEOテクニックのようで、好ましくないような気がします。 という事で、私はこういう場合には alt="" を使います。 その方法が正しいかどうかはひとまず置いといて、 空のaltを設定したimgタグをどう配置するか、という問題に対しては スマートな方法は無く、気が進まない方法しか無いという事が結論のようですね。 ブロック要素で囲むには<div></div>か<p></p>しかなく、 そのどちらもとても適切とは言えないが、<div></div>よりは<p></p>の方がマシだろう、 という所でしょうか。 素で置くのは好ましくないという事はわかりました。

その他の回答 (3)

回答No.4

>スマートなやり方をご教授ください。 ひと言で言えば、臨機応変 (◦´꒳`◦)ドヤァ http://www.w3.org/TR/html5/the-img-element.html#the-img-element <img>の使い方(どのタグで囲むのか)として、様々な方法が書かれています。 HTML4では<p><img></p>というならびが推奨されると思いますが、 もともと<img>は<object type="image/***"></object>の短縮形ですから、<p>に入れなければならないというわけでもないと思います。 --------------- 他に適切な要素が無ければ<p>を使うというのがいいと思いますが、 http://www.w3.org/TR/html5/the-p-element.html#the-p-element <p>要素解説の最後、 段落の中に他の要素が入る場合、<p><ul><p>というならびにしても良いし、<p>をやめて代わりに<div>を使用する方法でも良い、とあります。 (そもそも日本語や英語の文法(1つの文(段落の一部)の中に箇条書きが入ることがある)とHTMLの文法(段落の中に箇条書きを入れては行けない)に矛盾があるため、他にやり方が無いというのも理由の一つです。) HTML4、XHTMLは文書(文字によるもの)を基準として作られた文法/仕様ですが、 HTML5で作られる文書は文字とは限りませんし、それが段落とは限らないと思います。 それ(段落ではない"ブロック要素")に対して、最小単位である<p>を使っても良いし、汎用要素である<div>でも良いし、だと思います。

tkmojo
質問者

お礼

回答ありがとうございます。 やはり臨機応変…なんですね。 まだリンク先に目を通せていませんが、回答を参考に勉強させていただきます。

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

>確かにこうすれば、<p></p>で囲むのに抵抗は無くなりますが、 やはりpで囲みたいがために無理やり入れた文字のように思えます。  そうではなくて、画像が利用できないユーザーのために代替テキストを書くのです。画像を使うということは、テキストよりも画像のほうが一目瞭然に情報が伝わるために画像を入れるのですから、本来は代替テキストが入るはずです。  逆に言うと、そうでない画像は背景でよいのです。 ・alt = text [CS] ( http://www.asahi-net.or.jp/%7Esd5a-ucd/rec-html401j/struct/objects.html#adef-alt ) ・B.9 アクセス性に関する注意 ( http://www.asahi-net.or.jp/%7Esd5a-ucd/rec-html401j/appendix/notes.html#accessibility ) ・6. ウェブコンテンツ・アクセシビリティ・ガイドライン ( http://www.zspc.com/documents/wcag10/#gl-provide-equivalents )  これらを読まれると多分答えは見出せると思います。画像が情報を提供するものなら、基本的には長くてもよいので画像が利用できないユーザーのための情報があるのではないか??  それであっても、たとえば写真集のようなサイトでは、どう考えても画像を利用できないユーザーは訪問しないために代替テキストを用意する必要はないとも言えます。  一律なルールを杓子定規に適用するのではないと思います。先に補足された 「右側には選挙区ごとに候補者が並んでいて、写真と名前があります。」  ですが、もしこのページが視覚障害者の訪問を考慮しなければならないのでしたら、写真に変わるテキスト--もちろん長文になるかもしれませんが---が入るほうが良いかもしれません。・・・私はしないでしょうが(^^) >ブロック要素で囲むには<div></div>か<p></p>しかなく、 そのどちらもとても適切とは言えないが、<div></div>よりは<p></p>の方がマシだろう、 という所でしょうか。  それはその通りでしょう。 「divは他に適切な要素がないときに、最後の手段としてのみ使用する」  --- http://www.w3.org/TR/2011/WD-html5-20110525/grouping-content.html#the-div-element のNOTE:参照  もちろん、写真の説明などが入る場合は、DIV以外選択肢はありません。HTML5ではそのような用途でfigure /figcaption要素が追加されましたから悩まず <figure>  <img src="" width="" height="" alt="">  <figcaption></figcaption> </figure>  のようなマークアップができます。  

tkmojo
質問者

お礼

回答ありがとうございます。 まだリンク先に目を通せていませんが、回答を参考に勉強させていただきます。

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

 その画像がどのような段落であるかで決まると思いますが???なぜ悩まれるのかわかりません。 <div class="header"> </div> <div class="section">  <h2>近所の山に出かけました</h2>  <p class="figure main">   <img src="" width="" height="" alt="麓から見た紅葉の城山">  </p>  <p>紅葉も終盤を迎えた先週、子供達を連れて近所の城山にハイキングに言ってきました。</p>  <p class="figure sub">   <img src="" width="" height="" alt="玄関で見送る妻">  </p>  <p>   妻は、このような山歩きなど、実利がないものには付き合ってくれない。昔は・・  </p> >altを空にしているものは囲まずにそのまま置いたりしています。 <div class="section">  <p>その場合も、文法上の制約からエラーにならなくてもブロック要素で囲むべきです。  良くあるのが罫線代わりに画像を使用する場面です。</p> <p class="horizontalRule"><img src="" width="" height="" alt="---------">  <p>   さて・・  </p> とか・・まあ、あまり良い使い方ではないですが。<hr>でマークアップしてスタイルシートで画像に置き換えるべきでしょう。 >私はイメージ的な画像(情報としては必要ない画像や、  背景ないし、<p></p>で囲み代替文字を入れる。 >直前のテキストとかぶっている画像文字等)  たとえそうであっても・・・・ <section>  <h2>近所の山に出かけました</h2>  <figure class="main">   <img src="" width="" height="" alt="麓から見た紅葉の城山">  </figure>  <p>紅葉も終盤を迎えた先週、子供達を連れて近所の城山にハイキングに言ってきました。</p>  <figure class="sub">   <img src="" width="" height="" alt="玄関で見送る妻">  </figure>  <p>   妻は、このような山歩きなど、実利がないものには付き合ってくれない。昔は・・  </p> ですかね。 >ブロック要素で囲むべきである、というのは何となく認識していますが、  imgはインライン要素ですから、必ずブロック要素内になければなりません。もちろん、  <p>なんたらかんたらは<img alt="↑">のような場合もあるでしょう</p> >ここをdivで囲むのも何か違うような気がするし、  この場合が、段落になるか、行内要素であるかによりますが、divは基本的に他に適当なタグがないときに使用したり、複数のブロック要素を意味的に括るときに使用しますが、原則としてclass名を併用するはずです。上記の<p class="figure"></p>はその内部にひとつの段落しかないからでしすし、複数のブロックがあれば <div class="figure">  <p><img src="" width="" height="" alt=""></p>  <p>コメント</p> </div>  ならdivでしょう。

tkmojo
質問者

お礼

回答ありがとうございます。 > 私はイメージ的な画像(情報としては必要ない画像や、  背景ないし、<p></p>で囲み代替文字を入れる。 要は、「基本的に<p></p>が適していて、その際には必ずaltが必要。altを入れないなら背景にすべき。」 という事でしょうか。 > <p> class="horizontalRule"><img src="" width="" height="" alt="---------"><p> こういう使い方はやったことが無いですが、 「alt="---------"」と入れるくらいなら「alt=""」の方が良いのではないでしょうか? 「alt="---------"」に対して、テキストブラウザや音声ブラウザがどう読むのかはわかりませんが、無意味なaltは不適当な気がしますし、 「<p></p>で囲みたいから、例え不要でもaltには何か入れたい」というのは本末転倒な気がします。 ユーザビリティの為にルールがあるのであって、ルールの為にユーザーに不便を押し付けるのはちょっと…という感じで。 また、挙げて頂いた登山の文章例は非常によくできていて、写真が見れない人もaltの内容に違和感は感じませんが… 例えば、こういうサイトの場合(ikesaiから適当に選んだだけで、政治的な意味はありません) http://special.jimin.jp/ 右側には選挙区ごとに候補者が並んでいて、写真と名前があります。 この写真にaltで候補者名を入れてしまうと、画像が見れない環境の人に対しては候補者が2回表示(もしくは読み上げ)されることになります。 altを入れたくないからと言って、背景にするような内容ではありませんし、 この場合にはimgで配置した上で「alt=""」が正しいと個人的には思います。 ※リンクイメージなので実際には不適当ですが、リンクが無かったとして… ※このサイトでは<div></div>で配置しているようです。 話しがそれましたが、要は「imgタグで配置」「altは空が適切」という状態はどうしても出てくるのでは、という事です。 その場合には<p></p>を使うべきではないのか、上記に挙げたサイトのように<div></div>を使うのか… と言う点に悩んでいます。 ちなみに、最初に挙げた例の下記の場合、 <div> <h3>タイトルタイトル</h3> <p>テキストテキストテキストテキストテキストテキスト</p> <img src="xxxx.jpg" alt=""> </div> imgは周りの<div></div>の中にあるのだから、 > imgはインライン要素ですから、必ずブロック要素内になければなりません。 これを満たしている、と考えられるわけではないですかね?

関連するQ&A

  • imgタグをそのまま使うことは正しいの?

    <h2>hogehogehoge</h2> <p>hogehogehogehogehogehogehoge</p> <img src="images/hoge.gif" alt"hoge" /> これって正しいですか? <h2>はタイトル <p>は段落(文章?) <img>は???? 画像? もしかして正確にはimgタグも<p>とかで囲わなければいけないのか? 教えてください。。。

    • ベストアンサー
    • HTML
  • 画像はDIVタグとPタグの両方で囲むの?

    クラブのホームページを作っているんですが 分からない事がありますので質問させていただきます。 勉強している本で画像もPタグで囲むのが正しいと載ってましたので ------------------------------------------------------- <div><p><img src="○○" alt="なし"></p></div> ------------------------------------------------------- と記述していたんですが、 色々勉強していくとPタグではなく、 ブロックレベル要素で囲むのが正しいとの事ですので <div>も<p>もブロックレベル要素なので ------------------------------------------------------- <div><img src="○○" alt="なし"></div> ------------------------------------------------------- とか ------------------------------------------------------- <p><img src="○○" alt="なし"></p> ------------------------------------------------------- みたいに無理に<div>と<p>の2つではなく <div>だけ、または<p>だけで、囲むのも問題はないのでしょうか? ※スタイルシートでレイアウトしています。 ※画像はスペースを空ける為だけですので<div>~</div>に文章はありません。  同じくaltの指定もしていません。 ※画像でスペースを空けるは、あまり良くない事は分かっていての質問です。 別の質問ですけど、あるホームページでH2(見出しタグ?)で ------------------------------------------------------- <div><h2>タイトル</h2></div> <div><p>文章</p></div> ------------------------------------------------------- が正しいと載っていたんですが ------------------------------------------------------- <div> <h2>タイトル</h2> <p>文章</p> </div> ------------------------------------------------------- では間違っているんでしょうか? すいません、もう1つ質問です。 http://openlab.ring.gr.jp/k16/htmllint/htmllint.html でチェックしてみると98点でした。 私のパソコンや、友達のパソコンでは、ちゃんと表示されてるんですが 100点じゃないと、表示されないパソコンもあるんでしょうか? 学校が短大で男子がいないので HTMLやCSSが苦手な子ばかりです。 私と副部長で頑張ってほぼ完成しましたが、 はじめてホームページを作った初心者で 細かい事を教えてもらえる人がいなくて困ってます。 初心者の質問で申し訳ありませんが よろしくお願いします。

  • imgタグとレスポンシブについて

    imgタグとレスポンシブについて imgタグなどのようなインライン要素は、 ブロック要素で囲まないといけないと聞いたのですが、下記のような形でナイトいけないのですよね 下記のように直前にブロック要素で囲まれていないといけないのでしょうか? <div class="copyright"> <img src="img/base/copyright.png" alt="のコピーライト" width="382" height="24" /> </div> 下記のように直前にブロック要素で囲まれていないといけないのでしょうか? それとも直接ブロック要素で囲まれていなくてもずっと先にブロック要素があってそこから入れ子になっていればいいのでしょうか? ~ <td class="copyright"> <address> 〒***-*** **県**市**町 1-5-10 <span>TEL.0977-84-****</span> </address> <ul class="futtnavi"> <li><a href="http://index.html"><img src="img/base/sitemap.png" alt="サイトマップ" width="101" height="18" /></a></li> <li><a href="http://index.html"><img src="img/base/sitemap.png" alt="サイトマップ" width="101" height="18" /></a></li> </ul> <img src="img/base/copyright.png" alt="会のコピーライト" width="382" height="24" /> </td> ~ 下記はだめですよね。 <H2>画像</H2> <IMG src="img/img0.jpg" width="120" height="90" alt="写真" border="0" align="top"> 文字が上揃えになります<BR> <BR> <IMG src="img/img1.jpg" width="120" height="90" alt="写真" border="2"> 枠の太さを2にしています<BR> <BR> <IMG src="img/img2.jpg" w また、もうひとつになってしまうのですが、下記のimg をフルイドイメージにしたい場合は画像のたて、横はば割る直前のブロック要素のtdのwidthと縦幅(クロームのf12で出てくるpx)で出した%を ul.futtnavi+img { width: 67.3%; height: 18%; } のように入れれば良いのですよね。 tdのサイズは567px,133px imgは382、24です。 うまくぴったりのサイズになりません。 スマホでは消えます。 またtdの中の内容が増えた場合毎回計算しなおさないといけないのでしょうか? ~ <td class="copyright"> <address> 〒***-*** **県**市**町 1-5-10 <span>TEL.0977-84-****</span> </address> <ul class="futtnavi"> <ul class="futtnavi"> <li><a href="http://index.html"><img src="img/base/sitemap.png" alt="サイトマップ" width="101" height="18" /></a></li> <li><a href="http://index.html"><img src="img/base/sitemap.png" alt="サイトマップ" width="101" height="18" /></a></li> </ul> <img src="img/base/copyright.png" alt="会のコピーライト" width="382" height="24" /> </td>

    • ベストアンサー
    • CSS
  • XHTMLでは、インライン要素は必ずブロックレベル要素内に記述となっていますがこの場合は?

    XHTMLについて教えてください。 XHTMLでは、インラインレベル要素は、必ずブロックレベル要素内で記述されなければなりませんが、こういった場合(以下参照ください)の書き方は、どちらが正しのでしょうか? まずCSSを、 #hoge{ width:200px; background-color:#000000; } と設定したと仮定します。 で、XHTMLですが・・・ -----サンプル1----- <div id="hoge"> <p><img src="写真とか.gif" alt="" width="10" height="10" /></p> <h1>タイトル</h1> <p>テキストテキストテキスト・・・・・</p> </div> -----サンプル2----- <div id="hoge"> <img src="写真とか.gif" alt="" width="10" height="10" /> <h1>タイトル</h1> テキストテキスト </div> あと、ブロックid“hoge”内に一つだけインライン要素を配置する場合・・・ -----サンプル2----- <div id="hoge"> <p><img src="ボタン.gif" alt="" width="10" height="10" /></p> </div> -----サンプル2----- <div id="hoge"> <img src="ボタン.gif" alt="" width="10" height="10" /> </div> 要するに、CSSの設定を呼び出すために<div>で括っている場合は、それぞれのサンプル2のように既にブロックレベル要素内に収まっている」ということになるのでしょうか? それとも、やはり、サンプル1のよう記述するのが正しいのでしょうか? 説明が分かりにくくて申し訳ございませんが、ぜひアドバイスくださいますようお願いいたします。

    • ベストアンサー
    • HTML
  • 横並びのカラム内で画像の高さを基準にして合わせたい

    お疲れ様です。 横並びのアルバムについて質問です。columnボックスに見出し<h4>と画像、説明文の<p>が入っています。見出しの文字数と説明文の長さは一定ではないので、column内の要素の位置がそれぞれ違います。 これを画像の頭部分で高さを揃えることはcssだけで実現できるでしょうか。 見出しと説明文どちらかがなければcolumnにinline-blockを指定してあげればよいのですが。 お知恵を貸していただければと思います。 ※画像の大きさは一定です。 <div class="column4"> <div class="column"> <h4>■ダミーテキスト</h4> <div class="image"><img src=".img" alt=""></div> <div class="text"><p>ダミーテキストダミーテキストダミーテキストダミーテキストダミーテキストダミーテキスト</p></div> </div> <div class="column"> <h4>■ダミーテキスト</h4> <div class="image"><img src=".img" alt=""></div> <div class="text"><p>ダミーテキストダミーテキストダミーテキストダミーテキスト</p></div> </div> <div class="column"> <h4>■ダミーテキスト</h4> <div class="image"><img src=".img" alt=""></div> <div class="text"><p>ダミーテキストダミーテキストダミーテキストダミーテキスト</p></div> </div> <div class="column"> <h4>■ダミーテキストダミーテキストダミーテキストダミーテキストダミーテキストダミーテキストダミーテキストダミーテキスト</h4> <div class="image"><img src=".img" alt=""></div> <div class="text"><p>ダミーテキスト</p></div> </div> </div>

    • ベストアンサー
    • CSS
  • 段落タグ<p>について教えてください。

    昔、どこかのサイトで<p>タグは必要不可欠のものだ、との記述を見たことがあります。例えば <h1>タイトル</h1> <h2>サブタイトル</h2> <p>説明文</p> のように。必ず<p>タグで文章をくくらなければいけない、 というのが、『本来』の規則なのでしょうか。(←質問1) もしそうだとして、テーブルやリストなども<p>でくくるのですか? (↑質問2) また、<div>を使い1つの段落をブロックとしてまとめる(?)ときも<p>を使うのでしょうか、それは<div>の外側と内側、どちらに書くべきですか?(←質問3) 上記の質問はインライン要素、ブロック要素というようなものと関係があるのですか?(←質問4) 最後に、複数の改行を行うとき、<br>の連続は禁止されていますが、スペースだけの段落で改行を演じるのはどうなのでしょうか。(質問5) 長くなりましたが、簡単にでいいのでよろしくお願いします。

  • img

    大きい画像にスクロールを表示させたいです。 <img>タグのみでスクロールを表示させる方法を探しています。 img{ display:block; overflow:auto; } なんて風にやっても、<img>はブロック要素にはなりませんか? <div>で囲えばできるんですけど。

  • <p>タグはどこまで囲む?

    ただいまCSS勉強中です。 いつもどこまで<p>タグで囲まなくてはいけないのか悩むのですが、 「ブロックレベル要素同士は入れ子にならない」 「ブロックレベルの中に含まれるのはインライン要素だけ」 と考えていいのでしょうか。 でもdivの中にpを入れることもありますよね?? ブロックレベル要素:h,p,ul,dl,blockquote,divなど インライン要素:a,img,em,strong,brなど よろしくお願いいたします。

    • ベストアンサー
    • CSS
  • ランダムで表示させたブロック要素内のボタンクリックで、要素の変更

    いつもお世話になってます。 今日はJavaScriptについて質問させてください。 2つのブロック要素(div)を、ランダムに表示させています。 function main() { boxID = new Array(); jmp = new Array(); img = new Array(); alt = new Array(); btn = new Array(); boxID[0] = 'view1'; boxID[1] = 'view2'; jmp[0] = 'url01.html'; jmp[1] = 'url02.html'; img[0] = 'img01.jpg'; img[1] = 'img02.jpg'; alt[0] = '画像1'; alt[1] = '画像2'; btn[0] = 'img/ch01.gif'; btn[1] = 'img/ch02.gif'; n = Math.floor(Math.random()*jmp.length); document.write("<div id='"+boxID[n]+"' class='box'>"); document.write("<h2><a href='"+jmp[n]+"'>"); document.write("<img src='"+img[n]+"' alt='"+alt[n]+"' />"); document.write("</a></h2>"); document.write("<p><a href='#'><img ='"+btn[n]+"' alt='要素を切り替え' /></p>"); document.write("</div>"); } 更新するたびに、要素1と、要素2がランダムで出るとこまでは出来ました。 その中の【要素を切り替え】部分のボタンをクリックすることで、1と2を切り替えて表示させたいのです。 ランダムで【要素1】が出た場合、【要素を切り替え】ボタンをクリックすると【要素2】が表示されると言った具合です。 ↓↓↓切り替え用(ネット上からの拾い物) ■JavaScript function fh_change(view, menu, no, roopCount) { var element; for (var i = 1; i <= roopCount; i++) { element = document.getElementById (view + i); element.style.display='none'; } element = document.getElementById(view + no); element.style.display = 'block'; } ■HTML <div id="view1" class="box"> <h2><a href="url01.html"><img src="img01.jpg" alt="画像1" /></a></h2> <p class="btn" id="btn1"><a href="#" id="menu1" onclick="fh_change('view', 'menu', '2', 2);return false;"><img src="img/ch01.gif" alt="要素を切り替え" /></a></p> </div> <div id="view2" class="box" style="display:none;"> <h2><a href="url02.html"><img src="img02.jpg" alt="画像2" /></a></h2> <p class="btn" id="btn2"><a href="#" id="menu2" onclick="fh_change('view', 'menu', '1', 2);return false;"><img src="img/ch02.gif" alt="要素を切り替え" /></a></p> </div> 上手く合体させてあげることが出来ず、困ってます。 お詳しい方いらっしゃいましたら、どうかご助力お願いします!!

  • pタグとimgタグについて

    【やりたいこと】 手順1.pタグによる文章 imgタグによる解説画像 手順2.pタグによる文章 imgタグによる解説画像 つまり、各手順に対しての解説画像をはっていこうと考えています。 【タグ】 <p>手順1.「メニューを選択」→「ファイルを保存」<img src="説明画像"></p> <p>手順2.「保存場所の選択」<img src="説明画像2"></p> として組んでいます。 【得られる結果】  手順1.「メニューを選択」→「ファイルを保存」 説明画像1  手順2.「保存場所の選択」 説明画像2 と当然、横並びになります。 画像の横にテキストを配置とかできるのわかるのですが、 【求める結果】  手順1.「メニューを選択」→「ファイルを保存」       説明画像1  手順2.「保存場所の選択」       説明画像2 という形に持っていきたいのです。 【変更後のHTML】  <p>手順1.「メニューを選択」→「ファイルを保存」</p>  <p><img src="説明画像"></p>  <p>手順2.「保存場所の選択」></p>  <p><img src="説明画像2"></p> と組むのがいいのでしょうか? imgのcssのvertical-alignではできないと感じたもので…。 ご教授お願いします。

    • ベストアンサー
    • CSS

専門家に質問してみよう