質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.48%
HTML

HTMLとは、ウェブ上の文書を記述・作成するためのマークアップ言語のことです。文章の中に記述することで、文書の論理構造などを設定することができます。ハイパーリンクを設定できるハイパーテキストであり、画像・リスト・表などのデータファイルをリンクする情報に結びつけて情報を整理します。現在あるネットワーク上のほとんどのウェブページはHTMLで作成されています。

CSS

CSSはXMLやHTMLで表現した色・レイアウト・フォントなどの要素を指示する仕様の1つです。

Q&A

解決済

3回答

12732閲覧

position:fixed;分の余白がとれません。

ckaposndbbba

総合スコア210

HTML

HTMLとは、ウェブ上の文書を記述・作成するためのマークアップ言語のことです。文章の中に記述することで、文書の論理構造などを設定することができます。ハイパーリンクを設定できるハイパーテキストであり、画像・リスト・表などのデータファイルをリンクする情報に結びつけて情報を整理します。現在あるネットワーク上のほとんどのウェブページはHTMLで作成されています。

CSS

CSSはXMLやHTMLで表現した色・レイアウト・フォントなどの要素を指示する仕様の1つです。

0グッド

0クリップ

投稿2014/12/11 11:09

こんにちは。
今作っているサイトで、header部分をposition:fixed;に指定しています。
縦に長いページなので、スムーススクロールのリンク(js)をheaderに置いています。
そこで、指定したidまでスクロールさせようと考えているのですが....

headerの部分にコンテンツ重なってしまい、headerの高さ分見えません.......
padding-topやmargin-topにheader分の高さを指定しても見えません。

どう対処すればいいでしょうか?

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

guest

回答3

0

maisumakunさんのやり方が楽だとは思いますが、
別ページからアンカーで飛んできた時にやはりコンテンツが隠れてしまうので
ヘッダの高さが100px、リンク先IDを#fooとすると

lang

1#foo{ 2 margin-top: -120px; 3 padding-top: 120px; 4}

lang

1<div id="foo"> 2<p>コンテンツ</p> 3</div>

て感じで若干手間ですが、CSSで対応することが多いです。

投稿2014/12/12 12:52

退会済みユーザー

退会済みユーザー

総合スコア0

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

ckaposndbbba

2014/12/12 13:02

あ、こういうやり方もあったんですね。 裏技みたいな感じですね。早速試してみます。 ありがとうございます~!
guest

0

ベストアンサー

普通にページ内リンクで飛ばそうとすると、その要素が文字通り「いちばん上」に来るので、ヘッダー固定の場合はその下に隠れてしまいます。jQueryがある場合なら、

lang

1jQuery(function(){ 2 $('body').on('click','a[href^="#"]',function(e){ 3 var href=$(this).attr('href'); 4 //他のイベント処理に干渉しないように 5 if(href=='#' || e.isDefaultPrevented())return; 6 var p = $(href).offset().top; 7 p -= $(/* 固定した要素 */).height(); 8 $('body,html').scrollTop(p); 9 e.preventDefault(); 10 return false; 11 }); 12});

とすれば、ハッシュで始まるページ内リンクがすべてヘッダー直下へ飛ぶようになります。

投稿2014/12/12 02:45

maisumakun

総合スコア145183

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

ckaposndbbba

2014/12/12 11:46

ありがとうございます!やってみますね。Cf_cwdさんもありがとうございます。
guest

0

少し疑問なのですがそれが意図した動作ではないのですよね?
fixedは画面の指定位置に固定をする訳ですからおそらく今の動作は指定通りの物のはずです。
また望んでいる挙動は
#header内リンクをクリック→各コンテンツ
であっていますでしょうか?
もしそうであればposition : absoluteが望んでいる動作でないか一度確認してみてください。
見当違いのことを言っていたならば申し訳ないです。

投稿2014/12/12 06:26

Cf_cwd

総合スコア730

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.48%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問