現在、レスポンシブウェブサイトを作成しています。水平方向にスクロールすると、右側の空きスペースに問題があることに気付きました。 overflow-x: hidden
を追加すると、水平スクロールを削除できます。ただし、iPhoneやiPadなどのモバイルデバイスでは機能しません。
そこで、空のスペースを取り除くのに役立つため、min-width
を追加しようとしました。しかし、full.cssにmin-width
を配置することはできません(例:min-width:1000px;
)。これは全角に設定されるためです。以下の例を参照してください。
full.css
#wrapper {
width: 1000px;
margin: 0 auto;
}
responsive.css(1000px未満)
#wrapper {
width: 100%;
margin: 0;
}
この問題を解決する方法を知っているかどうか疑問に思いましたか?より良い選択肢があれば教えてください。または、新しいラッパーIDを作成する必要がありますか?
時々私はこの問題を抱えています、そして問題を解決することの大部分は原因である要素を特定することです。ブラウザのJavaScriptコンソールで実行できるこの小さなjQueryスクリプトを思いついたので、どの要素が本体の幅よりも広いかを見つけて、迷惑なスクロールバーを表示しました。
$.each( $('*'), function() {
if( $(this).width() > $('body').width()) {
console.log("Wide Element: ", $(this), "Width: ", $(this).width());
}
});
Cssコードを使用して水平オーバーフローを非表示にすることができます(そうすると、水平スクロールバーが再び表示されることはありません):
body{
overflow-x:hidden;
}
ページへのリンク?ラッパー内に、ブラウザーウィンドウを超えている何らかの要素がある可能性があります。
多くの場合、パディングと幅があります。ラッパー内に100%幅に設定されている要素があり、20pxの左右にパディングを追加する場合は注意してください。要素が100%+ 40ピクセルであるため、水平スクロールバーが作成されます。
したがって、div内に液体要素を構築する場合は、次のようにします。
#liquidelement {
width:96%;
padding:0 2%;
}
幅からパディングを差し引く必要があります。また、固定ではなく流動的であるため、レイアウトを行うときは常にパディングにパーセンテージを使用します。
ここでは、3つ以下の手順が必要です。
これは、
ctrl + shift
を押しながらi
を押すことで実行されます