Bagi kita yang berada dalam sektor reka bentuk web atau sedang berfikir untuk memasuki rangka kerja CSS, Bootstrap mungkin menjadi titik permulaan untuk rangka kerja CSS, kerana ia sangat mudah untuk pemula untuk memulakannya dan mendapat permintaan tinggi dalam negara. Tetapi satu rangka kerja CSS yang telah banyak kami dengar (anda boleh katakan trend) selama beberapa tahun ialah Tailwind CSS. Dan mereka yang bekerja dengan atau telah mula dengan pelbagai perpustakaan JavaScript, rangka kerja seperti React, Vue dsb., nama Tailwind CSS sangat biasa. Malah pada hari ini Tailwind CSS ialah rangka kerja CSS yang paling popular. Hari ini saya akan cuba menulis tentang CSS Tailwind dengan cara yang sangat mudah, supaya pemula boleh memulakan CSS Tailwind dengan mudah.
Tailwind CSS dipanggil rangka kerja CSS yang mengutamakan utiliti. Di sini anda boleh membuat semua jenis reka bentuk dengan menulis kelas CSS utiliti secara langsung dalam fail HTML. Menggunakan Tailwind CSS tidak memerlukan anda melakukan banyak perkara di luar fail HTML. Ia sangat pantas, fleksibel dan boleh dipercayai. Tailwind CSS pada asasnya terdiri daripada banyak kelas CSS utiliti, jadi walaupun saiz fail CSS adalah besar pada masa pembangunan, apabila ia dibina untuk pengeluaran, ia hanya menjana gaya untuk kelas CSS yang digunakan dalam fail HTML, memberikan kita sangat fail CSS kecil. di mana tiada CSS berlebihan atau pendua.
Tailwind CSS pada asasnya mengimbas nama kelas CSS daripada mana-mana fail HTML, komponen JavaScript atau sebarang jenis fail templat dan kemudian menjana gaya untuk CSS yang diimbas dan memberi kami fail CSS statik yang merupakan bahagian kepala fail HTML. untuk memanggil .
Kami boleh memasang Tailwind CSS dalam projek dalam beberapa cara. Contohnya Tailwind menggunakan CLI, menggunakan PostCSS dan menggunakan CDN. Anda mungkin fikir CDN mudah digunakan tetapi masalah terbesar di sini ialah anda tidak mendapat ciri konfigurasi dan penyesuaian Tailwind. Di sini saya akan menunjukkan kepada anda cara memasang Tailwind CSS dalam projek menggunakan Tailwind CLI
Langkah-1:
Mula-mula kita perlu memulakan nod (mesin anda mesti memasang Node.js versi 12.13.0 atau versi yang lebih tinggi) dalam projek kami. Cipta folder projek dan buka terminal dalam folder projek dan taip arahan di bawah dan tekan butang enter.
npm init -y
Langkah-2:
Sekarang kita perlu memasang Tailwind CSS sebagai pergantungan pembangun. Untuk jenis ini perintah berikut dalam terminal dan tekan butang enter.
npm install -D tailwindcss
Langkah-3:
Sekarang buat fail tailwind.config.js yang mengandungi semua konfigurasi css tailwind. Untuk jenis ini perintah berikut dalam terminal dan tekan butang enter.
npx tailwindcss init
Langkah-4:
Dalam tatasusunan kandungan fail tailwind.config.js, tulis semua sambungan templat yang akan diimbas oleh utiliti CSS Tailwind. Ini bermakna kami mahukan sokongan tailwind css dalam fail. Sebagai contoh: kami hanya akan menulis css tailwind dalam fail html di sini jadi di sini kami menulis .html dalam tatasusunan kandungan.
//tailwind.config.js file module.exports = { content: ["*.{html}"], theme: { extend: {}, }, plugins: [], }
Langkah-5:
Sekarang buat 2 folder. Saya menamakan folder src dan dist masing-masing. Cipta fail css bernama input.css (boleh jadi sebarang nama) dalam folder src dan cipta fail css bernama output.css (boleh jadi sebarang nama) dalam folder dist. Fail input.css pada asasnya akan digunakan oleh Tailwind sendiri, yang akan mengandungi semua arahan Tailwind CSS. Melalui arahan ini asas, komponen dan utiliti CSS Tailwind CSS akan dipanggil. Dalam fail input.css kita perlu menulis kod berikut.
/* src/input.css */ @tailwind base; @tailwind components; @tailwind utilities;
ধাপ-৬ঃ
এখন টেইলউইন্ড ডেভেলপার মোডে কিভাবে বিল্ড হবে সেটা বলে দেয়ার জন্য package.json ফাইলে আমাদেরকে একটি বিল্ড স্ক্রিপ্ট লিখে দিতে হবে। এই স্ক্রিপ্টের মাধ্যমে Tailwind CLI টেম্পলেট ফাইল স্ক্যান করে স্ট্যাটিক সিএসএস বিল্ড করবে।
"scripts": { "build": "tailwindcss -i ./src/input.css -o ./dist/output.css -w" }
এখানে -i এর পরে ইনপুট সিএসএস ফাইলের এর পাথ, -o এর পরে অউটপুট সিএসএস ফাইলের পাথ নির্দেশ করে দিতে হবে এবং -w এর মাধ্যমে আমরা ওয়াচ ফ্ল্যাগ চালু করে দিয়েছি যাতে tailwind.config.js বা input.css ফাইলে কোন পরিবর্তন হলে অটোমেটিক টেইলউইন্ড বিল্ড হয়।
ধাপ-৭ঃ
এখন output.css ফাইলটি এইচটিএমএল ফাইলের হেডট্যাগ এর মধ্যে কল করতে হবে।
<link rel="stylesheet" href="dist/output.css">
ধাপ-৮ঃ
আমাদের প্রোজেক্ট এখন ১০০% প্রস্তুত টেইলউইন্ড সিএসএস লেখার জন্য। যেকোনো এইচটিএমএল ট্যাগের ক্লাস হিসাবে টেইলউইন্ড সিএসএস ইউটিলিটি ক্লাস গুলো লিখলেই প্রত্যাশিত অউটপুট পেয়ে যাবেন। কিন্তু এর আগে টার্মিনাল এ আপনাকে আর একটা কমান্ড চালু রাখতে হবে সেইটা নিম্নরূপঃ
npm run build
ধাপ-৯ঃ
এই ধাপটা একেবারে অপশনাল আপনি যদি কোড এডিটরে টেইলউইন্ড সিএসএস এর ইন্টেলিজেন্স সাপোর্ট পেতে চান তাহলে টেইলউইন্ড সিএসএস এর নিজস্ব এক্সটেনশন আপনার কোড এডিটরে ইন্সটল করে নিতে পারেন। যেমনঃ Visual Studio Code এর জন্য Tailwind CSS IntelliSense এক্সটেনশন।
Seperti yang saya nyatakan sebelum ini, Tailwind CSS ialah rangka kerja CSS yang terdiri daripada banyak kelas CSS utiliti. Ikatan ciri utiliti pada asasnya membezakan CSS Tailwind daripada semua rangka kerja CSS lain. Seperti rangka kerja CSS Bootstrap memberikan kita komponen yang lengkap manakala rangka kerja CSS Tailwind tidak memberikan kita komponen yang begitu lengkap. Dalam komponen Bootstrap, margin, padding, lebar, tinggi, saiz fon, warna sudah ditentukan, kami hanya meletakkan penanda HTML komponen itu dalam fail HTML kami dan mendapatkan komponen kad yang cantik. Sebaliknya, Tailwind CSS memberikan kami banyak kelas utiliti yang diperbuat daripada CSS peringkat rendah seperti margin, padding, yang boleh kami gunakan untuk mereka bentuk mengikut kehendak kami.
Jika kita ingin membuat reka bentuk menggunakan CSS vanila, maka kita mesti melakukan 2 perkara, iaitu menulis banyak nama kelas yang bermakna dan menulis fail CSS baris demi baris dengan memegang nama tersebut. Dalam kes ini, masa terbuang untuk mengetahui nama bermakna kelas kami dan juga kami perlu menulis CSS sendiri dan kadangkala masalah pertindihan kod juga datang.
Sebaliknya, jika kita menggunakan CSS utiliti, kita tidak perlu memikirkan nama kelas lagi, hanya memanggil kelas utiliti Tailwind akan melakukan tugas itu. Anda mungkin berfikir bagaimana untuk mengingati begitu banyak kelas utiliti, anda tidak perlu mengingati apa-apa, hampir semua kelas utiliti Tailwind adalah deklaratif dan jika sokongan kecerdasan Tailwind sendiri ada dalam editor kod anda, anda tidak perlu risau tentang perkara ini. Jika anda berlatih dengan kerap selama beberapa hari, semuanya akan berada di bawah kawalan anda. Satu lagi perkara penting yang perlu diketahui ialah Tailwind CSS semuanya dikira dalam unit rem, iaitu p-6 bermaksud padding-1.5rem. Mari lihat contoh:
<div class="p-6 max-w-sm mx-auto bg-white rounded-xl shadow-lg flex items-center space-x-4"> <div class="shrink-0"> <img class="h-12 w-12" src="https://aiarnob.com/frontend/assets/images/favicons/apple-touch-icon.png" alt="ChitChat Logo"> </div> <div> <div class="text-xl font-medium text-black">AI Arnob</div> <p class="text-slate-500">You have a new message!</p> </div> </div>
উপড়ের সুন্দর কার্ড টা ডিজাইন করার জন্য কিন্তু আমাদের কোন সিএসএস লিখতে হয় নাই জাস্ট কিছু টেইলউইন্ড ইউটিলিটি ক্লাস ব্যবহার করা হয়েছে। লক্ষ করলে দেখবেন যে, এখানে ইউটিলিটি ক্লাসগুলো কতটা ডিক্লারেটিভ, যেমনঃ
এতক্ষণে হয়ত বুঝে গিয়েছেন কিভাবে টেইলউইন্ড ইউটিলিটি ক্লাসগুলো কাজ করে। টেইলউইন্ড সিএসএস এর খুবই সুন্দর একটা ডকুমেন্টেশন আছে এবং সার্চ ফিচার টাও অনেক দুর্দান্ত কাজ করে, আপনার যা প্রয়োজন জাস্ট সার্চ বক্স এ লিখুন রেজাল্ট চলে আসবে চোখের পলকে।
এতক্ষণে হয়ত আপনার মনে প্রশ্ন জেগেছে যে, টেইলউইন্ড সিএসএস এর মাধ্যমে আমরা কিভাবে বিভিন্ন ধরনের স্টেট ম্যানেজ করতে পারি। এটার ও একটা খুব ভালো সমাধান আছে। যেকোনো ইউটিলিটি ক্লাসের সামনে আমাদেরকে জাস্ট মডিফায়ার লিখতে হবে। নিম্নের উদাহরণ তা দেখলেই বুঝতে পারবেন।
<button class="bg-sky-600 hover:bg-sky-700 text-white px-7 py-2 rounded-full"> Click me </button>
এখানে স্বাভাবিক ভাবে বাটন ব্যাকগ্রাউন্ড কালার দেয়া হয়েছে bg-sky-600 এবং হুভার স্টেট এ ব্যাকগ্রাউন্ড কালার দেয়া হয়েছে hover:bg-sky-700। এখানে hover: টা হল মডিফায়ার। এভাবে :focus, :active, :first-child, :required, ::before, ::after, ::placeholder, ::selection এরকম আরও অনেক মডিফায়ার ব্যবহার করে ইউটিলিটি ক্লাস লেখা যায়। বিভিন্ন স্টেট সম্পর্কে আরও বিস্তারিত জানার জন্য ডকুমেন্টেশন দেখুন।
টেইলউইন্ড সিএসএস এর বিভিন্ন রেস্পন্সিভ ইউটিলিটি ভারিয়ান্ট আছে যেগুলো ব্যবহার করে জটিল জটিল রেস্পন্সিভ ইন্টারফেস ডিজাইন করা যায়। টেইলউইন্ড সিএসএস মোবাইল ফার্স্ট এপ্রোচ এ কাজ করে তাই রেস্পন্সিভ এর জন্য ডিফল্ট যে ৫ ধরনের ব্রেকপয়েন্ট(চাইলে আপনি ইচ্ছামত কাস্টোমাইজ করতে পারবেন) আছে সেগুলোতে min-width উল্লেখ করা। ব্রেকপয়েন্টগুলো নিম্নরূপঃ
|ব্রেকপয়েন্ট প্রিফিক্স|মিনিমাম উইড্থ|সিএসএস মিডিয়া কুয়েরি|
|-|-|-|
|sm|640px|@media (min-width: 640px) { ... }|
|md| 768px |@media (min-width: 768px) { ... }|
|lg| 1024px |@media (min-width: 1024px) { ... }|
|xl| 1280px |@media (min-width: 1280px) { ... }|
|2xl| 1536px |@media (min-width: 1536px) { ... }|
সরাসরি কোন ইউটিলিটি ক্লাস লিখলে সেটি সবগুলো ডিভাইসে কাজ করে কিন্তু যখন কোন ইউটিলিটি ক্লাসের এর আগে রেস্পন্সিভ ইউটিলিটি ভারিয়ান্ট যেমনঃ sm: লেখা হবে তখন সেটি ডিভাইস উইড্থ 768px এর সমান বা এর চেয়ে বড় হলে কাজ করবে।
<img class="w-16 md:w-32 lg:w-48" src="...">
এখানে ইমেজ এর ডিফল্ট উইড্থ ১৬, মিডিয়াম স্ক্রীন এর জন্য হবে ৩২ এবং লার্জ স্ক্রীন এর জন্য হবে ৪৮। রেস্পন্সিভ ডিজাইন সম্পর্কে আরও বিস্তারিত জানার জন্য ডকুমেন্টেশন দেখুন।
টেইলউইন্ড সিএসএস ব্যবহার করে খুব সহজে আপনি আপনার ওয়েবসাইটে ডার্ক মোড এনাবল করতে পারবেন। সাইটকে ডার্ক করার জন্য টেইলউইন্ড সিএসএস dark নামে একটি ভারিয়ান্ট দেয়, যেটি যেকোনো ইউটিলিটি ক্লাস এর সামনে দিলে তখন তা শুধুমাত্র ডার্ক মোডে কাজ করবে।
<button class="bg-sky-600 hover:bg-sky-700 dark:bg-sky-200"> Save changes </button>
উপরের কোডে dark:bg-sky-200 লেখা হয়েছে যার ফলে ডার্ক মোডে বাটনটির ব্যাকগ্রাউন্ড কালার হবে bg-sky-200।
ডার্ক মোড স্ট্রাটেজি
ডার্ক মোড স্ট্রাটেজি ২ ধরনের হয় class স্ট্রাটেজি এবং media স্ট্রাটেজি। tailwind.config.js ফাইলে ডার্ক মোড স্ট্রাটেজি বলে দিতে হবে।
//tailwind.config.js file module.exports = { darkMode: 'class', // ... }
আপনি যদি কাস্টম বাটন ব্যবহার করে ডার্ক এবং লাইট মোড toggle করতে চান তাহলে class স্ট্রাটেজি ব্যবহার করতে পারেন আর যদি চান যে অপারেটিং সিস্টেমের প্রেফারেন্স এর উপর নির্ভর করে সাইট ডার্ক অথবা লাইট হবে তাহলে media স্ট্রাটেজি ব্যবহার করতে হবে। ডার্ক মোড সম্পর্কে আরও বিস্তারিত জানার জন্য ডকুমেন্টেশন দেখুন।
আমাদের প্রোজেক্ট এ অনেক সময় একই ডিজাইনের কম্পোনেন্ট একাধিক জায়গায় ব্যবহার করতে হয় তখন দেখা যায় ইউটিলিটি ক্লাসগুলোর ডুপ্লিকেশন চলে আসে। যেমনঃ নিম্নের ডিজাইনে রাউন্ডেড অবতার ডিজাইন বার বার রিপিট করা হয়েছে যার ফোলে একই ইউটিলিটি ক্লাস এর ডুপ্লিকেশন তৈরি হয়েছে।
<div class="p-6 max-w-sm mx-auto bg-white rounded-xl shadow-lg"> <div class="flex items-center space-x-2 text-base"> <h4 class="font-semibold text-slate-900">Users</h4> <span class="rounded-full bg-slate-100 px-2 py-1 text-xs font-semibold text-slate-700">100</span> </div> <div class="mt-3 flex -space-x-2 overflow-hidden"> <img class="inline-block h-12 w-12 rounded-full ring-2 ring-white object-cover" src="https://images.unsplash.com/photo-1491528323818-fdd1faba62cc" alt=""/> <img class="inline-block h-12 w-12 rounded-full ring-2 ring-white object-cover" src="https://images.unsplash.com/photo-1550525811-e5869dd03032" alt=""/> <img class="inline-block h-12 w-12 rounded-full ring-2 ring-white object-cover" src="https://images.unsplash.com/photo-1500648767791-00dcc994a43e" alt=""/> <img class="inline-block h-12 w-12 rounded-full ring-2 ring-white object-cover" src="https://images.unsplash.com/photo-1472099645785-5658abf4ff4e" alt=""/> <img class="inline-block h-12 w-12 rounded-full ring-2 ring-white object-cover" src="https://images.unsplash.com/photo-1517365830460-955ce3ccd263" alt=""/> </div> <div class="mt-3 text-sm font-medium"> <a href="#" class="text-blue-500">+ 95 others</a> </div> </div>
ইউটিলিটি ক্লাস এর ডুপ্লিকেশন সমস্যা সমাধানের জন্য টেইলউইন্ড সিএসএস আমাদের সুন্দর একটা প্রসেস দিয়েছে। input.css ফাইলে @apply ডিরেক্টিভ এর মাধ্যমে আমরা আমাদের নিজেরদের পছন্দ মতো ক্লাস নাম দিয়ে নতুন একটা কম্পোনেন্ট তৈরি করতে পারি।
@tailwind base; @tailwind components; @tailwind utilities; @layer components { .user-avatar { @apply inline-block h-12 w-12 rounded-full ring-2 ring-white object-cover; } }
এখন আমরা শুধু user-avatar ক্লাস টা ব্যবহার করলেই রাউন্ডেড অবতার ডিজাইনটা পেয়ে যাব। আরেকটা বিষয় @layer ডিরেক্টিভের মাধ্যমে নির্ধারিত হয় আমাদের তৈরি করা স্টাইল base, components নাকি utilities এর আন্ডার এ যাবে সেইটা।
এখানে আমি চেষ্টা করেছি নতুনদের জন্য টেইলউইন্ড সিএসএস এর বেসিক টা তুলে ধরতে এবং টেইলউইন্ড ভীতিটা দূর করতে। এই লেখাটি মনোযোগ দিয়ে পরে থাকলে আপনি টেইলউইন্ড সিএসএস ব্যবহার করে ডিজাইন করার জন্য প্রাথমিক ভাবে প্রস্তুত। টেইলউইন্ড সিএসএস এর আরও অ্যাডভান্স কিছু বিষয় আছে যেগুলো আপনারা অফিসিয়াল ডকুমেন্টেশন থেকে দেখে নিতে পারেন।
Atas ialah kandungan terperinci Tailwind CSS dalam bahasa Bengali untuk pemula. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!