Saya mempelajari beberapa CSS untuk mengubah template proyek saya. Saya sampai pada masalah ini dan tidak menemukan jawaban yang jelas di web. Apakah ada perbedaan antara menggunakan @import atau link di CSS?
Penggunaan @import
<style>@import url(Path To stylesheet.css)</style>
Penggunaan Link
<link rel="stylesheet" href="Path To stylesheet.css">
Apa cara terbaik untuk melakukannya? dan mengapa? Terima kasih!
Anda dapat menggunakan perintah import untuk mengimpor CSS lain di dalam file css yang tidak dimungkinkan dengan perintah link. Browser yang benar-benar lama tidak dapat (IE4, IE5 sebagian) menangani fungsionalitas impor. Selain itu, beberapa pustaka yang mengurai xhtml / html Anda bisa gagal mendapatkan impor style sheet. Perlu diketahui bahwa impor Anda harus dilakukan sebelum semua deklarasi CSS lainnya.
sumber
Tidak ada perbedaan nyata saat ini, tetapi
@import
tidak ditangani dengan benar oleh browser lama (Netscape 4, dll.), Sehingga@import
peretasan dapat digunakan untuk menyembunyikan aturan CSS 2 dari browser lama ini.Sekali lagi, kecuali Anda mendukung browser yang benar-benar lama, tidak ada perbedaan.
Jika saya menjadi Anda, saya akan menggunakan
<link>
varian pada halaman HTML Anda, karena memungkinkan Anda untuk menentukan hal-hal seperti jenis media (cetak, layar, dll.).sumber
Perintah <link> dapat memungkinkan beberapa css dimuat dan diinterpretasikan secara asinkron.
direktif @import memaksa browser * untuk menunggu hingga skrip yang diimpor dimuat sebaris ke skrip induk sebelum dapat diproses dengan benar oleh mesinnya, karena secara teknis ini hanya satu skrip.
Banyak skrip minimisasi css (dan bahasa seperti less atau sass) akan secara otomatis menggabungkan skrip terkait ke dalam skrip utama karena pada akhirnya menyebabkan lebih sedikit overhead transfer.
* (tergantung browsernya)
sumber
Artikel ini mungkin berguna di sini: 4 metode menambahkan CSS ke HTML: link, embed, inline dan import
sumber
Saat saya menggunakan aturan @import, biasanya untuk mengimpor lembar gaya dalam lembar gaya yang ada (meskipun saya tidak suka melakukannya untuk memulai). Tetapi untuk menjawab pertanyaan Anda, tidak, saya tidak percaya ada perbedaan apa pun. Pastikan untuk meletakkan URL dalam tanda kutip ganda untuk memenuhi XHTML yang valid.
sumber
@import umumnya dimaksudkan untuk digunakan dalam lembar gaya eksternal daripada sebaris seperti dalam contoh Anda. Jika Anda benar-benar - ingin menyembunyikan lembar gaya dari browser yang sangat lama, Anda dapat menggunakannya sebagai peretasan untuk mencegah mereka menggunakan lembar gaya itu.
Secara keseluruhan,
<link>
tag diproses lebih cepat daripada aturan @import (yang tampaknya agak lambat sejauh menyangkut mesin pemroses css).sumber
Microsoft Internet Explorer 9 (MSIE9) tampaknya tidak menangani @import dengan benar. Amati entri ini dari log Apache saya (alamat IP disembunyikan tetapi
whois
dikatakan itu milik Microsoft sendiri): HTML utama yang ditautkan ke screen.css yang memilikiyang sekarang akan saya ubah menjadi
link
elemen dalam HTML, karena tampaknya MSIE9 mengeluarkan dua permintaan yang salah ke server, mendapatkan kesalahan 404 yang dapat saya lakukan tanpa:Ada yang permintaan yang tepat untuk file ini setelah itu, tapi kita bisa melakukannya tanpa ini "menembak pada server pertama, parse
url
setelah" logika.sumber