CSS を使用してサブ要素に応じて異なるスタイルを記述する方法

CSS を使用してサブ要素に応じて異なるスタイルを記述する方法

達成すべき効果:

必要なもの

1枚、2枚、3枚とスタイルが異なります。子要素の判定はjsで完結できますが、ここではcssで完結します

コア知識ポイント

CSSセレクタを使用して子要素を決定する

例:

CSSセレクタを使用して1つの要素のみに一致させる

div {
    &:最後の子:n番目の子(1) {
      // 関連スタイル}
}

理解するのは簡単です。div の下の最後の要素は最初の要素でもあるので、子要素は 1 つだけではないでしょうか。

CSSセレクタを使用して2つの子要素のみを一致させる

div{
    &:n番目の最後の子(2):n番目の子(2) {
    
    }
}

同じパターンに従います: 最後の 2 番目の要素も 2 番目の要素です。つまり、この div の下には要素が 2 つしかないということではないでしょうか。

完成したスタイル

HTML部分

     <div class="box" v-for="(item,index) リスト内" :key="index">
          <div class="header">
            <img :src="item.userImage" alt="">
            <span>{{アイテム名}}</span>
          </div>
          <div class="content">
            <img :src="v" alt="" v-for="(v, i) in item.imageUrl" :key="i">
          </div>
          <div class="bottom">
            <span class="left-icon">{{item.createTime}}</span>
            <div class="right">
              <img src="./img/6.1.png" alt="">
              <span>{{item.fabulousNumber}}</span>
            </div>
          </div>
        </div>

CSS部分

。箱 {
      パディング: 0.26rem;

      .ヘッダー{
        ディスプレイ: フレックス;
        アイテムの位置を中央揃えにします。

        画像 {
          幅: 0.58rem;
          高さ: 0.58rem;
          右マージン: 0.17rem;
        }
      }

      。底 {
        ディスプレイ: フレックス;
        コンテンツの両端揃え: スペースの間;
        アイテムの位置を中央揃えにします。
        色: #999999;
        フォントサイズ: 0.17rem;

        画像 {
          幅: 0.17rem;
          高さ: 0.17rem;
        }
      }

      。コンテンツ {
        ディスプレイ: フレックス;
        マージン: 0.17rem 0;

        画像 {
          フレックス: 1;
          高さ:1.37rem;
          幅: 0;
          右マージン: 0.09rem;
          &:最後の子 {
            右マージン: 0;
          }
          &:最後の子:n番目の子(1) {
            高さ:2.75rem;
          }
        }
      }
    }

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

<<:  MySQLのタイムゾーンを表示および設定する方法

>>:  HTML減量 HTMLタグを合理化してWebページを作成する

推薦する

Dapr を使用してマイクロサービスをゼロから簡素化する例

目次序文1. Dockerをインストールする2. Dapr CLIをインストールする3. Net6 ...

Dockerコンテナ内にkibanaトークナイザーをインストールする方法

ステップ: 1. 仮想マシンディレクトリに新しいdocker-compose.ymlファイルを作成し...

docker を使用して kafka プロジェクトをデプロイする Centos6 方法の分析

この記事では、Docker を使用して Centos6 に Kafka プロジェクトをデプロイする方...

EclipseでTomcatを作成する原理の詳細な説明

ローカルEclipse上にTomcatサーバーを作成する場合、 tomcaインストールディレクトリの...

数十億のデータに対するMySQLページングの最適化に関する簡単な説明

目次背景分析するデータシミュレーション1. 従業員テーブルと部門テーブルの2つのテーブルを作成します...

MySQL が重複データを挿入するのを防ぐ 3 つの方法

新しいテーブルを作成する テーブル「人」を作成します( `id` int NOT NULL COMM...

JS を使用して要素が配列であるかどうかを判断する例

検証できるデータの種類は次のとおりです a = [1,2,3,4,5,6]とします。 b = [とし...

Reactはダブルスライダークロススライドを実装します

この記事では、Reactでダブルスライダークロススライドを実装するための具体的なコードを参考までに共...

Webフロントエンドスキル概要(個人の実務経験)

1. 今日、ページを作っているときに、矢印を中央に配置する効果に遭遇しました。クリック領域を大きくし...

表の最初の行と最初の列を固定し、適応型ウィンドウを実現するための CSS の例コード

今日のキャンパス採用筆記試験では、固定された最初の行と最初の列を実装し、幅をウィンドウの変更に適応さ...

MySQL データベース分離レベルと MVCC の詳細な説明

目次1. 分離レベルコミットされていない読み取りREAD COMMITED (コミット読み取り/非反...

JavaScript を使用してページに動的な検証コードを実装する例

導入:現在、プログラム攻撃を防ぐために、ユーザーがログインまたは登録するときに多くの動的検証テクノロ...

LinuxカーネルとSVNバージョン間の競合の解決策

現象システムは Linux システムカーネルを正常にコンパイルできましたが、SVN をインストールし...

React Nativeでaxiosを使用してネットワークリクエストを行う方法

フロントエンド開発では、Ajax、jQuery ajax、axios、fetch など、データ要求を...

Reactの状態の理解についての簡単な分析

複雑なコンポーネント (クラス コンポーネント) と単純なコンポーネント (関数コンポーネント) を...