純粋なCSSで立体的な画像配置効果を実現するサンプルコード

純粋なCSSで立体的な画像配置効果を実現するサンプルコード

1. 要素の幅/高さ/パディング/マージンのパーセンテージ基準

要素の幅/高さ/パディング/マージンのパーセンテージを設定するときのベンチマークが何かをご存知ですか?

例えば:

。親 {
  幅: 200ピクセル;
  高さ: 100px;
}
。子供 {
  幅: 80%;
  高さ: 80%;
}
.childchild {
  幅: 50%;
  高さ: 50%;
 パディング: 2%;
  マージン: 5%;

}
<div class="parent">
        <div class="child">
            <div class="childchild"></div>
        </div>
    </div>

上記のコードでは、childchild 要素の幅はどれくらいでしょうか?高さとは何ですか?パディングとは何ですか?マージンとは何ですか?

要素の高さのパーセンテージは親要素の高さに基づいており、要素の幅、パディング、およびマージンのパーセンテージは親要素の幅に基づいています。

これで皆さんももうお分かりだと思います。ぜひ試してみてくださいね〜

面接では、アダプティブスクエアを実装するという簡単な CSS スタイルの質問によく遭遇します。原理は上記の知識に基づいています。ただ必要なだけ

#箱 {
            幅: 50%;
            パディング上部: 50%;
            背景: #000;
        }

要素の幅とパディングの基本値は両方とも親要素の幅であり、本体の幅はブラウザウィンドウであるため、この設定により、ブラウザウィンドウのサイズが変わっても正方形が適応するようになります。

2. 純粋なCSSを使用して3次元画像配置効果を実現します。

さて、本題に戻りますが、次の図に示す画像の 3 次元配置効果を実現するには、パディング、幅、高さの知識を適用する必要があります。

ちょっと見覚えがありますね。小説ソフトのおすすめ本のスタイルに似ているのでしょうか?

ここでは、まずその配置を見てみましょう。1枚の絵は水平中央で正面に配置され、他の2枚の絵は左右に少し後ろに並んでおり、立体的な配置になっています。ここでは、CSS だけに頼ってこの 3 次元効果を実現する方法を学びました。

異なる高さは、大きいまたは小さい padding-top によってサポートされます。 · 前後の効果は、Z インデックスの折りたたみ順序によって制御されます。配置は、n 番目のタイプの疑似要素 + 位置によって制御されます。

何か考えはありますか?遠回しにせず、すぐにコードを見てみましょう。

<html>
    <ヘッド>
        <スタイル>
            * {
                マージン: 0;
                パディング: 0;
            }
            。箱 {
                幅: 300ピクセル;
                高さ: 200px;
                位置: 相対的;
            }
            .img {
                幅: 自動;
                高さ: 0;
            }
            .box 画像 {
                幅: 100%;
                表示: インラインブロック;
            }
            .box .img:n番目のタイプ(1) {
                表示: インラインブロック;
                位置: 絶対;
                左: 50%;
                上位: 50%;
                パディング下部: 50%;
                変換: translate(-50%, -50%);
                zインデックス: 6;
            }
            .box .img:n番目の型(2), .box .img:n番目の型(3) {
                位置: 絶対;
                上位: 50%;
                変換: translateY(-50%);
                パディング下部: 63%;
                zインデックス: 3;
            }
            .box .img:n番目のタイプ(2) {
                右: 0;
            }
            .box .img:n番目のタイプ(3) {
                左: 0;
            }
        </スタイル>
    </head>
    <本文>
        <div class="box">
            <div class="img">
                <img src="https://febaidu.com/list/img/3ns.png" />
            </div>
            <div class="img">
                <img src="https://febaidu.com/list/img/3ns.png" />
            </div>
            <div class="img">
                <img src="https://febaidu.com/list/img/3ns.png" />
            </div>
        </div>
    </本文>
</html>

以上がこの記事の全内容です。皆様の勉強のお役に立てれば幸いです。また、123WORDPRESS.COM を応援していただければ幸いです。

<<:  HTML サブタグと sup タグ

>>:  React 国際化 react-i18next の詳細な説明

推薦する

MySQLの構文、特殊記号、正規表現の詳細な説明

Mysql でよく使用される表示コマンド1. 現在のデータベース サーバー内のデータベースの一覧を表...

MySQL 起動時に報告される ERROR:2002 の分析と解決方法

序文この記事は主にMySQL起動エラー2002の分析と解決方法を紹介しています。参考と勉強のために共...

js に基づいて大きなファイルのアップロードとブレークポイントの再開を管理する方法

目次序文フロントエンド構造バックエンド構造(ノード+エクスプレス) FormDataに基づくファイル...

HTML メタタグの小さなコレクション

<Head>……</head> は <HTML> のファイル ヘ...

MySQL パスワード変更方法の概要

MySQL 5.7 より前のバージョンのパスワードを変更する方法:方法1: SET PASSWORD...

Layuiテーブルは指定された行のラジオボタンを選択し、その行の実装コードまでスクロールします。

layui テーブルには複数行のデータがあります。外部入力コンテンツを通じて、指定された行を見つけ...

JavaScript のディープコピーの落とし穴

序文以前、ある会社の面接に行ったとき、面接官から「オブジェクトを深くコピーするにはどうすればよいです...

CSSブロッキングマージとその他の効果についての簡単な説明

非直交マージンマージンを使用するとマージが発生します次のプロパティはマージンの結合を防止します。国境...

HTML リンク アンカー タグと SEO におけるその役割の概要

<a> タグは主に、ハイパーリンクまたはアンカー リンクとも呼ばれるリンクとブックマーク...

Docker は MySQL をインストールし、中国語の文字化けの問題を解決します

目次1. MySQLイメージを取得する2. ダウンロードが完了したか確認する3. MySQLはローカ...

JS は VUE コンポーネントに基づいて都市リスト効果を実装します

この記事の例では、VUEコンポーネントに基づいて都市リストエフェクトを実装するための具体的なコードを...

Mac 環境での Nginx 構成とローカル静的リソースへのアクセスの実装

ローカル開発では、直接アクセスできない静的ファイル リソースのデバッグが必要になる場合があります。こ...

ウェブサイトにダークモード切り替え機能を持たせるための純粋なCSSフリー実装コード

序文ダーク モードの概念は、 MacOS系統のMojaveに由来し、ユーザーが選択できる 2 つのス...

MySQL 8.0.12 のインストールと設定方法のグラフィックチュートリアル (Windows 版)

1. はじめにプロジェクトではMySQLを使用しています。インターネット上の例を参考にインストール...

SQL 挿入文の書き方の説明

方法 1: INSERT INTO t1(field1,field2) VALUE(v001,v00...