ホームページ作成初心者です。(ビルダーでなく手打ちの作成方法です。)ヘッダー画像上部固定をしていまして、さらにセンタリングもして全体を中央寄せしてます。そのヘッダー画像にもう一枚リンク用の画像をヘッダー画像右側に重ねたいのですが、重ねると、重ねた画像に対して、ヘッダー画像で効いている固定、中央寄せが反映されません。ズームアウトするとどんどんその重ねた画像のみ、遠ざかっていきます・・・・・・
原因はDIVのヘッダーの部分が100%のwidthになっているため、重ねる画像のposition:absolute;で場所を指定すると、ズームアウトしていくことにより、ずれが生じてくるのかなと思っています。
かと言ってヘッダー画像を本来の画像の大きさのPXの幅にすると上部で固定はできますが、センタリングが効かなくなります・・・
ヘッダー上部固定センタリング効かせつつ、リンク用の小さい画像をそのヘッダー画像に重ねる方法(そのリンク画像はそのヘッダー画像の決められた位置で固定)を知っておられる方、お知恵を拝借できませんでしょうか。
宜しくお願い申し上げます。
No.2ベストアンサー
- 回答日時:
>ズームアウトすると1枚目の画像がメニューバーに対して左にずれてしまいます。
ずれを無くすにはどうやったら治せるのでしょうか?
⇒HP 画像の一部にリンクでその部分のみ画像変化 - ホームページ作成ソフト - 教えて!goo( http://oshiete.goo.ne.jp/qa/8326352.html )
で、概略は分かると思います。
そのHTML(CSSじゃない)と比較して、検索エンジンや将来のメンテナンスも考えると、HTML本文が如何に簡潔で分かりやすいか一目瞭然だと思います。あのようにHTMLに文書構造しか書かないことによって、デザインを全く異なるものへの変更もできます。
「HP 画像の一部にリンクでその部分のみ画像変化」は、固定サイズでしたが、現在主流のリキッドデザインにすることも、できるのです。サイズや位置の指定がpxから%に変更します。(ちょっとしたテクニックが必要ですが・・)
⇒ナビゲーションリストを様々にデザインしてみよう。( http://www.ichiya.com/WebService/Howto/sample/HT … )
をOpera以外のブラウザで訪問して、メニューの[表示]→[スタイル(シート)]で、色々なスタイルを選択すると、デザインが劇的に変化しますし、印刷プレビューだとリンク先URMLまで表示される・・・。
スタイルシートを使うと言うことは
 ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄
・文書構造(HTML)とプレゼンテーションを分離する
のが最大の目的なのです。それによって、「文書の構造をプレゼンテーションと切り離すことで広汎なプラットフォームや多様なメディアでの文書提供コストを低下でき、文書の改訂も容易になる( http://www.asahi-net.or.jp/%7Esd5a-ucd/rec-html4 … )」のです。
デザインのためにHTMLを書かないこと。これを最初のスタートにしなければならないと言う事です。
No.1
- 回答日時:
プレゼンテーションはスタイルシートの導入で格段に自由度はましましたが、あくまでプレゼンテーションは文書構造と一体の物です。
ある要素を配置するときは、その文書構造に逆らってということはないはずです。逆に言うと良いプレゼンテーションは文書構造にも従っているはずです。
この基本がありますから、ふたつの要素を重ねると言うことは、そのふたつの要素は必ずひとつの親ブロックに属するか、一方がもうひとつに属しているはずです。
うまく行かないのは、その原則を外れてしまっているからです。
>ヘッダー画像上部固定をしていまして、さらにセンタリングもして全体を中央寄せしてます。
これは背景ではなく画像ですよね。
>そのヘッダー画像にもう一枚リンク用の画像をヘッダー画像右側に重ねたいのですが、
両方共通のブロックに属するか、一方に属さないとうまく行きません。
[例]
<div class="header">
<h1>画像</h1>
<p><a href="">画像</a></p>
</div>
もしくは
<div class="header">
<h1>画像<a href="">画像</a></h1>
</div>
>ヘッダー画像を本来の画像の大きさのPXの幅にすると上部で固定はできますが、センタリングが効かなくなります
これはありません。中央配置は二通りの方法で出来ます。
・text-align:center
・display:block;width:**,margin:0 auto
実際の文書構造が分からないのでアドバイスの方法はありませんが、
[例]
<div class="header">
<h1><img src="" width="" height="" alt=""><a href="">リンク</a></h1>
だと、
div.header h1{width:80%;margin:0 auto;position:relative;}
div.header img{display:block;width:100%;height:auto;}
div.header h1 a{position:absolute;top:5%;right:1%;width:20%;height:20%;border:outset 4px silver;background-color:rgba(255,255,255,0.5);text-align:center;}
だけでよいはずです。
この回答への補足
ORUKA1951さん、お返事有難うございます。分かりやすい説明で非常に助かります。
今まで頂いたアドバイスを元にやったら2枚目の画像を上部常時固定、センタリングの1枚目の画像にz-indexを効かせ重ねることが出来ましたが、ズームアウトすると1枚目の画像がメニューバーに対して左にずれてしまいます。
ずれを無くすにはどうやったら治せるのでしょうか?
またお時間の有るときに、お返事頂ければ幸いです。
<link rel="stylesheet" href="../../css/h1.css" type="text/css" />
<body>
<div id="headerArea"><!--headerArea開始-->
<h1>***。</h1>
<div id="header_pic">
<img src="../../img/1枚目の重ねる画像.png"alt="***" width="980" height="130" />
<img border="0" src="../../img/2枚目の重ねる画像.png" alt="***" width="180" height="30" class="head-inquiry" />
</div>
<ul id="menu_bar"><!--menu_bar開始-->
<li class="menu" onMouseOver="this.className='menu_on'"
onmouseout="this.className='menu'"><a href="index.html">トップ</a>
</li>
<li class="menu" onMouseOver="this.className='menu_on'"
onmouseout="this.className='menu'"><a href="#">について</a>
<ul>
<li><a href="../profile/index.html">***</a></li>
</ul>
</li>
<li class="menu" onMouseOver="this.className='menu_on'"
onmouseout="this.className='menu'"><a href="#"></a>
<ul>
</li>
<li class="menu" onMouseOver="this.className='menu_on'"
onmouseout="this.className='menu'"><a href="../contact/index.html">***</a>
</li>
<li class="menu" onMouseOver="this.className='menu_on'"
onmouseout="this.className='menu'"><a href="../access/index.html">***</a>
</li>
</ul> <!--menu_bar終了-->
【CSS】
/*▼header&footer-------------------------------------------------------------------▲*/
#headerArea { border:1px solid red;
position: fixed !important; /*外すと全体スクロールに */
position: absolute;
top: 0;
left: 0;
width: 100%;
height: 200px; /* 「ヘッダー」+「メニューバー」とかの高さ */
text-align: center;
z-index: 99;
}
#header_pic{
text-align:center;
}
img.head-inquiry{
z-index: 20;
position: relative; top:-100px; right:200px;
}
/*▼menubar-------------------------------------------------------------------▲*/
#menu_bar {
width:940px; /* ヘッダー画像の横サイズに合わせて大きさを変更する。さらになぜか固定センターする際の重要部分 */
margin:0 auto;
font-size: 16px; /* 文字サイズ */
height:25px; /* 高さ */
background: linear-gradient(lightblue,white);
background: gradient(linear,0 0,0 bottom,from(lightblue),to(white));
background: -webkit-gradient(linear,0 0,0 bottom,from(lightblue),to(white)); /* CSS3 PIE独自プレフィックス */
-pie-background: linear-gradient(lightblue,white); /* behaviorスクリプトPIE.htcのパス */
behavior: url(/demo/demo008/PIE.htc);
}
#menu_bar li {
list-style-type:none;
float:left;
line-height:25px; /* 高さ */
margin:0px;
padding:0px;
}
#menu_bar li a {
display:block;
text-align:center;
width:180px; /* 1つのメニューボタンの幅 */
color:black; /* リンク文字の色 */
/*background-color:lightblue;*/ /* メニューボタンの背景 */
background: linear-gradient(lightblue,white);
background: gradient(linear,0 0,0 bottom,from(lightblue),to(white));
background: -webkit-gradient(linear,0 0,0 bottom,from(lightblue),to(white)); /* CSS3 PIE独自プレフィックス */
-pie-background: linear-gradient(lightblue,white); /* behaviorスクリプトPIE.htcのパス */
behavior: url(/demo/demo008/PIE.htc);
text-decoration:none;
}
#menu_bar li a:hover{
color:white; /* マウスが乗ったときのリンク文字の色 */
background: linear-gradient(blue,lightblue);
background: gradient(linear,0 0,0 bottom,from(blue),to(lightblue));
background: -webkit-gradient(linear,0 0,0 bottom,from(blue),to(lightblue)); /* CSS3 PIE独自プレフィックス */
-pie-background: linear-gradient(blue,lightblue); /* behaviorスクリプトPIE.htcのパス */
behavior: url(/demo/demo008/PIE.htc);
text-decoration:none;
}
/*▲メニューバー-------------------------------------------------------------------▲*/
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- HTML・CSS 画像が分割されて切り替わる、ループアニメーションが作りたい 7 2023/05/27 17:12
- Word(ワード) Wordについて。 余白を上に30mm空けてヘッダーを入れるときは画像の赤で囲んだように、ヘッダー位 2 2022/05/22 19:56
- Visual Basic(VBA) マクロについて教えてください 2 2023/06/09 16:01
- Visual Basic(VBA) マクロについて教えてください。 3 2023/06/09 17:37
- その他(ブログ) シーサーブログのタイトル文字位置とブログ説明文字位置の変更方法 2 2022/09/22 20:55
- HTML・CSS インクルードした要素がヘッダーにかぶってしまう 3 2022/09/13 17:35
- ノンジャンルトーク 多くの人がSNSのアイコン・ヘッダーに著作権フリーでない画像を利用していますが‥ 訴訟にならないので 1 2023/06/23 15:43
- 迷惑メール・スパム 迷惑メールの発信国 7 2022/11/20 21:17
- HTML・CSS スクロールすると追従する画像のコードを書いているのですが、追従する画像の大きさの調節が上手くいきませ 2 2022/04/18 12:52
- その他(プログラミング・Web制作) 「問題も答えも画像」のクイズを簡単に作れるもの何かありませんでしょうか? 1 2022/05/30 17:29
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
InDesignスプレッドに含まれる...
-
JW CAD の 挿入した画像への...
-
画像を同じ行に並べる
-
これはどこの国ですか?
-
Photoshopのスライスを自動化す...
-
画像の端にフィルタをかけるには
-
白のディゾルブ
-
背景画像が全体に透けて見える...
-
ホームページビルダー14すでに...
-
ナビゲーションバーが動かない?
-
Flashをhtml上からクリックして...
-
WPのサイトタイトル画像が消える
-
画像の横に文字を書く方法
-
マッチングアプリ風の画像を作...
-
パソコン買い替えでイラレCS6画...
-
Photoshop CS2合成画像の作り方
-
ムービーメーカー 多数の画像...
-
Wordの表内の図に、新たな小さ...
-
GIF画像だけをCSSやHT...
-
画像の上に漢数字文字画像を貼...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
JW CAD の 挿入した画像への...
-
ChatGPTについて、質問です。 C...
-
texの表について(セルの内容の...
-
これはどこの国ですか?
-
エクセルで、特定の画像へリン...
-
HO CADの活用について
-
マッチングアプリ風の画像を作...
-
PDFファイルの「加筆した」画像...
-
一太郎の文章に貼り付ける画像...
-
ワードプレスで、画像の横に文...
-
InDesignスプレッドに含まれる...
-
ホームページのサムネイル画像...
-
JPEGの劣化してる部分(ギザギ...
-
ループする画像の作り方
-
imageJの使い方
-
作ったjpg画像に「サンプル」と...
-
画質の高い画像の検索方法あり...
-
GIMPで回転について
-
画像生成AIで作成したTシャツを...
-
Photoshopでぼやけた画像をくっ...
おすすめ情報