Bisakah Anda mengimpor file .css ke file .less ...?
Saya cukup akrab dengan lebih sedikit dan menggunakannya untuk semua perkembangan saya. Saya secara teratur menggunakan struktur sebagai berikut:
@import "normalize";
//styles here
@import "mixins";
@import "media-queries";
@import "print";
Semua impor adalah file .less lainnya dan semua berfungsi sebagaimana mestinya.
Masalah saya saat ini adalah ini: Saya ingin mengimpor file .css ke .less yang merujuk gaya yang digunakan dalam file .css sebagai berikut:
@import "../style.css";
.small {
font-size:60%;
.type;
}
// other styles here
File .css berisi kelas bernama .type
tetapi ketika saya mencoba untuk mengkompilasi file .less saya mendapatkan kesalahanNameError: .type is undefined
Apakah file .less tidak mengimpor file .css, hanya file .less lainnya ...? Atau apakah saya salah merujuk ...?!
.less
ekstensi .cs. Kemudian rujuk sebagai.less
file. Menjadi tautan simbolis, itu mengangkat beban untuk menyinkronkan mereka sebagai perubahan .css Anda segera mempengaruhi file .less yang sedang diimpor. Kekurangannya adalah Anda harus mengkompilasi ulang css terakhir setelah perubahan berikutnya. Untuk info tentang cara membuat tautan simbolis di Windows, ketikkanMKLINK /?
jendela perintah.css
file dengan menggunakan inline(less)
direktif dan mengambil keuntungan dari fakta bahwa.css
sintaks adalah valid.less
sintaksJawaban:
Anda dapat memaksa file untuk ditafsirkan sebagai tipe tertentu dengan menentukan opsi, misalnya:
akan menampilkan
dan
akan mengimpor
lib.css
file dan memperlakukannya kurang. Jika Anda menentukan file kurang dan tidak menyertakan ekstensi, tidak ada yang akan ditambahkan.sumber
(inline)
arahannya (lihat stackoverflow.com/a/22594082/160968 ) sekarang lebih disukai(inline)
tidak akan berfungsi karena tidak mengubah referensi eksternal ke font atau@import
file css ed lainnya . Anda baru saja berakhir dengan file css yang lebih besar yang menyebabkan banyak permintaan HTTP 404 ....Jika Anda ingin CSS Anda disalin ke dalam output tanpa diproses, Anda dapat menggunakan
(inline)
arahan . misalnya,sumber
@import (css) "styles.css";
tidak bekerja untuk saya.(css)
,@import
arahan akan tetap apa adanya, dan sebagai hasilnya file CSS akan dimuat oleh browser saat runtime; dengan(inline)
, isi file CSS sebenarnya diimpor ke dalam stylesheet yang dikompilasi, yang adalah apa yang Anda inginkan jika file itu keluar dari root web Anda misalnya. Perhatikan bahwa perilaku default ketika@import
ing.css
file yang sama dengan(css)
bendera - membaca dokumentasi untuk info lebih lanjut :)@import
arahan karena itu akan membutuhkan "pemrosesan".Saya harus menggunakan yang berikut ini dengan versi 1.7.4
Saya tahu jawaban yang diterima adalah
@import (css) "foo.css"
tetapi tidak berhasil. Jika Anda ingin menggunakan kembali kelas css Anda dalam file yang lebih sedikit, Anda perlu menggunakannya(less)
dan tidak(css)
.Periksa dokumentasinya .
sumber
(less)
adalah satu - satunya pilihan jika Anda ingin menggunakan kembali beberapa gaya file css) tetapi karena alasan tertentu @Fractalf menghapus bagian yang benar dengan pengeditan terbarunya.@import (less, reference) "foo.css"
Ubah ekstensi file file css Anda menjadi.less
. Anda tidak perlu menulis KURANG di dalamnya; semua CSS valid KURANG (kecuali hal-hal MS yang harus Anda hindari, tapi itu masalah lain.)Per jawaban Fractalf, ini diperbaiki di v1.4.0
sumber
Dari situs web KURANG :
Seperti yang ditunjukkan jitbit dalam komentar di bawah ini, ini benar-benar hanya berguna untuk tujuan pengembangan, karena Anda tidak ingin
@import
mengkonsumsi bandwidth berharga yang tidak perlu .sumber
@import
selama pengembangan, kemudian menggabungkan dan memperkecil file yang diimpor ke dalam satu lembar gaya ketika pindah ke produksi.Coba ini :
Dari Dokumentasi Resmi:
Sumber: http://lesscss.org/
sumber
Jika Anda hanya ingin mengimpor File-CSS sebagai Referensi (misalnya untuk menggunakan kelas dalam Mixins) tetapi tidak menyertakan seluruh file CSS dalam hasil yang dapat Anda gunakan
@import (less,reference) "reference.css";
:tanpa saya
reference.css
* Hasil (my.css) dengan
lessc my.less out/my.css
*saya menggunakan
lessc 2.5.3
sumber
&:extend(.reference-class all);
. Referensi langsung kelas menghasilkan kesalahan kompilasi.Jika Anda ingin mengimpor file css yang harus di tapak karena kurang gunakan baris ini:
sumber
karena 1.5.0 u dapat menggunakan kata kunci 'sebaris'.
Contoh: @import (sebaris) "not-less-compatible.css";
Anda akan menggunakan ini ketika file CSS mungkin kurang kompatibel; ini karena walaupun Kurang mendukung standar CSS yang paling dikenal, itu tidak mendukung komentar di beberapa tempat dan tidak mendukung semua peretasan CSS yang dikenal tanpa memodifikasi CSS. Jadi Anda bisa menggunakan ini untuk memasukkan file dalam output sehingga semua CSS akan berada dalam satu file.
(sumber: http://lesscss.org/features/#import-directives-feature )
sumber