[CSSチュートリアル】背景画像画面の適応的な実装を実現するCSS
ランディングページなどのホームページをやっていると、大きな背景画像を置く必要があり、様々な画面の大きさに合わせて画像を拡大縮小する必要がある場面によく遭遇します。
htmlコードは以下の通りです。
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<meta http-equiv="X-UA-Compatible" content="ie=edge">
<link rel="stylesheet" href="... /css/login.css"><! -- my css code path -->
<title>. </title>
</head>
<body>
<div class="bgimg">
</body>
</html>
cssのコードは以下の通りです。
.bgimg{
position:fixed;
top: 0;
left: 0;
width:100%;
height:100%;
min-width: 1000px;
z-index:-10;
zoom: 1;
background-color: #fff;
background: url(. /img/bg_login.jpg) no-repeat;
background-size: cover;
-webkit-background-size: cover;
-o-background-size: cover;
background-position: center 0;
}
cssのコードで何が行われているかを分析するため。
position:fixed;
top: 0;
left: 0;
この3つの文章は、div全体を画面の上部と左端に固定させるためのものです。
width:100%;
height:100%;
min-width: 1000px;
上の最初の2つの文章は、div全体を画面と同じ大きさにすることで、フルスクリーン効果を実現するためのものです。また、min-widthは、画面の幅が1000px以内であれば、divを同じサイズにする、つまり、画像が拡大縮小されないようにするためのものです。
z-index:-10;
これは、HTMLページ内の各レベルの一番下にdiv全体を維持するためです。通常、作成されたレベルのz-indexのデフォルト値は0なので、ここに-1を書けばそれも実現できますが、ここに-10と書くのは、div全体が一番下に来るようにするためです。ページ内のレベルが多すぎると、-1を使っていても必ずしも一番下に来ないことがありますが、-100と書くとそんな大きな数字を書いてもあまり意味がないので、そのようにしました。背景画像に見えるように-10を使うが、実は普通のdivだが、階層が変わって背景画像に見えるようにする。
zoom: 1;
zoom は、IE6 専用に動作する CSS ハックの部分です。IE6 のブラウザは、オブジェクトのスケールを示すために zoom:1 を実装しています。IE6、IE7、IE8のブラウザと互換性があり、zoom:1で解決できる問題にしばしば遭遇します。zoomには以下の効果があります。1. IEのhaslayoutをトリガーする。2. IEでのフロート、マージンのオーバーラップなどの問題を解決する。
background-repeat: no-repeat;
画像はタイル状で、繰り返さない
background-size: cover;
-webkit-background-size: cover;
-o-background-size: cover;
上の3つの文章は同じ意味です。つまり、画像は画面サイズに合わせて拡大縮小させますが、一部が切り取られることがありますが、白く表示されるほどではありません。次の2つの文章は、クロームとオペラのブラウザの互換性のためです。
background-position: center 0;
上の文は、画像の位置、中央揃え、左寄せを意味します
効果は次のとおりです。
1000pxより大きい場合。(スクリーンショットが大きすぎるので、少し画像を縮小しています)
1000px 未満の場合。
オリジナルの画像です。(これもちょっと大きすぎて縮小できない)
背景画像画面適応のCSS実装について、この記事では、より関連するCSS背景画面適応の内容は、スクリプトハウスの過去の記事を検索してくださいまたは、次の関連記事を参照してください続けて、私はあなたが将来的に多くのスクリプトハウスをサポートして願っています!導入されています。
関連
-
[CSSチュートリアル】CSSのトリッキーなグラデーションで高度な背景光アニメーションの感覚を実現
-
[CSSチュートリアル】Pure CSSカスタム複数行抜け問題(原理から実装まで)
-
[css3]CSS3タブアニメーションの背景切り替えの動的効果例
-
[CSSチュートリアル】overflow:hiddenの役割を解説(overflow hidden、clear float、外周マージンの崩れを解決する)。
-
[CSS3] CSS3リスト無限スクロール/回転効果
-
[CSSチュートリアル】CSSの新機能には、ページの再描画や並び替えの問題をコントロールする機能が含まれています。
-
[CSSチュートリアル】ピュアCSSで実装した通知バーの3種類のスクロール効果
-
[css3]CSS3は本当にSCSSに取って代わるのだろうか?
-
[CSSチュートリアル】Chromeのフォント最小12px制限の最終解決策
-
[CSSチュートリアル】css3 背景画像 半透明 コンテンツ 不透明 方法例
最新
-
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 実装 サイバーパンク風ボタン
おすすめ
-
[CSSチュートリアル】CSSのクラスとidの共通命名規則
-
[CSSチュートリアル】height:100%と書いても効かない理由
-
[CSSチュートリアル】パララックススクロールの効果を完成させるCSS
-
[css3] CSS3を使ってヘッダーアニメーション効果を作成する
-
[CSSチュートリアル】SVGを使ったCSSアニメーションでエネルギーフローを表現する
-
[CSSチュートリアル]ドラッグ&ドロップ効果を実現するピュアCSSコード
-
[CSSチュートリアル】テーブルの最大幅と最小幅の相性問題と解決策を解説
-
[CSSチュートリアル】CSSを使ってボックスの水平・垂直方向の中央寄せを実現(全8種)
-
[CSSチュートリアル]CSSでimg画像を親コンテナdivと適応的なコンテナサイズに埋める
-
[CSSチュートリアル]純粋なCSSは、効果を引き出すために、ページ内のリストを達成するために