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

推薦する

HTML の隠しフィールドの紹介と例

基本的な構文: <input type="hidden" name=&qu...

MySQL のインデックス障害の一般的なシナリオと回避方法

序文これまでにも、一部の SQL ステートメントを不適切に使用すると MySQL インデックスが失敗...

Vue を使用してモバイル APK プロジェクトを完了することについての簡単な説明

目次基本設定エントリファイル main.jsアプリ.vue表紙ヘッダー検索バー本体当プロジェクトでは...

背景のグラデーションと自動フルスクリーンを実現するCSSコード

背景グラデーションと自動フルスクリーンに関する CSS の問題編集長は CSS の開発中に致命的な問...

Linux のよく使うコマンドの使い方を詳しく解説(第 2 回)———— テキストエディタのコマンド vi/vim

vi/vim の紹介どちらもマルチモード エディターです。違いは、vim が vi のアップグレー...

VueとVueComponentの関係の詳細な説明

次のケースでは、これまでに学んだプロトタイプチェーンの知識ポイントを確認します。 // コンストラク...

Linux サーバーに埋め込まれた ddgs および qW3xT.2 マイニング ウイルスの対処の実践記録

序文仮想通貨の狂気的な投機により、マイニングウイルスは犯罪者が最も頻繁に使用する攻撃方法の 1 つに...

Mysql 主キー UUID と自動増分主キーの違いと利点と欠点

導入私はしばらくの間、postgresql データベースを使用していました。クラウドに移行した後、自...

JavaScript で知らない Object.entries の使い方

目次序文1. 共通オブジェクトを反復処理するには for...of を使用します2. 通常のオブジェ...

MySQLにおける分散ロックの考え方をDBの助けを借りて詳しく説明します

序文スタンドアロン ロックであっても分散ロックであっても、共有データに基づいて現在の操作の動作を判断...

Docker の Windows ストレージ パス設定操作

Windows 10 に Docker をインストールする場合、コンテナタイプを Linux コンテ...

基本的なウェブページパフォーマンス最適化ルールの簡単な概要

ブラウザのウェブページを最適化するためのいくつかのルールページの最適化静的リソース圧縮ビルド ツール...

DockerでRedisを使用するための詳細な手順

1. はじめにこの記事では、Docker を使用して Redis を探索する方法を説明します。 Do...

MySQL 8.0.18 のさまざまなバージョンのインストールとインストール中に発生した問題 (要点の要約)

概要: MYSQLの問題解決記録:どのようなインストール方法 (rpm、gz、gz.xz) を使用す...

CSS を使用してプログレスバーと順序プログレスバーを実装する例

この半月、期末試験の準備にかなりのエネルギーを費やしました。今日はしっかり復習するべきだったのですが...