Cara Menggunakan Pembolehubah dalam Nama Harta dalam KURANG: Sifat Dinamik atau Interpolasi Nama Harta?

Linda Hamilton
Lepaskan: 2024-11-08 10:44:01
asal
714 orang telah melayarinya

How to Use Variables in Property Names in LESS: Dynamic Properties or Property Name Interpolation?

Menggunakan Pembolehubah dalam Nama Harta dalam LESS (Sifat Dinamik / Interpolasi Nama Harta)

Apabila bekerja dengan LESS, menyesuaikan nama sifat CSS berdasarkan nilai dinamik boleh menjadi satu cabaran . Soalan ini meneroka had dan penyelesaian untuk mereplikasi campuran CSS khusus vendor yang menerima sifat dan nilai dinamik. Dalam Sass, mixin sedemikian akan menggunakan interpolasi nama harta benda.

Penghadan dalam KURANG:

Pada masa ini, LESS tidak mempunyai sokongan terbina dalam untuk penjanaan nama harta dinamik. Ini menjadikannya mustahil untuk meniru campuran awalan vendor secara langsung dalam LESS.

Penyelesaian:

Walaupun pengehadan ini, penyelesaian berikut menawarkan kaedah alternatif:

1. Suntikan Sifat Dijana Secara Dinamik ke dalam Nilai Harta:

Balut sifat dinamik dan nilai ke dalam sifat generik, seperti "penjual", dan masukkannya ke dalam nilai harta lain.

Contoh:

.vendors(@property, @value) {
  -inj: "~"@{property}: @{value}"";
}
Salin selepas log masuk
.test {
  .vendors(transform, matrix(1, 0, 0, 1, 20, 20));
}
Salin selepas log masuk

2. Suntikan Sifat Dijana Secara Dinamik ke dalam Nama Kelas Berikut:

Lanjutkan konsep mixin vendor. Buat berbilang kelas di mana kelas kemudiannya menyuntik peraturan vendor ke dalam nama mereka.

Contoh:

.vendors(@property, @value, @rest: """") {
  @inject: "~"@{rest} -webkit-@{property}: @{value}; -moz-@{property}: @{value}; -ms-@{property}: @{value}; -o-@{property}: @{value}; @{property}: @{value}"";
}

.test(@nextclass) {
  .vendors(transform, "matrix(2, 0, 0, 2, 20, 20)");
  .vendors(transform-origin, "10px 10px", @inject);
  (~"{@{inject}} .@{nextclass}"): {};
}
Salin selepas log masuk
.this-class {
  .test(next-class);
}
Salin selepas log masuk

Penyelesaian Ditingkatkan untuk LESS v1.4.0 :

@nl: `"\n\t"`;
.multi(@props, @vals, @i, @inj) {
  // extract property and value from lists
  @property: extract(@props, 1);
  @value: extract(@vals, 1);
Salin selepas log masuk

Atas ialah kandungan terperinci Cara Menggunakan Pembolehubah dalam Nama Harta dalam KURANG: Sifat Dinamik atau Interpolasi Nama Harta?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

sumber:php.cn
Kenyataan Laman Web ini
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn
Artikel terbaru oleh pengarang
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan