[CSSチュートリアル】background-positionプロパティのパーセンテージ値の使い方を探る
background-positionが背景画像の表示に与える影響について
ホームページの画像を交換するプロジェクトで、これらの2日間は、問題を発見し、以前のスタイルは、ページが縮小または拡大されたときに背景画像の表示領域も変更され、現在は左上、どのようにページの画像位置のサイズが移動されていない変更に設定されている背景-位置:センター、。この思考だけでなく、ああ、背景-位置:センターは、背景画像を表示する要素の中心からではない、なぜか、地域のすべての要素の完全な?センターは、背景画像や要素の中心を指しますか?
background-position プロパティ
はbackground-positionは、背景画像の開始位置を設定するセットプロパティで、background-position-xとbackground-position-yがあります。設定可能な値はleft, right, top, bottomの他、固定ピクセル値やパーセント値もあります。
- background-position-x: 左 (0%に相当)
- background-position-x: right (100%に相当)
- background-position-y: top (0%に等しい)
- background-position-x: bottom (100%に等しい)
ピクセル値による固定配置はさておき、今回は主にパーセント値による背景画像位置の影響を探ってみます。パーセント値は通常、要素の幅と高さに対する相対的な割合であるべきですが、実際にはそうではありません。
パーセント値に設定した場合の実際の状況
注:今回、背景要素のコンテナとして使用される要素は、幅と高さが100%、100%に設定され、ボーダーやパディングはありません
例1.
background-size: 100px 100px;
background-position: 100% 100%;
ご覧のように、background-positionを100%に設定すると、背景画像が要素領域の外にはみ出さず、ウィンドウの右下に表示されるようになります
次に、位置を変更します。
例2.
background-size: 100px 100px;
background-position: 50% 50%;
ご覧の通り、背景画像は要素の中央に配置されました。中央配置を確認するために、中央配置のスタイルを持つ子要素を比較に使いましたが、子要素にぴったりと縁取られていることが分かります。
上の2つの例でおわかりのように :
background-position が 100% に設定されている場合、画像は右下隅にあるため、background-position-x のピクセル値は「コンテナ要素の幅から背景画像の幅を引いた値」に、background-position-y のピクセル値は「コンテナ要素の高さから背景画像の高さを引いた値」に相当します。 value minus the height of background image" となります。
background-position が 50% 50% に設定されている場合、画像は要素内の中央に配置され、 background-position-x のピクセル値は「コンテナ要素の幅に 50% を掛けたものから背景画像の幅の 50% を引いたもの」に等しく、 background-position-y のピクセル値は「コンテナ要素の高さに 50% を掛け、背景画像の高さから 50 % を引いたもの」に等しくなります。
コンテナ要素の幅をw、コンテナ要素の高さをh、背景画像の幅をbw、背景画像の高さをbhとすると、上記の2つの例から以下の式が導かれる。
background-position-x: percent = (w - bw) * percent
background-position-y: percent = (h - bh) * percent
パディングがある要素の場合
padding: 100px 20px 50px 50px;
background-position: 0% 0%;
背景画像はパディング領域の左上にあることがわかります。したがって、background-position のパーセント値は、実際にはコンテナ要素の幅と高さ = content + padding の計算に関与しています。
背景画像サイズ background-size が100% 100% に設定されている場合、設定されたパーセンテージに関わらず background-position はオフセットされません。
逆に、背景画像のサイズが要素サイズより大きい場合、パーセントを設定した後に起こることは、負のオフセットになります。
さて、これでようやくこのプロパティがわかったわけですが、ある種のcssプロパティの説明は正確さに欠け、誤解を招きやすい、あるいは自分で練習しないと本物にならない!ということです。
background-positionプロパティのパーセント値の使い方についての記事は以上ですが、background-positionのパーセント値についての詳細は、スクリプトハウスの過去記事を検索するか、引き続き以下の記事を閲覧してください。
関連
-
[CSSチュートリアル]CSSで簡単!高周波な異形ボタンを実現する方法
-
[CSSチュートリアル】カットコーナー+ボーダー+プロジェクション+コンテンツ背景色のグラデーション効果を実現するCSS
-
[CSSチュートリアル】純粋なCSSでWebページの内容をコピーできないようにする方法
-
[css3]CSS3遷移回転遠近法2D3Dアニメーションなどの効果を持つサンプルコード
-
[CSSチュートリアル]実装ステップの吸引上部と下部のH5レイアウトのための純粋なCSSソリューション
-
[CSSチュートリアル】テーブルの最大幅と最小幅の相性問題と解決策を解説
-
[css3] css3の擬似クラスについて、共通使用前と共通使用後で説明する。
-
[CSSチュートリアル】ピュアCSSでロウソクの溶ける(水滴)を実現するサンプルコード
-
[css3]水平方向のプログレスバーの最後にテキストを表示するCSSコード
-
[CSSチュートリアル]css use negative margin to achieve average layout of example.
最新
-
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のトリッキーなグラデーションで高度な背景光アニメーションの感覚を実現
-
[CSSチュートリアル】QQtabBarからCSS命名規則BEMの詳細を見る
-
[CSSチュートリアル】height:100%と書いても効かない理由
-
[CSSチュートリアル】背景-位置の割合の原則の説明
-
[CSSチュートリアル】CSS3で3つの効果例の背景をぼかす。
-
[CSSチュートリアル】大きな画像や情報を小さなドロップダウンで実現するCSS
-
[CSSチュートリアル]適応的な幅と高さの矩形の16:9の例を達成するためのCSS
-
[CSSチュートリアル】画面全体に広がるアダプティブな高さを実現するCSS
-
[CSSチュートリアル】cssプロパティ width デフォルト値 width: auto と width: 100% の違いを解説。
-
[CSSチュートリアル]フレックス内のボタンを縦に中央寄せにしない意外な解決法