[解決済み] CSS - div から画面の幅いっぱいまでオーバーフローさせる方法
質問
レスポンシブグリッドの一部として使用する、包含DIVがあります。これは、私が許容する最大幅1280pxまで拡大され、その後、大きなデバイスのために余白が表示されます。以下は、私のCSSとLessの一部です。
.container
{
margin-left:auto;
margin-right:auto;
max-width:1280px;
padding:0 30px;
width:100%;
&:extend(.clearfix all);
}
しかし、場合によっては、横方向にオーバーフローさせたいと思っています。例えば、背景画像や色を全幅にする必要がある場合です。私はCSSが得意ではありませんが、私が望むものを実現することは可能でしょうか?
どのように解決するのですか?
最も明白な解決策は、コンテナを閉じて、全幅の div を作成し、新しいコンテナを開くことです。コンテナ」というタイトルは単なるクラスであり、「コンテナ」を保持することが絶対条件というわけではありません。 すべて同時に .
この例では、全幅のdivに背景色を適用していますが、その際に 必要 は、内部の制限された div に色を適用する必要があります。
* {
-webkit-box-sizing: border-box;
-moz-box-sizing: border-box;
box-sizing: border-box;
margin: 0;
padding: 0;
}
.container {
max-width: 80%;
border: 1px solid red;
margin: 0 auto;
}
.fullwidth {
background: orange;
}
header {
height: 50px;
background: #663399;
}
.mydiv {
/* background: orange; */
min-height: 50px;
}
footer {
height: 50px;
background: #bada55;
}
<div class="container">
<header></header>
</div>
<div class="fullwidth">
<div class="container">
<div class="mydiv">
<p>Lorem ipsum dolor sit amet, consectetur adipisicing elit. Ipsum illum veniam in delectus corrupti autem magnam. Tenetur ducimus provident nisi aut esse aliquid accusamus quas.</p>
</div>
<div class="mydiv">
<p>Lorem ipsum dolor sit amet, consectetur adipisicing elit. Ipsum illum veniam in delectus corrupti autem magnam. Tenetur ducimus provident nisi aut esse aliquid accusamus quas.</p>
</div>
</div>
</div>
<div class="container">
<footer></footer>
</div>
しかし、一部の人は シングル もし背景が必要なら、このような擬似要素を使用することができます。
* {
-webkit-box-sizing: border-box;
-moz-box-sizing: border-box;
box-sizing: border-box;
margin: 0;
padding: 0;
}
body {
overflow-x: hidden;
}
.container {
max-width: 80%;
border: 1px solid red;
margin: 0 auto;
}
header {
height: 50px;
background: #663399;
}
.mydiv {
height: 100px;
position: relative;
}
.mydiv:after {
content: "";
position: absolute;
height: 100%;
top: 0;
left: 50%;
transform: translateX(-50%);
width: 100vw;
background: orange;
z-index: -1;
}
footer {
height: 50px;
background: #bada55;
}
<div class="container">
<header></header>
<div class="mydiv">
<p>Lorem ipsum dolor sit amet, consectetur adipisicing elit. Ipsum illum veniam in delectus corrupti autem magnam. Tenetur ducimus provident nisi aut esse aliquid accusamus quas.</p>
</div>
<footer></footer>
</div>
をサポートします。
vw
は IE9+ - 参照
http://caniuse.com/#feat=viewport-units
100%ワイドのdivに実際のコンテンツが必要で、コンテナを自由に開閉できない場合があります(スライダーを後付けするためなど)。
そのような場合は 新しい div の高さが既知である場合 同じ手法で、ビューポート幅100%になるように配置することができます。
* {
margin: 0;
padding: 0;
}
body {
overflow-x: hidden;
}
.container {
max-width: 80%;
border: 1px solid red;
margin: 0 auto;
}
header {
height: 50px;
background: #663399;
}
.mydiv {
height: 100px;
position: relative;
}
.myslider {
position: absolute;
height: 100%;
top: 0;
left: 50%;
transform: translateX(-50%);
width: 100vw;
background: orange;
}
footer {
height: 50px;
background: #bada55;
}
<div class="container">
<header></header>
<div class="mydiv">
<div class="myslider">
<p>Lorem ipsum dolor sit amet, consectetur adipisicing elit. Ipsum illum veniam in delectus corrupti autem magnam. Tenetur ducimus provident nisi aut esse aliquid accusamus quas.</p>
</div>
</div>
<footer></footer>
</div>
注
100vw
がオーバーフローを起こし、水平スクロールバーが表示されることがあります。
overflow-x:hidden
を使用します。
<body>
他のものはすべてコンテナの中に入っているので、問題ないはずです。
関連
-
[解決済み】divの高さを画面の残りスペースで埋めるようにする
-
[解決済み] font: inheritを使用する目的は何ですか?
-
[解決済み] このベベルボタンをCSSで実現するには?
-
[解決済み] svgの円のダブルストロークの色
-
[解決済み] モバイル端末でCSSを使用したフルハイトの背景画像
-
[解決済み] CSSでテキストや画像の背景を透明にするには?
-
[解決済み] CSSの三角形はどのように機能するのですか?
-
[解決済み] div' コンテナに合わせて画像を自動リサイズするにはどうしたらいいですか?
-
[解決済み] div 内の画像を縦に並べる方法
-
[解決済み】CSSを使用して、すべてのブラウザでdiv要素を垂直方向に中央に配置するにはどうすればよいですか?
最新
-
nginxです。[emerg] 0.0.0.0:80 への bind() に失敗しました (98: アドレスは既に使用中です)
-
htmlページでギリシャ文字を使うには
-
ピュアhtml+cssでの要素読み込み効果
-
純粋なhtml + cssで五輪を実現するサンプルコード
-
ナビゲーションバー・ドロップダウンメニューのHTML+CSSサンプルコード
-
タイピング効果を実現するピュアhtml+css
-
htmlの選択ボックスのプレースホルダー作成に関する質問
-
html css3 伸縮しない 画像表示効果
-
トップナビゲーションバーメニュー作成用HTML+CSS
-
html+css 実装 サイバーパンク風ボタン
おすすめ
-
[解決済み】Text-decoration: noneが機能しない。
-
[解決済み] "セレクタ(CSS)にIDを使うな "なら、IDの代わりに何を使えばいい?
-
[解決済み] リンクにアニメーションGIFを表示し、ホバーとリセットで再生する方法
-
[解決済み] iframe 要素の scrolling 属性は廃止されました。代わりにCSSを使用してください。
-
[解決済み] Ionicカードリスト作成
-
[解決済み] JavaFX Labelの文字色を変更する方法
-
[解決済み] Bootstrap 3 で列からパディングを削除する
-
[解決済み] 幅・高さをピクセル単位からパーセント単位で設定する。
-
[解決済み] Font Awesomeで2つ以上のアイコンを重ねる/重ねるには?
-
[解決済み] ReactJSを使ったインラインのフォントサイズスタイルの生成