• ベストアンサー

CSSを使って、クリックすると元のサイズに戻る方法

よろしくお願いします。 写真をHPに載せるのですが、画像が大きいので次のようなことがしたいのです。 ・通常はブラウザーのサイズに合わせて全体を表示。 ・画像をクリックすると同じ画面内で元々のサイズの画像を表示。 いまは、フレームを使って左のフレームのサムネイルをクリックすると右フレームにJPGの画像を直接出しています。 なので、画面の大きさに関係なく大きな写真が表示されています。 これを右フレームに最初は全体表示をしておいて、それをクリックすることによって同じ右フレームに大きな元画像を表示させたいのです。 CSSでやりたいのです。よろしくお願いします。

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

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

  • ベストアンサー
  • coboler
  • ベストアンサー率57% (57/99)
回答No.1

<script Language="JavaScript"><!-- function chgImage(strImg) { if (document.all[strImg].className == "imgS") { document.all[strImg].className = "imgL"; }else { document.all[strImg].className = "imgS"; } } // --></script> <style type="text/css"> img.imgL { width : ; height: ; } img.imgS { width : 15%; height: 15%; } </style> <img src="test.jpg" name="imgNM" class="imgS" onclick="chgImage('imgNM')"> CSSで行いたいとはこんな感じでよいのでしょうか? 何か質問あったら追記して下さい。回答できれば回答します (^^;

onmyouji
質問者

補足

貼り付けてみましたら、小さな画像がでてクリックで大きくなりました。わざわざコードまで書いていただきましてありがとうございます。 ところで、CSSではやはりブラウザーのサイズの大小に合わせてリアルタイムに画像を拡大縮小はできないものでしょうか?あと、書いていただいたコードではIE6では縮小画面も表示されているのですが、オペラで見ると縮小画面のほうは線のようになってしまいます。教えていただいた方法はIE専用なのでしょうか?よろしくおねがいします。

その他の回答 (2)

  • coboler
  • ベストアンサー率57% (57/99)
回答No.3

No.1です。 CSSでは「クリックした」などのイベントを拾えないため 動的に画像の大きさを変化させるのは無理だと思います。 また、オペラで上手くいかないとのことですが、私の方の環境 (Opera@USB ver8.54)では普通に見れています。なのでバージョン のせいかオペラの設定によるものだと思われます。 その他の原因としてはCSSの%設定だと思われますので、%では なくpx設定で確認してみて下さい。 これでもダメだった場合は…力及ばずといったところです。

onmyouji
質問者

お礼

PXで指定するとオペラでも正常に表示できました。 自動でサイズ指定は叶いませんでしたが、十分希望に近いものができそうです。いろいろとありがとうございました。

回答No.2

>CSSでやりたいのです。よろしくお願いします。 CSS だけだと困難だと思います。あきらめましょう・・・。 JavaScript なら容易に実現可能ですが。 ポイントは「画像をクリックすると」これをどの様にブラウザ側に渡すのか? A要素に擬似クラスで a:active がありますが、画像をとの事で IMG要素を用いる事となり、少々実現が困難かと・・・。 まぁ、技術的にはIMG要素を用いずにA要素の背景とする事で可能なのは確かです。いろいろ細工は必要ですが。しかも意味的に不適切な行為なので、あまりお勧めしたくはないですねぇ。 以上の事から、JavaScript での実現をお勧めします。 まぁ JavaScript が無効だったらとか閲覧環境を気にされるのでしたら、 CSS も同じく無効にできたりと閲覧環境への配慮は必要です。 というか、CSS を用いるという事は、CSS が無効でも見れる(観れるかどうかは別として)ページという事で、代わりに JavaScript を用いたとしてそれが無効でも問題ないページと思いますが・・・・・。

onmyouji
質問者

お礼

インストールされた状態のままのブラウザでセキュリティロックが出さないためjavascriptは使いたくないと思ったわけです。Cssならセキュリティロックが出ませんよね。というわけなんです。回答ありがとうございます。

関連するQ&A

  • htmlフレームのようにcssで作るには?

    現在サイトを作っています。 そこでギャラリーを設けて画像を一覧で載せようと思っています。 左をメニュー画面、右を左メニュー画面から選んだ画像を表示する画面にしたいのですが、 この場合、htmlのframesetを使うのが普通なのでしょうか? フレームを扱わずにCSSで作れる方法があればと思うのですが・・。 CSSのfloatで右左に分けると左のメニュー画面で画像を選びクリックした時に、右画面だけでなく左も含め、画面全体が画像を表示する画面になってしまいます。これを防いで、右のみに画像を表示させる方法はあるのでしょうか? 左で選んで、右に画像を表示させたいです。 どうするのが一番良いのでしょうか、よろしくお願いします。

    • ベストアンサー
    • CSS
  • CSSを使って画像をクリックすると別フレームに大きな画像を表示したい

    よろしくお願いします。 JAVAとか使うと警告メッセージが表示されるので、そういったメッセージが出ないcssをつかって次のようなことがやりたいのですがどうぞ教えてください。 フレームで2つに割ったページで、左にサムネイルを表示しておいて、そのうえにカーソルを持っていくだけで右のフレームに大きな画像を表示させたいのです。 よろしくおねがいします。

    • ベストアンサー
    • HTML
  • サムネイルから元のサイズの画像の右クリック禁止

    HTMLタグでの右クリック禁止は認識しています。 ただ、サイト上はサムネイルを使っているのですが、サムネイル画像は右クリック禁止タグで設定できますが、サムネイルをクリックして元のサイズの画像が別ウィンドウで開いた画像は保存禁止はできないのでしょうか? 右クリック自体が、すでにあまり意味のないことは知っていますが、知人から了承を受けて頂いた画像をあまり簡単に持っていかれるのは困るので設定しておきたいと思いました。 良い方法があれば、ご教示ください。

    • ベストアンサー
    • HTML
  • 別フレームの.cssの変更

    こんにちは。 javascriptを使って.cssファイルを切り替えることにかんしてのしつもんです。 左フレームと右フレームがあって、 右のフレームに表示されているページのボタンとか文字とかをクリックすると、関数が呼び出されて、左フレームに表示されているページの.cssファイルを切り替えるようなscriptは、どう記述すれば、いいですか?

  • jsプラグインのレイアウトを変えたいがCSSが。。

    http://bxslider.com/examples/thumbnail-pager-1 上記URLのプラグインをHPに導入しています。 1個だけどうしてもわからないので教えてください。 小さい画像をクリックしたら大きい画像が、スクリーンに表示されています。 サイトでは3枚の画像があり、その3枚の小さい画像は中央に表示されています。 これを、左にずらす。もしくは右にずらす。ためにはCSSのどのクラスタをさわればよいのでしょうか? CSSはhttp://bxslider.com/lib/jquery.bxslider.cssだと思います。どこかの値を変更すれば 場所がかわってくれると思うのですが・・・。わかりません 教えてください。お願いします。

  • オンマウスでクリック後の画像を変化させたままにする方法

    たびたびお世話になります。 以前にも同じような質問をしたのですが・・ 状況が変わり、それとHP作成を進めて行くうちに色々解って来た事もあるので、もう一度質問させて下さい。 フレームで、上/左/右に区切っています。 上と左のフレームにメニューがあり、右のフレームにメインコンテンツがあります。 上のメニューも左のメニューもtarget属性のリンクで右フレームに 表示させるようにしたいと思っています。 まだページを作っているところなのでリンクは飛ばしてないですが。 メニューは文字ではなく、上も左も画像を作ってボタンにしました。 JAVAではなく、HTMLで、オンマウスにより画像を変化させるようにもしてあります。 それを、リンクを張り、クリックした後もオンマウスで変化したままの画像にしたいのです。リンク先を表示している間だけ、です。 タグはこうなっています。 <img alt="" src="image/MENU1.jpg" onmouseover="this.src='image/MENU1_1.jpg'" onmouseout="this.src='image/MENU1.jpg'" style="width: 119px; height: 33px;"> やり方はありますでしょうか? それと、上のフレームからメニューをクリックした後、 左のフレームの中身も変化させる、というのはJAVAですか? また、やり方はあるのでしょうか。 こんな風にやりたいのですが↓ http://www.dreampower-jp.com/index.html

  • ホームページで写真のうまい掲載方法

    写真共有サイトを使わずに 自分のホームページでパスワードが分かる人のみ 写真をそのままのサイズで掲載したいと思っています 1.パスワードが分かる人のみ表示される 2.ブラウザ画面全体に写真が表示され、 写真をクリックすると次の写真が表示される。 3.表示された写真は右クリックすると画像を保存できる というようにしたい場合、 どのような仕組みを利用すればできますか? 大まかなやり方を教えていただければと思います よろしくお願いします

    • ベストアンサー
    • HTML
  • 写真を左クリックで別名保存をしたい

    サムネイル画像をクリックすると拡大写真が表示 されるページはよく見かけるのですが、 通常のクリック(左クリック)をして、ファイルの 保存画面を出し、ファイルを保存する方法はないの でしょうか? クリックすると拡大写真が表示されてしまうので 『右クリック→別名保存』という操作を省き、 JavaScriptなどを利用して通常のクリックで保存画面 を出したいと考えております。 みなさん大変お忙しいかとは思いますが、どなたか ご存じの方がみえれば、お力添えをよろしくお願い 致します。

  • サムネイル画像のサイズ変更

    windowsXPでフォルダの中の多数の写真ファイル(jpg)を閲覧するとき、表示方法を縮小版にしています。 サムネイル画像が並んで表示されていますので目的の画像を探すのに便利なのですが、私にとってはサムネイル画像のサイズがちょっと小さいのです。 縮小版(サムネイル画像)のサイズを変更する事は出来ないでしょうか?

  • 指定ウィンドウサイズ

    サムネイル画像をクリックしたら、子画面(指定サイズ)が立ち上がる作りにしていました。しかし、IEでは動作しているのですが、ファイヤーフォックスでは全画面表示になってしまい、うまく機能しません。 以下のタグに、何を加えればどんなブラウザでも対応できるのでしょうか? /////////////////////////////////////////////////// <A href="解説ページ(子画面).html" onclick="window.open(this.href, '', 'width=630,height=560,top=300,left=300'); return false;" target="_blank"><IMG src="サムネイル画像.jpg" width="100" height="100" border="0"></A>

専門家に質問してみよう