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ページを作成する

推薦する

Vue ページをリフレッシュするために provide と injection を適用する

目次方法1: 関数を直接呼び出す方法2: provide / inject (静的更新) を使用する...

CSS の overflow: hidden の使い方 (オーバーフローの非表示とフロートのクリア)

オーバーフロー非表示指定された高さを超えるテキストや画像情報を非表示にすることを意味します。 <...

MySQLストレージフィールドタイプのクエリ効率についての簡単な理解

検索パフォーマンスは最速から最遅まで次のとおりです (私が聞いたところによると)。 1 番目: ti...

MySQL で指定エンコーディングを実装する際の落とし穴について

前面に書かれた環境: MySQL 5.7+、MySQL データベースの文字エンコードは utf8、テ...

Linux でユーザーをグループに追加する 4 つの方法の概要

序文Linux グループは、Linux でユーザー アカウントを管理するために使用される組織単位です...

ウェブ音楽プレーヤーを実現する js

この記事では、参考までに簡単なHTMLと音楽プレーヤーの制作コードを紹介します。具体的な内容は以下の...

MySQL 分離列とプレフィックスインデックスの使用の概要

目次データ列を分離するプレフィックスインデックスとインデックスの選択性データ列を分離するMySQL ...

nginx ベースのブラウザネゴシエーションキャッシュプロセスの詳細な説明

この記事は主に、nginx に基づいてブラウザネゴシエーションキャッシュを設定する詳細なプロセスを紹...

中国語ウェブコンテンツを紹介する10の経験

<br /> テキスト、シンボル、リンクの 3 つの側面に焦点を当て、主に中国語で、私の...

MySQL における一般的なランキングの問題をいくつかまとめます

序文:一部のアプリケーション シナリオでは、成績や年齢によるランキングなど、ランキングの問題が発生す...

Echarts バー水平棒グラフのサンプルコード

目次横棒グラフデータとスタイルを動的に更新するeChartsの幅と高さの適応の問題を解決する縦棒グラ...

JavaScript の差異を利用して比較ツールを実装する

序文仕事では、毎週従業員が提出した資料を数える必要がありますが、それを一つずつコピーして貼り付けるの...

Nginx プロセス スケジューリングの問題の詳細な説明

Nginx は、マスター プロセス (MasterProcess) と、同じ数のホスト CPU コア...

JavaScript でグレイウルフのポットビーティングゲームを実装

1. プロジェクト文書 2. ページレイアウトにHTMLとCSSを使用するHTML部分 <di...

Vue3 ベースのスクリプト設定構文 $refs の使用

目次1. Vue2 構文2. Vue3の使用1. コンポーネントのref値を設定する2. コンポーネ...