2017-01-27 5 views
1

私はウェブサイトを作成していて、フルスクリーンで横スクロールしないようにするために、 。ウィンドウが特定の幅でオーバーフローしているときに水平スクロールを許可する:x:hidden

私が尋ねたかったのは、ユーザーがウィンドウを600px幅以下にサイズ変更した後、再び水平スクロールを許可する方法がある場合です。

ありがとうございました。ありがとうございました!

答えて

2

はい、あなたはオンザフライメディアクエリにoverflow-xの値を切り替えることができます

@media (max-width: 600px) { 
    body { 
     overflow-x: auto; 
    } 
} 

は、あなたのスタイルシートで後にメインbodyルールをこの@mediaルールを配置するようにしてください、そうでない場合はyour overflow-x: hidden declaration will always take precedence

注意また、そのwidthメディア機能は、ビューポートの幅に対応し、body要素がoverflow-xを設定し、この方法は実際には、ビューポート上のスクロールバーには影響していない、ないビューポートと同じものである一方、 body要素です。これは、body要素が通常よりも狭い場合でも、または既定の余白を削除していない場合でも(作成者が通常行うように)、期待どおりに機能することを意味します。これはintentional behaviorですが、状況によっては上書きされる可能性があります。

+0

なぜオート?スクロールする方が良いです。私は常にそれを隠すためにオーバーフロー隠しを使用し、オーバーフロースクロールはスクロールを有効にします。 –

+0

@ Zeus Zdravkov:スクロールバーが不要なとき、つまりオーバーフローが最初に発生していないときにスクロールバーを自動的に非表示にします。ユーザーが横にスクロールできなくても横スクロールバーが常に表示されるようにするには、overflow-x:scrollを自由に使用できます。しかし、私は正しい気持ちで誰もが水平のスクロールバーを常に表示したいとは思っていません。Webユーザーの存在を邪魔しています。一般的に著者は助けてくれれば可能な限り表示したくありません。 – BoltClock

+0

例えばbootsrapを使用していて、どこかに** overflow-x:hidden **がある場合、** overflow-x:auto **を使用すると、x軸に沿ってスクロールできなくなります。 ** overflow-x:hidden **のスタイルシートを持っていて、他に** overflow-x:scroll **を追加すると、x軸に沿ってスクロールすることができます。私はTestingCentre(www.testingc.ml)でこれをテストしました –

-1

あなたは、応答性のCSS

<meta name="viewport" content="width=device-width, initial-scale=1, maximum-scale=1"> 

以下は、CSS

@media only screen and (max-width: 600px) { 
body{overflow-x:auto} 
} 
+1

そのメタタグは必要ありません。メディアクエリと「レスポンシブcss」は、「許可」する必要はありません。あなたがこれを学んだところは、RWDをすべて間違って教えています。 – BoltClock

+0

モバイルデバイスに必要なこのURL [リンク](http://stackoverflow.com/questions/14775195/is-the-viewport-meta-tag-really-necessary)をご覧ください。 – aje

+0

それはあなたが言ったことではありません。あなたは「応答可能なCSSを許可する」と言っています。それが私の言いたいことです。 – BoltClock

0

はメタタグやCSSの下に追加されできるように、あなたのページにメタタグの下に追加のメディアクエリー

を使用することができますあなたのページ

<meta name="viewport" content="width=device-width, initial-scale=1, maximum-scale=1"> 

CSS

body { 
overflow-x:hidden; 
} 
.test { 
width:auto; 
} 
@media screen and (max-width:600px) { 
body { 
overflow-x:auto; 
} 
.test { 
width:600px; 
} 
} 

HTML

<div class="test"> Lorem ipsum dolor sit amet, consectetur adipiscing elit. Nam auctor nulla id lorem tristique maximus. Donec quam massa, suscipit ut sem in, pretium porttitor lacus. Cras ac venenatis neque. Integer vulputate nibh libero, quis placerat dolor accumsan sit amet. Lorem ipsum dolor sit amet, consectetur adipiscing elit. Nam interdum metus interdum vestibulum tincidunt. Nullam pellentesque at quam congue maximus. Vivamus eget mollis risus, ac bibendum turpis. Suspendisse at hendrerit nibh. Vestibulum vestibulum rhoncus augue non pulvinar. Nunc rutrum sapien eu mollis pretium.</div>

+0

もう一度、メタタグが必要な理由について説明していません。 – BoltClock

+0

応答性のあるCSSを許可するには、メタタグが必要です。ページにメタタグを追加しないと、ページが縮小されます。 –

関連する問題