個人で絵のサイトを作ろうとしています。
HTMLとCSSで作り、画面を半分に分けて左側がメニューで右側に絵が表示されるというよくある形が目標です。
フレームを使わずに、overflowでスクロールできるようにしたのですが、問題はメニューで右側に絵を表示させる際にこのままだとメニューを切り替えるたびにリンクがページごと切り替わる点です。
メニューの数がある程度限られていれば、左側が同じページをいくつもつくり右側だけ変えるようにできますが、絵の数が増えればそのたびメニューの項目がいくつと増えていきます。
そのたび今まで作ったページたちの左側をいちいち編集しなければいけませんよね?それはめんどくさい…
今目指すレイアウトでフレームを使わずに右側だけ切り替える、もしくは絵を更新するたびにひとつひとつ書き換えにいかなくても済む方法はありますでしょうか?
同じような質問はいくつもあるのですがなかなか解決にたどり着かないので質問させていただきました。
以上の内容でよろしければ回答お願いします。
No.8ベストアンサー
- 回答日時:
#5、#6です。
(前回、間違って連投してしまいました。失礼。)>載せたい画像の大きさはそれぞれ違うので一括指定できません。
どこをいじられたのかわかりませんが、別に画像サイズを固定する必要はありません。
表示部分のサイズを固定してもよければ、画像の枠(にあたるli要素)のサイズを」固定しておけば、画像のサイズは自由に出来るのではないでしょうか。
表示部分のサイズも可変とかいろいろになると、スクリプトを使ってしまった方が簡単そう。
前回とほとんど同じですが、
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN">
<html lang="ja">
<head><title>sample</title>
<meta http-equiv="Content-Style-Type" content="text/css">
<meta http-equiv="Content-Script-Type" content="text/javascript">
<meta http-equiv="Content-Type" content="text/html; charset=shift_jis">
<style type="text/css">
<!--
#navi, #images { float:left; }
ul, li { list-style-type:none; padding:0; margin:0; }
#navi { width:10em; }
#navi img { width:4em; height:2em; border-width:0px; }
#images { width:600px; height:300px; overflow:hidden; }
#images li { width:600px; height:300px; text-align:center; overflow:auto; }
//-->
</style>
</head>
<body>
<div>
<ul id="navi">
<li><a href="#img1"><img src="img/photo01.jpg" alt="photo1">photo1</a></li>
<li><a href="#img2"><img src="img/photo02.jpg" alt="photo2">photo2</a></li>
<li><a href="#img3"><img src="img/photo03.jpg" alt="photo3">photo3</a></li>
<li><a href="#img4"><img src="img/photo04.jpg" alt="photo4">photo4</a></li>
<li><a href="#img5"><img src="img/photo05.jpg" alt="photo5">photo5</a></li>
<li><a href="#img6"><img src="img/photo06.jpg" alt="photo6">photo6</a></li>
</ul>
<ul id="images">
<li><a name="img1"><img src="img/photo01.jpg" alt="photo1" style="width:400px; heigth:200px"></a></li>
<li><a name="img2"><img src="img/photo02.jpg" alt="photo2" style="width:300px; height:100px;"></a></li>
<li><a name="img3"><img src="img/photo03.jpg" alt="photo3" style="width:800px; height500px;"></a></li>
<li><a name="img4"><img src="img/photo04.jpg" alt="photo4"></a></li>
<li><a name="img5"><img src="img/photo05.jpg" alt="photo5"></a></li>
<li><a name="img6"><img src="img/photo06.jpg" alt="photo6"></a></li>
</ul>
</div>
*スクリプトを使ってもよいのであれば、たくさんのものがライブラリ化されているので、探せばいろいろ見つかると思います。
<以下一例>
http://sandbox.scriptiny.com/javascript-slideshow/
http://www.fabulant.com/downloadcenter/imgfadezo …
http://myisland.jp/template/gallery/gallery04.html
No.7
- 回答日時:
No.2です。
その後、反応がないのですが・・。望まれている形と、現状の説明がないと、あなたの希望に沿う適切な対策は得られません。
CGIなどサーバー側でのプログラムを使用せずに、HTMLとCSSだけで行おうとすると、すべてのページを書き直さなければなりませんが、HTMLの工夫でその負担は大きく軽減できます。
[例]
・画像の数が月に10枚程度でしたら、月ごとにひとつのHTMLを作成する。
そのページに目次と画像を置く。
・前の月
・年間リスト
・アルバムのトップへのリンク
・および次の月へのリンク
こうすると、書き直すのは前月のHTMLと、アルバムトップ、その年の年間リストだけですみます。
2011_nov.html ができたときに
アルバムトップへのリンク
今年のリストへのリンク
先月へのリンク
2011_oct.html の書き直しは
アルバムトップへのリンク
今年のリストへのリンク
先月へのリンク
来月へのリンク--追加★だけ
それぞれのページの目次は、fixedで固定すると、画像はスクロールして見れます。
将来、CGIなりで自動化するにしても、最低限これだけのことをしておけば、これらのファイルは書き直す必要がありません。
この回答への補足
回答ありがとうございます。
伝わりにくい質問内容の上、質問した時点でとりあえず作っていたものがちゃんと機能していないことが後からわかりました。すいません。
overflowですが、フレームを使わずにメニューとメインを別々にスクロールできるようにするのを目指して使いました。形はできたもののメニューをクリックして右側に表示することができずそこで力尽きました。
なるほど月ごとに分けるという考え方もあるのですね!
そのやり方でちょっと試してみます。
No.6
- 回答日時:
ご質問の意味が把握できていないので、よくわかりませんが想像で…
スクリプトで対応している例が多いとは思いますが、こんな方法でも可能ではないでしょうか?
(以下、原理のみです。)
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN">
<html lang="ja">
<head><title>sample</title>
<meta http-equiv="Content-Style-Type" content="text/css">
<style type="text/css">
<!--
#navi, #images { float:left; }
ul, li { list-style-type:none; padding:0; margin:0; }
#navi { width:10em; }
#navi img { width:4em; height:2em; border-width:0px; }
#images, #images img { width:600px; height:300px; }
#images { overflow:hidden; }
//-->
</style>
</head>
<body>
<div>
<ul id="navi">
<li><a href="#img1"><img src="img/photo01.jpg" alt="photo1">photo1</a></li>
<li><a href="#img2"><img src="img/photo02.jpg" alt="photo2">photo2</a></li>
<li><a href="#img3"><img src="img/photo03.jpg" alt="photo3">photo3</a></li>
<li><a href="#img4"><img src="img/photo04.jpg" alt="photo4">photo4</a></li>
<li><a href="#img5"><img src="img/photo05.jpg" alt="photo5">photo5</a></li>
<li><a href="#img6"><img src="img/photo06.jpg" alt="photo6">photo6</a></li>
</ul>
<ul id="images">
<li><a name="img1"><img src="img/photo01.jpg" alt="photo1"></a></li>
<li><a name="img2"><img src="img/photo02.jpg" alt="photo2"></a></li>
<li><a name="img3"><img src="img/photo03.jpg" alt="photo3"></a></li>
<li><a name="img4"><img src="img/photo04.jpg" alt="photo4"></a></li>
<li><a name="img5"><img src="img/photo05.jpg" alt="photo5"></a></li>
<li><a name="img6"><img src="img/photo06.jpg" alt="photo6"></a></li>
</ul>
</div>
</body>
</html>
この回答への補足
回答ありがとうございます!
その形はとても理想に近いものですが、メニューをクリックして表示される画像を基本一つずつにしたいのです。
記載していただいた通りにやると一つずつになったのですが、
11行目で画像の大きさをいじってしまうと画像が上から下に全部だーっと一気に表示されスクロールして見ることになってしまいました。
載せたい画像の大きさはそれぞれ違うので一括指定できません。
勉強不足ですいません・・・頭パンクしそうですorz
No.5
- 回答日時:
ご質問の意味が把握できていませんが、想像で…
スクリプトで対応しているものが多いとは思いますが、こんなのでも可能では?
(以下、原理のみです。)
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN">
<html lang="ja">
<head><title>sample</title>
<meta http-equiv="Content-Style-Type" content="text/css">
<style type="text/css">
<!--
#navi, #images { float:left; }
ul, li { list-style-type:none; padding:0; margin:0; }
#navi { width:10em; }
#navi img { width:4em; height:2em; border-width:0px; }
#images, #images img { width:600px; height:300px; }
#images { overflow:hidden; }
//-->
</style>
</head>
<body>
<div>
<ul id="navi">
<li><a href="#img1"><img src="img/photo01.jpg" alt="photo1">photo1</a></li>
<li><a href="#img2"><img src="img/photo02.jpg" alt="photo2">photo2</a></li>
<li><a href="#img3"><img src="img/photo03.jpg" alt="photo3">photo3</a></li>
<li><a href="#img4"><img src="img/photo04.jpg" alt="photo4">photo4</a></li>
<li><a href="#img5"><img src="img/photo05.jpg" alt="photo5">photo5</a></li>
<li><a href="#img6"><img src="img/photo06.jpg" alt="photo6">photo6</a></li>
</ul>
<ul id="images">
<li><a name="img1"><img src="img/photo01.jpg" alt="photo1"></a></li>
<li><a name="img2"><img src="img/photo02.jpg" alt="photo2"></a></li>
<li><a name="img3"><img src="img/photo03.jpg" alt="photo3"></a></li>
<li><a name="img4"><img src="img/photo04.jpg" alt="photo4"></a></li>
<li><a name="img5"><img src="img/photo05.jpg" alt="photo5"></a></li>
<li><a name="img6"><img src="img/photo06.jpg" alt="photo6"></a></li>
</ul>
</div>
</body>
</html>
No.4
- 回答日時:
フレームセットのように
1ページ内で絵だけ切り替わるように見せるのでしたら、
JavaScriptで絵だけを切り替わるよう出来ますし、
ページが切り替わるだけなら
テンプレートとして固定してCMSで作ると管理が簡単です。
例:ブログでは管理画面でメニューを追加すると全ページに反映します。
静的ページだと、
高機能エディタなどの置換え機能で
全ファイルのメニュー部分だけを一括置換してから全ページを更新。
iframeでも可能だし、サーバサイドで固定する事も可能です。
絵のみが切り替わるだけのページなら、
JavaScriptで切り替える方が良いと思いますが、
ページ単位にこだわらずに、
jQeryなどでギャラリーっぽくサムネイル表示にした方がユーザーには優しいのでは?
サムネイル表示もいいですね
やはりJavaScriptを使ったほうがいろいろできますよね。
もっと勉強したいと思います。
回答ありがとうございました!
No.3
- 回答日時:
webサイト統一のメニューを各ページに置くとき、メニューがフレームの場合は一括でメニュー内容を更新出来るのに対し、フレームを使わない場合は、全ページをいちいち更新しなければならないのがめんどくさい。
という意味ですよね?一般的には以下のいずれかの方法で一括管理します。
・JavaScriptを使う。(ただしSEOには不利です)
・PHPなどのサーバースクリプトを使う(サーバーサイドの知識が必要です)
・ページ作成ソフトにあるテンプレート機能を使う。(DreamWeaverにはあるようです)
確かに、質問内容にある「メニュー以外の内容(コンテンツ)だけを切り替えていく」という方法もありますが、ちょっと難易度は上がりますよ。ご興味があれればAjaxなどのキーワードで調べてみてください。
No.2
- 回答日時:
フレームを使う限り必然的に生じる問題ですが、質問の意味がわからない部分があります。
「overflowでスクロールできるようにしたのですが、」
overflow:auto;ないしscrolleでスライダーがあるということでしょうが、
「メニューで右側に絵を表示させる際にこのままだとメニューを切り替えるたびにリンクがページごと切り替わる」
「左側が同じページをいくつもつくり右側だけ変えるようにできますが、絵の数が増えればそのたびメニューの項目がいくつと増えていきます。」
他のページにリンクしてしまうということですか?
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- その他(ソフトウェア) Figma 1 2023/06/23 14:22
- HTML・CSS トリミングで表示した画像をクリックで元どおりにしたい 3 2022/12/16 18:49
- Visual Basic(VBA) 【マクロ】表への繰り返し転記について 1 2022/11/19 16:30
- 仕事術・業務効率化 職場での質問です。 会社でデュアルディスプレイなのですが左右にベテランの方に囲まれており、仕事をして 4 2023/05/12 18:55
- その他(Microsoft Office) Microsoft Edgeの「ニュースと関心事項」についてお聞きします。 3 2023/05/22 12:08
- 神社・寺院 御朱印帳!やってはいけないこと!? 2 2023/02/22 05:51
- その他(プログラミング・Web制作) プログラミング pythonの問題について 2 2022/04/19 00:41
- 美術・アート 左右対称定規で描いたイラストが左右非対称に見える 4 2022/05/23 22:07
- その他(映画) 昔の映画の3Dリメイク版。どうやって作るのか? 4 2023/02/16 10:17
- ヘアケア・ヘアアレンジ・ヘアスタイル 三つ編みをするにあたって 2 2023/04/07 08:35
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
リンクを知らせる手のマークが...
-
画像のサイズが変わらない
-
CSSの左横に隙間ができてしまい...
-
水面の波紋
-
favicon.ico はもういらない?
-
WordPressで画像に枠が入ってし...
-
画像をラジオボタンとして使用...
-
CSSで相対パス
-
HTMLは、シングルクォートかダ...
-
画像を隙間なく配置する方法
-
HTMLでボタンを横に2つ並べる方法
-
cssによる画像リンク枠の色変更
-
html オンマウスで変化する画...
-
htmlで画像を2個ずつ並べていき...
-
ボタンをセル内一杯に表示させ...
-
画像を縦に並べたら隙間ができ...
-
アイコンと文字を並べる時アイ...
-
画像リンクの枠線の消し方
-
imgタグは何で囲むのが良いか
-
画像と背景色の幅が合わない
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
ボタンをセル内一杯に表示させ...
-
リンクを知らせる手のマークが...
-
htmlで画像を2個ずつ並べていき...
-
ポップアップウィンドウのサイ...
-
画像のサイズが変わらない
-
画像の場合のみ、下線を消す方...
-
【HTML/CSS】ボタンの枠が伸び...
-
HTMLのIMAGEに。。
-
cssで、チェックボックスの画像...
-
XML画像データををHTMLで簡単に...
-
画像の横に文字をうまく配置で...
-
table で画像をピッタリとくっ...
-
画像をリンクさせると紫の枠が...
-
水面の波紋
-
3つの画像を中央に寄せて表示さ...
-
UDP通信を使うチャットプログラ...
-
レスポンシブ対応のHTML・CSS(...
-
画像とテーブルの隙間をなくす。
-
cssヘッダー画像の下に配置した...
-
画像を縦に並べたら隙間ができ...
おすすめ情報