Ketika membuat web kita perlu memberikan style agar tampilan web kita menarik. Tak hanya untuk faktor keindahan, memberikan style juga bisa memberikan petunjuk kepada user agar bisa intuituf ketika aplikasi web kita digunakan
Pada postingan kali ini kita akan belajar bagaimana menggunakan style pada framework NextJS.
Selain itu ada beberapa poin yang akan kita bahas
- Jenis Jenis CSS
- Bagaimana Cara Menggunakan Global CSS
- Bagaimana Cara Menggunakan Module CSS
- Manakah Yang Harus Kita Gunakan?
Memberikan style pada NextJS kurang-lebih mirip dengan kita memberikan style pada html biasa. Kita perlu membuat file css dan memberikan kode kode didalamanya
Yang membedakan adalah sifat CSS dalam NextJS yang global dan specific
Jenis Jenis CSS
Global CSS
CSS dimana kita bisa memberikan style pada component component manapun asal memiliki nama class yang sesuai di dalam file css kita
Semisal kita mempunya component
lalu kita membuat file global.css yang ditempatkan pada folder style
Namun css tidak bisa langsung berjalan begitu saja. Kita perlu mengimportnya terlebih dahulu pada file _app.tsxSebenarnya Bagaimana Sih Cara Kerja Request Dan Response Bekerja? Cari Tahu Jawabannya Disini!
Kenapa file _app.tsx karena file ini merupakan file root yang menginisiasi segala library, function built-in yang dibutuhkan agar NextJS bisa berjalan dengan baik
Maka style bisa memberikan efek pada tulisan tersebut
Namun efek Global CSS tidak akan berpengaruh apabila ia memiliki Module CSS di dalamnya
Dengan kata lain, apabila kita menggunakan Module CSS makan Global CSS tidak akan berfungsi karena Module CSS lebih spesifik. Meskipun kita menggunakan nama class yang sama
Module CSS
CSS yang sifatnya lebih spesifik daripada Global CSS, cara menggunakannya kita bisa mengimportnya langsung didalam file index.tsx (tidak perlu di file _app.tsx)
./components/Footer/index.tsx |
./components/Footer/Footer.module.css |
Kesimpulan
Menggunakan Global CSS atau Module CSS sebenarnya bebas dan tidak harus condong hanya satu prinsip saja. Saya sendiri gemar menggunakan Module CSS karena beberapa komponen html polos yang harus diubah menjadi project dengan prinsip prinsip NextJS memiliki file css masing masing. Sehingga tidak mungkin rasanya menggunakan css global untuk mencangkup segala komponen yang ada. Jadi, jika ditanya manakan model css yang harus digunakan? sesuai kebutuhan