この質問に関連するニーズはまだないかもしれませんし、面接でこの質問をされたことがないかもしれませんが、最終的には必要になると思います。 この質問はよくあることですが、私が今日この質問をもう一度取り上げるのは、いつか皆さんがこの質問をされたときに、美しい答えが返ってくることを願っているからです。 ある日、「固定アスペクト比の要素を実装する方法を教えていただけますか?」と尋ねられたとします。 これを聞いたとき、盲目的に答えてはいけません。なぜなら、この質問をすると、質問が明確ではなくなるからです。そのため、面接官が質問を補足したり、要件を確認するための質問をしたりすることができます。次のように答えることができます。 要素のサイズがわかっている場合は、特に言うことはありません。幅と高さを計算して書き留めるだけです。 要素のサイズがわかっている場合は、特に言うことはありません。幅と高さを計算して書き留めるだけです。要素のサイズが不明な場合は、JavaScript を使用するのが最も簡単な方法です。CSS を使用する場合は、次のカテゴリに分けられます。
今日は、ワイマが上記の状況を皆さんと一緒に見ていきます。 まず、要素のサイズがわかっているので、これが渡されます。言うまでもなく、これを言ったら殴られるのではないかと心配です。 要素サイズが不明な場合に焦点を当てます。 そこでこの記事では、主に、交換可能な要素と通常の要素の固定アスペクト比を実現する方法に分かれています。 1. 固定アスペクト比を実現するための交換可能な要素 置換要素 ( 幅または高さの値を指定すると、相手側が自動的に計算します。 次のように、画像要素の幅を固定し、高さを適応させます。 <div class="img-wrapper"> <img src="https://p3.ssl.qhimg.com/t01f7d210920c0c73bd.jpg" alt=""> </div> .imgラッパー{ 幅:50vw; マージン: 100px 自動; パディング: 10px; 境界線: 5px 実線ライトサーモン; フォントサイズ: 0; } 画像 { 幅: 100%; 高さ: 自動; } 効果は下の図に示されています。可視領域が拡大し続けると、画像も元の比率を維持しながら拡大することがわかります。 また、 2. 共通要素は固定のアスペクト比を実現する 上記では、置換された要素のアスペクト比を固定しましたが、この比率は主に置換された要素自体にサイズがあるためであり、この比率は元のサイズ比率によっても制限されます。明らかに、これは柔軟性がないので、通常の要素の固定アスペクト比をどのように実現するのでしょうか? まず、最も古典的な 2.1 前の関連章「CSS のマスター」の第 3 章「可視フォーマット モデル」では、垂直方向の内側余白と外側余白をパーセンテージとして使用する場合、それらは包含ブロックの幅に基づいて計算されることを説明しました。 以下は
HTML: <div class="wrapper"> <div class="intrinsic-aspect-ratio-container"></div> </div> CS: ... .ラッパー{ 幅:40vw; } .intrinsic-aspect-ratio-container { 幅: 100%; 高さ: 0; パディング: 0; パディング下部: 75%; マージン: 50px; 背景色: ライトサーモン; } 効果は以下のとおりです。 上記のコードに示すように、 これにより、固定のアスペクト比が実現されますが、 次のように: .intrinsic-aspect-ratio { 位置: 相対的; 幅: 100%; 高さ: 0; パディング: 0; パディング下部: 75%; マージン: 50px; 背景色: ライトサーモン; } 。コンテンツ { 位置: 絶対; 上: 0; 右: 0; 下部: 0; 左: 0; } このようにして、コンテンツを埋め込むことができる固定サイズのコンテナを実装できます。 さらに、より柔軟な 上記の方法では、高さは幅に合わせて移動できますが、幅は高さに合わせて移動できないことにお気づきでしょうか。 高さに合わせて幅を移動させる方法はありますか?答えはノーです。少なくとも今のところは。しかし、将来的にはそうなるでしょう。次に、もっと簡単で便利な方法を見てみましょう。 2.2 固定アスペクト比の必要性は長い間存在していたため、 この問題を回避するために、W3C CSS ワーキング グループはすでにこのようなプロパティ しかし、これは私たちがこの新しい技術を事前に知ることを妨げるものではありません。 どれくらい便利か見てみましょう。 以下に示すように、 /* 高度追跡 */ .box1 { 幅: 100%; 高さ: 自動; アスペクト比: 16/9; } /*幅のフォローアップ*/ .box2 { 高さ: 100%; 幅: 自動; アスペクト比: 16/9; } この手法は、要素の固定アスペクト比を実現するのに非常に柔軟であり、幅または高さのいずれかを指定できます。ただ、ブラウザ実装はまだありませんので、一緒に楽しみにしていきましょう。 結論 この記事では、要素の固定アスペクト比を実現する方法をまとめます。面接中にこの質問をされた場合。次のように答えることができます。 要素のサイズがわかっている場合は、特に言うことはありません。幅と高さを計算して書き留めるだけです。 要素のサイズが不明な場合、最も簡単な方法は JavaScript を使用することです。CSS を使用する場合は、いくつかの方法があります。
最終的にあなたの答えがこのようなものであった場合、あなたは教師の質問設定を改善し、さまざまな状況に対する解決策を提供しただけでなく、標準で策定されている新しい解決策も指摘したことになります。このような回答は、問題に対する厳密な検討を示すだけでなく、常に標準の策定に注意を払っていることも示しており、大きなプラスポイントとなります。この場合、この面接の席を確保したとしか言えません。 参考リンク アスペクト比ボックス CSS のアスペクト比ユニットの設計 CSS ボックス サイズ モジュール レベル 4 インタビューアーの質問「CSSで固定アスペクト比を実現する方法」に関するこの記事はこれで終わりです。CSS固定アスペクト比に関する関連コンテンツについては、123WORDPRESS.COMの過去の記事を検索するか、以下の関連記事を引き続き参照してください。今後とも123WORDPRESS.COMをよろしくお願いいたします。 |
<<: 初心者のための HTML コーディングガイドライン 30 選
>>: MySQL の効率的なクエリの左結合とグループ化 (プラス インデックス)
CPU 権限の制限により、Linux ユーザー状態とカーネル状態間の通信は、プロセス間通信を使用した...
この記事では、MySQL 8.0.11のインストールチュートリアルを参考までに紹介します。具体的な内...
目次1. この Web サイトには SQL インジェクションの脆弱性がある可能性があることが判明しま...
1. yumの紹介Yum (フルネームは Yellow dogUpdater、Modified) は...
フォームが送信されると、返された HTML ページが再レンダリングされ、SELECT コントロールの...
例示するシステムを自分でインストールする場合は、通常、システム言語をカスタマイズできます。ただし、ク...
目次1. プロジェクトフォルダ構造1. アセットフォルダ2. 図書館3. ローカル設定(ローカル) ...
1. 問題MySQL の初期化時に発生する問題は、次のとおりです。 1. 「MSVCR120.dll...
指導トピックウェブページ適用グレード高校2年生授業時間1 クラス教科書分析焦点: 静的および動的ウェ...
--ホームページのバックアップ1.txtテキスト2. 画像をスキャンする3. PSDデザイン原画(A...
目次序文環境の準備カテゴリコンポーネントアプリのコンポーネント1. デフォルトスロット2. 名前付き...
前回のキャンバス ゲーム シリーズへようこそ: 《VUEがFlappy Birdを実装しました〜〜〜...
目次エラーのデモンストレーション計算により画像が変わらない場合は直接インポートするCSS変数による画...
<br />ソース コード内で表の構造を明確に区別するために、HTML 言語では、表のヘ...
MySQL マスター/スレーブ レプリケーションを使用すると、1 つのデータベース (マスター デー...