私は、Wordpress駆動型WebサイトのiPhoneバージョンを開発しています。WebサイトがSafari for iPhoneで開いているときに水平スクロールを無効にする方法があるかどうか疑問に思っていました。現在、途中です開発し、水平スクロールを無効にできるかどうかを確認するために、画面の幅を超える要素を非表示にしましたが、水平方向に右にスクロールできます。次のコードを<style>
タグ内の<head>
しかし、それは役に立ちませんでした:
body {overflow-x:hidden; }
以下を入れました<meta>
headファイル内のコードは、ユーザーがiPhoneからウェブサイトを表示している場合にエコーしますが、ユーザーのピンチを無効にするだけです。つまり、画面をピンチしてズームインおよびズームアウトすることはできません。
<meta name="viewport" content="width=device-width, initial-scale=1.0, maximum-scale=1.0, user-scalable=no">
現在、iPhone 4を使用してWebサイトを確認しています。このWebサイトには、次のリンクからアクセスできます: http://ignoremusic.com 。皆さんからの解決策を楽しみにしています、ありがとう。
解決策:@Riskbreakerによって提案されたように、幅が312pxを超えている要素がいくつかあったため、左にスワイプして、このような要素すべての幅を調整した後、水平スワイプを無効にしました。私が学んだことの1つは、overflow-xを非表示にしてもiPhone/iPadの場合は効果がないことです。すべての要素の幅を画面の幅に縮小する必要があります。それ以外の場合は、水平にスワイプします。
次のように体にオーバーフローを追加します。
body {
font: 12px/20px "Helvetica neue", Helvetica, Arial, sans-serif;
font-weight: normal;
overflow: hidden;
overflow-y: auto;
}
そして、はい、これにとどまります:
<meta name="viewport" content="width=device-width">
私はパーティーに少し遅れていることを知っていますが、私はこれと同じ問題を抱えていて、以下を追加することで解決しました:
body, html{
overflow-x: hidden;
}
うまくいけば、これは他の誰かを助けるでしょう!
ビューポート領域の外に配置されたモバイルメニューで同じ問題が発生していました。オーバーフロー-x:非表示の解決Android電話、iPhoneでは不可。メニューの「絶対」位置を「固定」位置に変更することで解決:
body { overflow-x: hidden; }
nav { position: absolute; width: 300px; right: -300px; }
に:
body { overflow-x: hidden; }
nav { position: fixed; width: 300px; right: -300px; }
それが役に立てば幸い。