私の目標は、スライダーの幅を 1280px にして、ページの中央に配置することです。コンテンツの端の両側にオーバーフローを隠したいと思います。たとえば、コンテンツの中心が常にページの中心にとどまり、ブラウザーのサイズが変更されると両側が切り取られ、水平スクロール バーが表示されないようにしたいと考えています。
これを達成する簡単な方法はありますか?
私の目標は、スライダーの幅を 1280px にして、ページの中央に配置することです。コンテンツの端の両側にオーバーフローを隠したいと思います。たとえば、コンテンツの中心が常にページの中心にとどまり、ブラウザーのサイズが変更されると両側が切り取られ、水平スクロール バーが表示されないようにしたいと考えています。
これを達成する簡単な方法はありますか?
最終的に、(少なくとも) Chrome、Firefox、および Safari で動作する、やや興味深いソリューションにたどり着きました。少しハックかもしれませんが、結果はクールでした。
だからここに私がしたことが.wrapper
あり1280px
ます: マージンは、すべてが発生する左マージンを0 auto
除きます。左余白は幅の半分に設定する必要があります。div
この場合、それは になります640px
。ただし、左画面の外側にオーバーフローする必要があるため、負の数 (つまり-640px
) に設定する必要があります。次に、画面が大きくなったときにその効果を逆にするために、画面をleft:50%
正しい量に押し込みました。margin:0 auto
が実際に機能するためには、を(または必要に応じて)position
に設定する必要があります。relative
absolute
.wrapper { width:1280px;
margin:0 auto 0 -640px;
position:relative;
left:50%
}
ただし、1つの問題
が見つかりました。負のマージンを使用しているため、画面またはブラウザー ウィンドウが小さすぎると見えない場所まで div が左に押し出されます。これが問題であり、うまくいかない場合はお知らせください。
このcssクラスを追加
.overflowbothsides{
vertical-align: middle;
margin: 0 auto;
position: relative;
left: 50%;
-webkit-transform: translateX(-50%);
-ms-transform: translateX(-50%);
-o-transform: translateX(-50%);
transform: translateX(-50%);
}
コードと例を含むソリューション ここにリンクの説明を入力