Apakah ada cara agar LESS menerapkan selektor anak langsung (>) dalam keluarannya?
Dalam style.less saya, saya ingin menulis sesuatu seperti:
.panel {
...
> .control {
...
}
}
dan LESS menghasilkan sesuatu seperti:
.panel > .control { ... }
css
css-selectors
less
Dave
sumber
sumber
Jawaban:
MEMPERBARUI
Sebenarnya, kode dalam pertanyaan awal berfungsi dengan baik. Anda bisa tetap menggunakan
>
pemilih anak.Temukan jawabannya.
Perhatikan kurangnya spasi antara ">" dan ".", Jika tidak maka tidak akan berfungsi.
sumber
.panel >.control
.div > p
dandiv>p
. Konsistensi akan selalu menggunakan spasi di antara penyeleksi (lihat CSS yang dihasilkan).Cara resmi:
&
selalu mengacu pada pemilih saat ini.Lihat http://lesscss.org/features/#features-overview-feature-nested-rules
sumber
div > p
ataudiv >p
? The&
combinator adalah cara kanonik melakukannya di KURANG, bukan perasaan saya. Penjelasan Anda rethorical. Beberapa orang menulis CSS mereka dalam satu baris ...Sintaks yang benar akan mengikuti saat menggunakan '&' akan menjadi redundan di sini.
Menurut panduan yang lebih sedikit , '&' digunakan untuk membuat parameter leluhur (tetapi tidak diperlukan di sini). Dalam contoh yang lebih sedikit ini , &: hover sangat penting di atas : hover jika tidak maka akan menghasilkan kesalahan sintaksis. Namun, tidak ada persyaratan sintaksis untuk menggunakan '&' di sini. Jika tidak, semua sarang akan membutuhkan '&' karena pada dasarnya mengacu pada induk.
sumber
Jika Anda perlu menargetkan lebih banyak pemilih:
sumber
Selain itu, Jika Anda menargetkan elemen anak pertama, seperti yang pertama
<td>
dari a<tr>
, Anda dapat menggunakan sesuatu seperti ini:ini membantu mengurangi deklarasi kelas saat tidak diperlukan.
sumber