• ベストアンサー

ヘッダーの高さを広げたが、コンテンツ部がずれない

アメブロの無料テンプレートを入手しました。 ヘッダー画像の高さを広げましたので、その分、コンテンツ部を下にずらしたいのです。 しかし、コンテンツ部の位置がなぜかずれません。 ヘッダー メニュー(ナビゲーション) コンテンツ という構成です。 ヘッダーとメニュー(ナビゲーション)に position:absolute; が使われており、ヘッダーとメニューは自由にずらすことができます。 cssはある程度わかりますので、cssのサンプル等あると助かります。

  • lon79
  • お礼率98% (324/329)
  • CSS
  • 回答数1
  • ありがとう数1

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

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

absoluteは、ご存知のように絶対配置ですから、それに内包されない他の要素に影響を与えることはありません。 【引用】____________ここから absolute  ボックスの位置(と場合によっては大きさ)は'left'、'right'、'top'、'bottom'という4つのプロパティで指定される。 これらのプロパティは、ボックスの位置を包含ブロックからの距離として示すものである。 絶対配置のボックスは通常フローには従わないので、兄弟要素のレイアウトに影響を与えない。 また、絶対配置のボックスにはマージンがあるが、これは他のどのマージンとも相殺しない。  ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ここまで[視覚整形モデル( http://www.swlab.it.okayama-u.ac.jp/man/rec-css2/visuren.html#choose-position )]より  よって以下のブロックに影響を与えるためには、positionの値をstaticないしrelativeにする必要があります。header内にabsoluteするものがあれば、relativeにする。  ヘッダーの高さを固定するの方法だと、次に続くブロックの位置をずらすしかないです(relativeならmargin)で、ただし、headerなどはabsoluteを使わないほうが無難です。ユーザーが目が悪くてフォントを拡大したり、あるいはウィドウが狭いと表示されないものが出来たりします。  基本的にルートにあるコンテナブロックは、ナビゲーションなど一部を除いてabsoluteやfixedさせないほうが無難ですね。

lon79
質問者

お礼

ありがとうございました。大変参考になりました。 おかげさまでどう修正すればいいのかわかり、うまくいきました。 ありがとうございました。

関連するQ&A

  • ヘッダとフッタが固定でコンテンツのみスクロール可能

    いつもお世話になります。 ヘッダ部とフッタ部は固定で、コンテンツ部のみで表示エリアを超えた場合スクロールバーを 表示する、というHTMLを実現するにはどうすればよいでしょうか。 (ウィンドウサイズに応じてコンテンツ部は変動するが、ヘッダとフッタは常に固定) イメージとしては以下の構成になります。いろいろ調べてみたのですが、ヘッダとフッタは固定 できてもスクロールバーがウィンドウ全体に表示されてしまうものばかりでした。 -------------------------------- ヘッダ(固定) (スクロールバーなし) -------------------------------- コンテンツ (スクロールバーあり) -------------------------------- フッタ(固定) (スクロールバーなし) -------------------------------- フレームは使用せず、CSSのみで実現する方法を教えて頂けませんでしょうか。 IE7、IE8で動作させたいと思っています。 宜しくお願いします。

    • 締切済み
    • CSS
  • 読み上げの音声ブラウザに親切なHPの作り方。

    読み上げソフトはhtmlを上から読み上げるため、目の不自由な人が閲覧しやすいように、知りたい内容が一番最初に読み上げられるように、ヘッダーやメニューを下のほうのhtmlに書き、コンテンツをbodyのすぐ後ろに書いて構築していきたいと思ってます。 レイアウトをCSSでやる場合、position:absolute;を使ってヘッダーやメニューやコンテンツの配置を決めてあげるのが一般的な方法なのでしょうか? このようなやり方をすると、IEでもSAFARIでも同じように見えるように作りこむのが、私には難しく、もっといい方法があるのではないかと思い質問しました。 また参考になるHPがあれば教えてください。 よろしくお願いいたします。

    • ベストアンサー
    • HTML
  • ヘッダー部フッター部の固定とスライドメニュー

    はじめまして。 表題のように、スマホ風に、ヘッダー部、フッター部を固定とし、スライドメニューが出るようにしたいと考えています。 <div id="content" style="position:absolute;"> 本分 </div> <div id="header" style="position:fixed;"> <p>ヘッダー部 固定</p> </div> <div id="footer" style="position:fixed;"> <p>フッター部 固定</p> </div> 画像は、上記ソースを基に、フッター部とヘッタ―部を固定した状態ですが、 下記URLにあるような、スライドメニューを加えようとしているのですが、 いずれも正常に動いてくれません。 http://shibuso.github.io/side_menu_test/jquerymobile.html このスライドメニューも、複数のプラグインがあるようですが、ここ丸二日、色々なものを試していますが、いずれも失敗の連続です。 お忙しいとは思いますが、アドバイスのほど頂戴出来れば幸いです。 宜しくお願い致します。

    • 締切済み
    • CSS
  • CSSでページ下部ソースを上に表示するには?

    タイトルがわかりづらくて申し訳ございません・・・。 やりたいことを要約しますと、CSSをつかい ページの上部によく配置しているナビゲーションメニューを ページ上では上に表示したいのですが、 ソース上、すべてのページが共通ですので SEOを考えて、ソースの下に配置したいのですがどうすればいいかわかりません・・・ 現在、サイドバーはfloatをつかい、ソース内では、コンテンツの下にきております。 現在の構成と、希望の構成を書きますので、ご教授いただけると助かります! ■現在の構成 (ヘッダー) (ナビゲーションメニュー) (コンテンツ)※ブラウザでは右側 (サイドバー)※ブラウザでは左側に表示 (フッター) ■希望の構成 (ヘッダー) (コンテンツ) (サイドバー) (ナビゲーションメニュー) (フッター) ブラウザ上の表示は、同じにしたいです。

    • ベストアンサー
    • CSS
  • 「position:absolute」のIEのバグへの対処方法

    CSS #navbar { position: absolute; z-index: 1 } HTML <div id="navbar"> 略 </div> <div id="contents"> 略 </div> CSSとJavascriptを使って、プルダウンメニューを作ったのですが、IE7でうまく動かない為ネット検索したところ、CSSの「position:absolute;」に対して、「"absoluteした要素が消える"というIEのバグ?」の記事に出会いました。 このため「position:relative;」としてみたのですが.. メニューの下のコンテンツがプルダウンメニューのプルダウンされる大きさの分だけ下に下がって空間が空いてしまい、メニューバーの下にコンテンツがすぐ在ってその上にプルダウンするメニューが重なる、という表示ができなくなってしまいました。 なにかよい方法はありますでしょうか。

    • ベストアンサー
    • HTML
  • 動画ヘッダーについて

    有識者の皆様、教えていただけませんでしょうか。 コーディング初歩レベルです。 動画ヘッダーにする際に、よくわからないことがあります。 フルスクリーンでの動画ヘッダーの場合ですとpositionをfixにして 全体まで広げてあげれば良いと思うのですが、 positionをabsoluteにして、スクロールした際に流れてゆくヘッダーに したいと考えています。 高さはビデオサイズに従うような形で横幅は100%という感じにしたいのですが、 その際にヘッダーより下のコンテンツ(コンテンツ部分に設置したバナーやテキスト) などがビデオの上に来てしまいます。 これを避けるためにビデオの上にdiv要素をつくりキャッチコピーなどをつけて heightで高さを合わせることもやってみたのですが、 拡大や縮小した際に、やっぱりコンテンツ部分が重なってきてしまったり 表示がくずれてしまったりします。 これらはどのように解決したらよろしいのでしょうか。 topからざっくりですが100px幅くらいの高さにロゴとグローバルメニュー、 その下に動画を配置、その下からコンテンツとなりバナーが3つとなります。 以下、実装方法の解説をして頂いているサイトさんから引用させて いただきました。 【HTML】 <body> <video preload autoplay muted loop class="background-video"> <source src="/video/video.mp4"> <source src="/video/video.ogv"> </video> <div class="wrapper"> <h1>テキスト</h1> <p>Lorem Ipsum</p> </div> </body> 【CSS】 .background-video { position: absolute; bottom: 0px; right: 0px; min-width: 100%; min-height: 100%; width: auto; height: auto; z-index: -1000; overflow: hidden; } .wrapper { position: absolute; top: 50%; left: 0; width: 100%; z-index: 1; } 実装方法までは良いかと思ったのですが、 実際にやってみるとどうしてもコンテンツの部分が上に来てしまうため、 いろいろなサイトを参考にしてみましたが、 思ったようにうまくできません。 今までにも何度か挑戦してこの問題があって挫折してきているだけに、 今後のためにも解決しておきたいと考えております。 普段皆さまがやっている方法や上のコードの場合だとこうなるなど、 どちらでも大丈夫です。 ご教示頂く上で皆様が普段されていらっしゃることから学ばせていただくことで、 生きた知識の習得と現場力を高めたいと考え質問させていただきました。 お手数かとは思いますが、何卒よろしくお願い致します。

    • ベストアンサー
    • CSS
  • 詳しいかた、教えてください

    この画像と全く同じものを作りたいのですが、cssがうまく出来ません。 ヘッダー、ナビゲーションメニュー、コンテンツのH1の下の余白の設定、 フッターがうまくいきません。 特にナビゲーションメニューのボタンが中央に寄らない、フッターの背景や配置の設定、 どのようなcssにしたらいいでしょうか!?

    • 締切済み
    • CSS
  • ヘッダー部の固定の方法

    こちらの簡単なサンプルを参考にサイトを作成しています。 http://scuderia-web.com/tips/xhtml_css/sample/fixed_header_and_footer.html 私が作るとメイン部がヘッダーもフッターも突き抜けて スクロールしてしまいました。 原因を調査したらフッター部は後から上書きすることで 上側に配置される状態になり、固定していると分かりました。 しかし、同じ考えをヘッダー部に当て嵌めてみても固定しません。 その内に分かるかなと思って数ヶ月・・・未だにギブアップです。 ヘッダー部はどういう理由で固定(上側に来る)されるのでしょう? なお、ヘッダー部にz-index:5 とかを割り当てれば固定してくれます。 しかし、この解決法はちょっと強引な気がしています。

    • ベストアンサー
    • CSS
  • ヘッダー・左メニュー・コンテンツ・フッターの総称

    はじめまして。 ヘッダー・左メニュー・コンテンツ・フッターの総称を教えて下さい。 「ホームページを構成する要素」とか「レイアウトを決める際の主要部分」とかいう説明調の言葉は思いつきますが、総称する単語がわかりません。 よろしくお願いします。

    • ベストアンサー
    • HTML
  • [CSS]ヘッダー固定+コンテンツの縦位置可変

    CSSでのヘッダー固定に関する質問です。 ヘッダーを固定表示しつつ、ヘッダーの縦幅が文字サイズの可変などで大小した時に それにあわせてその下部の固定じゃないコンテンツ部分の縦の位置が 調整されるようにCSSで組むことは可能でしょうか? ヘッダー固定関連を調べてみたのですが、 条件に合うものがうまく見つけられなかったので、 恐れ入りますが質問させていただきました。 添付画像のような処理を行いたいと思っています。 ●文字サイズ可変に対応できない例 #header{ position:fixed; (またはposition:absolute;) width:100%; height:100px;" } #content{ width:100%; margin:100px 0 0;(またはpadding) } <body> <div id="header" >******</div> <div id="content">*****</div> </body> これだと#header内の文字サイズが大きくなった場合、枠からはみ出してしまいます。 現在はこれを用いています。(IE6対応などは行っています) ●文字サイズ可変に対応出来るが、固定部分に対応出来ない? http://www.rr.iij4u.or.jp/~kazumix/d/css/sample/header_footer.html こちらのやり方? ●やりたいこと <body> <div id="header">   <div id="header1">テキスト テキスト テキスト</div>   <div id="header2">画像や動画など縦幅は固定</div>   <div id="header3">テキスト テキスト テキスト</div> </div> <div id="content">******</div> </body> この形で、 header1とheader3はテキストが入るのでfirefox等の ブラウザの文字サイズ変更にて縦幅が可変しますが、 header2は常に縦幅が固定(100pxなど)です。 この条件の#headerの高さに応じて、スクロールバーが一番上にある状態の時は #content部分が常にピタッと#headerの下にひっついた状態にしたいです。 (スクロールバーは#content部分ではなく、body全体に出る形) この条件で、CSSのみで、ヘッダー固定を実現することは可能でしょうか? htmlの書き方は見た目が実現可能であれば必ずしも●やりたいこと の部分のものと同じでなくてもかまいません。 js等必要でしょうか? ご存知の方、ご教授いただけますと幸いでございます。

    • ベストアンサー
    • CSS