cari

Rumah  >  Soal Jawab  >  teks badan

Cara menggunakan css pada setiap elemen kecuali elemen terakhir dalam kumpulan tertentu

Saya mempunyai rentang className SearchHighlightGroup{x} di mana x ialah integer positif yang boleh mempunyai sebarang nilai.

Untuk x yang diberikan, jika kita menganggap rentang className x,如果我们将 className SearchHighlightGroup{x} sebagai satu set, saya ingin menggunakan gaya pada setiap daripada mereka kecuali yang terakhir. Saya mahu setiap x menjadi OK.

Contohnya, jika saya mempunyai:

<span class="SearchHighlightGroup1">sp11</span>
<span class="SearchHighlightGroup1">sp12</span>
<span class="SearchHighlightGroup2">sp21</span>
<span class="SearchHighlightGroup2">sp22</span>
<span class="SearchHighlightGroup3">sp31</span>

Saya ingin menerapkan gaya saya pada sp11, sp21 - dan rentang lain yang mungkin wujud di sini.

Bolehkah saya melakukan ini menggunakan css tulen? scss jika tidak?

P粉596161915P粉596161915487 hari yang lalu557

membalas semua(1)saya akan balas

  • P粉811349112

    P粉8113491122023-09-08 18:34:55

    Ya, adalah mungkin untuk menggunakan nth-child(An + B of S) baharu, tetapi anda perlu menentukan setiap kes secara individu. Sass boleh membantu anda menjana semua pemilih

    span:nth-last-child(n + 2 of [class*=SearchHighlightGroup1]) {
      color: red;
    }
    span:nth-last-child(n + 2 of [class*=SearchHighlightGroup2]) {
      color: blue;
    }
    span:nth-last-child(n + 2 of [class*=SearchHighlightGroup3]) {
      color: green;
    }
    <span>ignore</span>
    <span class="SearchHighlightGroup1">sp11</span>
    <span class="SearchHighlightGroup1">sp12</span>
    <span class="SearchHighlightGroup2">sp21</span>
    <span class="SearchHighlightGroup2">sp22</span>
    <span>ignore</span>
    <span>ignore</span>
    <span class="SearchHighlightGroup3">sp31</span>
    <span>ignore</span>

    Berikut ialah kod Sass untuk menjana sebarang bilangan pemilih:

    @for $i from 1 through 10 {
      span:nth-last-child(n + 2 of [class*=SearchHighlightGroup#{$i}]) {color: red;}
    }

    balas
    0
  • Batalbalas