2017-01-03 26 views
0

固定ヘッダーに問題があります。固定位置が固定されていない

私のホームページでは、固定ヘッダーが動作します。これは、さまざまなコンピュータやモバイルデバイスで適切にテストされています。しかし同じ固定ヘッダーは他のページ、例えば製品ページやブログ投稿にはありません。

以下のようになります。 1)固定位置を無視して、上に固定しません。 2)間違った幅になる(幅:1010px)

これは、ユーザーがスクロールしたかどうかを検出するためのjQueryスクリプトで、ヘッダーにクラスを追加します。

$(window).scroll(function() { 
    if ($(this).scrollTop() > 1){ 
     $("body.new-template #header").addClass("sticky"); 
    } else { 
     $("body.new-template #header").removeClass("sticky"); 
    }; 
}); 

これは私のCSSです。

body.new-template #header { 
position: relative; top: 0; left: 0; 
} 
body.new-template #header.sticky { 
    position: fixed; z-index: 100; width: 100%; 
    background-color: white; top: 0; left: 0; 
    -webkit-box-shadow: 0px 3px 10px #ccc; 
    -moz-box-shadow: 0px 3px 10px #ccc; 
    box-shadow: 0px 3px 10px #ccc; 
} 

私は私がウェブサイトが、the live versionを参照するには、その唯一の方法からリンクを投稿するかどうかを確認していません。次に、私が説明している間違いを確認するには、メニューからページを開き、Chrome Consoleのデバイスツールバーを切り替えます。どのデバイスでも可能です。

私は間違っていますか?

+0

製品/詳細ページでマークアップを駄目にしたようです。貼り付けられていないヘッダーの問題は、タグが見つからないことが原因です。バリデーターを試してみるか、テンプレートを参照して、それが有効であることを確認してください。 – chillwalker

+0

確かに、私は適切に閉じていないアンカータグを見つけましたが、これは問題ではありません。 – user2052104

+0

ちょうど私のスクロールトップボタン(固定されている)がホームページ以外のページでも正しく動作しないことに気付きました – user2052104

答えて

-1

コード$(window).scroll(function() {...$(document).ready(function() {に入れてください。

0

あなたの問題は2倍です。

第一部 - ヘッダがあなたのCSSでこの特定の選択によって固定されている
bodyタグには適用されないクラスは:bodyが持っているよう

body.new-template #header {} 

これはホームページで満たされていますクラスnew-templateであるため、ヘッダーは固定されます。

しかし、他のすべてのページではbodyにはこのクラスが含まれていないため、#headerは修正されていません。

body.new-templateをCSSのセレクタから削除するか、ヘッダーを固定する各ページのbodyタグにnew-templateクラスを追加することができます。

第二部 - +位置が固定変換とChromeのバグが
も、その後position: fixedと変換に関連するChromeのバグがあります。

body.new-template #page { 
    position: relative; 
    -webkit-transform: translate3d(0,0,0); 
    -ms-transform: translate3d(0,0,0); 
    -o-transform: translate3d(0,0,0); 
    -moz-transform: translate3d(0,0,0); 
    transform: translate3d(0,0,0); 
} 

だからを削除し、あなたの問題を解決するために.new-templateクラスを追加します。https://bugs.chromium.org/p/chromium/issues/detail?id=20574

はあなたのposition: fixedを破壊され、ここで変換を持っています。

+0

すべての商品にこの特定のクラスがありますので – user2052104

+0

にリンクしています。リンク先のライブサイトでは、ホームページを除くすべてのページにクラスが記載されていません。おそらくあなたはあなたが検査しているローカルバージョンにそれらを追加しましたか? – Jamie

+0

このリンクに移動してください:http://www.etelestia.com/jp/course-pricelist.aspx |次に、ブラウザの開発ツールでHTMLを調べます。本文に新しいテンプレートクラスを追加し、#pageでトランスフォームを削除します。あなたはそれが正しく動作することを確認します。この画像は修正プログラムの動作を示しています:https://i.imgur.com/eeDucda.png – Jamie

関連する問題