CSSの数式 Contain&Cover_html/css_WEB-ITnose
誰もが背景サイズの contains と cover の使用方法を理解する必要があります。しかし、そこには興味深い数学的関係もいくつかあります。
基本概念
上記は、rimage (画像のアスペクト比) と rviewport (コンテナのアスペクト比) の定義です。
画像をコンテナに入れる
3つの方法
-
stretch: 画像の幅と高さをコンテナの幅と高さに強制的に設定します
注: h'image 、w'image、r'imageは変更後の画像の高さ、幅、アスペクト比です。以降の記事でもこれらの名詞は同じ意味を持ちますので、説明は省略します。
それでは、画像がコンテナに配置された後に変形しないようにするには、どのような数学的関係を維持できるでしょうか?
答えも明らかです:
r'image =rimage
次に紹介する 2 つの方法は変形しません。つまり、上記の式は既知の条件であることを意味します。
-
contain : 画像をコンテナーに収まるように、空白のスペースも残しながら画像をコンテナーに「詰め込み」ます。映画を見るときの「ブラックエッジ」と同じです。
contain メソッドの場合、コンテナに配置された後の画像の高さ (h'image) のみが不明です。計算してみましょう:
contains がなぜこのようになるのかわからない場合は、まずはご覧ください。background-size
-
cover: 画像でコンテナを「覆う」こともできます。
はcontainに対応しており、coverメソッドはw'imageを計算する必要があります
アスペクト比の影響
お気づきかどうかわかりませんが、containとh'imageを導出したとき先ほどのカバーの w'image 使用される画像のアスペクト比は、常にコンテナーのアスペクト比よりも大きくなります。
これは何につながりましたか?そのため、導出に使用した条件 3 は正しくない可能性があります。
ええと、それを言うと少しめまいがします。写真を見てください:
ご覧のとおり、ここではrimage > rviewportの状況のみを考慮しました。
結論
rimage < rviewport を考慮して、コンテナに配置された後の画像の幅と高さは次のとおりです。
このようにして、背景サイズ属性 ,high を適用した後のコンテナ内の画像。
非表示の比例関係
次に、画像をコンテナに配置した後の画像とコンテナの間の非表示の比例関係について説明します。これにより、この関係を使用して、コンテナの変更に応じて画像も変更できるようになります。
hidden は 1 未満の比率であることに注意してください。このように設定する理由は後で説明します。
包含レイアウトを例として取り上げます。rimage > rviewport:
そしてカバー レイアウトを例として取り上げます。
このようにして 4 つの可能性がわかりますが、上記の w'image と h'image を導出したことを忘れないでください。したがって、hidden の最終結果は次のようになります:
hidden の結果は 2 つだけ、
rimage / rviewport
またはr viewport /rimage
だけであり、この数値は 1 未満であることがわかります (これは上記により決定されます)。つまり、hidden の計算は次のように簡略化できます:
追記
長い間取り組んできた後、どうすればこれができるのかと考えているかもしれません。なぜ特定の幅と高さを取得する必要があるのでしょうか?私も思ったのですが、写真だけだと、全部ナンセンスな気がします。しかし、それが DOM だったらどうなるでしょうか?これは単なるレイアウト方法ですか?
分からないけど、知識ってこういうこともあるのね。必要な場合にのみ便利です。
参考記事
CSS ? Contain & Cover
ブログの購読を歓迎 =_=
=========

ホットAIツール

Undresser.AI Undress
リアルなヌード写真を作成する AI 搭載アプリ

AI Clothes Remover
写真から衣服を削除するオンライン AI ツール。

Undress AI Tool
脱衣画像を無料で

Clothoff.io
AI衣類リムーバー

Video Face Swap
完全無料の AI 顔交換ツールを使用して、あらゆるビデオの顔を簡単に交換できます。

人気の記事

ホットツール

メモ帳++7.3.1
使いやすく無料のコードエディター

SublimeText3 中国語版
中国語版、とても使いやすい

ゼンドスタジオ 13.0.1
強力な PHP 統合開発環境

ドリームウィーバー CS6
ビジュアル Web 開発ツール

SublimeText3 Mac版
神レベルのコード編集ソフト(SublimeText3)

ホットトピック









HTMLは、簡単に学習しやすく、結果をすばやく見ることができるため、初心者に適しています。 1)HTMLの学習曲線はスムーズで簡単に開始できます。 2)基本タグをマスターして、Webページの作成を開始します。 3)柔軟性が高く、CSSおよびJavaScriptと組み合わせて使用できます。 4)豊富な学習リソースと最新のツールは、学習プロセスをサポートしています。

HTMLはWeb構造を定義し、CSSはスタイルとレイアウトを担当し、JavaScriptは動的な相互作用を提供します。 3人はWeb開発で職務を遂行し、共同でカラフルなWebサイトを構築します。

Anexampleapalofastartingtaginhtmlis、それはaperginsaparagraph.startingtagsaresentionentientiontheyinitiateelements、definetheirtypes、およびarecrucialforurturingwebpagesandcontingthomedomを構築します。

webdevelopmentReliesOnhtml、css、andjavascript:1)htmlStructuresContent、2)cssStylesit、および3)Javascriptaddsinteractivity、形成、

GiteEpages静的Webサイトの展開が失敗しました:404エラーのトラブルシューティングと解像度Giteeを使用する

Y軸位置Webアノテーション機能の適応アルゴリズムこの記事では、単語文書と同様の注釈関数、特に注釈間の間隔を扱う方法を実装する方法を探ります...

画像をクリックした後、散乱と周囲の画像を拡大する効果を実現するには、多くのWebデザインがインタラクティブな効果を実現する必要があります。特定の画像をクリックして周囲を作成してください...

Vueアプリケーションを開発するときに、ルーターフォルダーの下にindex.jsファイルにvuerouterを登録する必要性があるため、ルーティング構成で問題が発生することがよくあります。特別...
