টেলউইন্ড সিএসএস

**টেলউইন্ড সিএসএস** (Tailwind CSS) হলো একটি ওপেন-সোর্স সিএসএস ফ্রেমওয়ার্ক। বুটস্ট্র্যাপের মতো অন্যান্য ফ্রেমওয়ার্কের তুলনায় এটি বাটন বা টেবিলের মতো উপাদানগুলোর জন্য কোনো পূর্বনির্ধারিত ক্লাসের সারি প্রদান করে না। এর পরিবর্তে, এটি "ইউটিলিটি" সিএসএস ক্লাসের একটি তালিকা তৈরি করে। এই ক্লাসগুলো একত্রে ব্যবহার করে প্রতিটি উপাদানকে পছন্দমতো স্টাইল করা সম্ভব।

উদাহরণস্বরূপ, অন্যান্য প্রচলিত পদ্ধতিতে * নামক একটি ক্লাস থাকতে পারে যা একটি হলুদ পটভূমি এবং বোল্ড টেক্সট প্রয়োগ করে। টেলউইন্ডে এই একই ফলাফল পেতে হলে লাইব্রেরিটির তৈরি করা একগুচ্ছ ক্লাস প্রয়োগ করতে হবে, যেমন: * এবং *।

২০২৬ সালের ২৩ ফেব্রুয়ারি পর্যন্ত গিটহাবে ([[GitHub]]) টেলউইন্ড সিএসএস-এর ৯৩,৭০০-এরও বেশি স্টার রয়েছে।
== বৈশিষ্ট্য ==
=== ইউটিলিটি ক্লাস ===
*ইউটিলিটি-ফার্স্ট* ধারণাটি টেইলউইন্ডের প্রধান পার্থক্যসূচক বৈশিষ্ট্যকে নির্দেশ করে। কম্পোনেন্ট (বাটন, প্যানেল, মেনু, টেক্সটবক্স ...) ভিত্তিক ক্লাস তৈরি করার পরিবর্তে, ক্লাসগুলো নির্দিষ্ট স্টাইল উপাদানকে (হলুদ রং, গাঢ় ফন্ট, খুব বড় লেখা, উপাদানকে কেন্দ্রে স্থাপন...) ঘিরে তৈরি করা হয়। এই প্রতিটি ক্লাসকে *'ইউটিলিটি ক্লাস*' বলা হয়।

টেইলউইন্ড সিএসএস-এ বহু ইউটিলিটি ক্লাস রয়েছে, যা বিপুল সংখ্যক [[সিএসএস]] বৈশিষ্ট্য নিয়ন্ত্রণের সুযোগ দেয়; যেমন রং, বর্ডার, প্রদর্শন ধরন (*display*), ফন্ট, ফন্টের আকার, লেআউট এবং ছায়া।



=== বৈকল্পিক ===

টেইলউইন্ড *মিডিয়া কুয়েরি*-এর মাধ্যমে নির্দিষ্ট কিছু পরিস্থিতিতে একটি ইউটিলিটি ক্লাস প্রয়োগ করার সুবিধা দেয়, যাকে ভ্যারিয়েন্ট বলা হয়। ভ্যারিয়েন্টের প্রধান ব্যবহার হলো বিভিন্ন পর্দার আকারের জন্য একটি [[রেসপনসিভ ওয়েব নকশা|রেসপনসিভ ইন্টারফেস]] নকশা করা। উপাদানের বিভিন্ন অবস্থার জন্যও ভ্যারিয়েন্ট রয়েছে; যেমন মাউস নিয়ে গেলে , কিবোর্ড দ্বারা নির্বাচিত হলে  অথবা ব্যবহারের সময়  প্রয়োগ করা যায়, কিংবা ব্রাউজার বা অপারেটিং সিস্টেমে [[ডার্ক মোড]] সক্রিয় থাকলে।

ভ্যারিয়েন্টের দুটি অংশ থাকে: পূরণযোগ্য শর্ত এবং শর্ত পূরণ হলে যে ক্লাস প্রয়োগ হবে। উদাহরণস্বরূপ,  ভ্যারিয়েন্টটি স্ক্রিনের আকার -এর জন্য নির্ধারিত মানের সমান বা বড় হলে  ক্লাস প্রয়োগ করবে।

টেইলউইন্ড সিএসএস [[জাভাস্ক্রিপ্ট]] ব্যবহার করে উন্নয়ন করা হয়েছে, এটি [[নোড.জেএস]]-এর মাধ্যমে চালিত হয় এবং [[এনপিএম|npm]] অথবা [[ইয়ার্ন|yarn]]-এর মতো পরিবেশভিত্তিক প্যাকেজ ব্যবস্থাপকের মাধ্যমে ইনস্টল করা যায়।
=== সেটিংস এবং থিম ===

সাধারণত  নামে একটি কনফিগারেশন ফাইলের মাধ্যমে টেইলউইন্ড যে ইউটিলিটি ক্লাস ও ভ্যারিয়েন্ট সরবরাহ করে সেগুলো কনফিগার করা যায়। এই কনফিগারেশনে ইউটিলিটি ক্লাসগুলোর মান নির্ধারণ করা সম্ভব; যেমন রঙের প্যালেট বা মার্জিনের ক্ষেত্রে উপাদানগুলোর মধ্যবর্তী দূরত্ব।

==== সব তৈরি এবং পরিশোধন ====

টেইলউইন্ডের ডিফল্ট মোডে প্রকল্পের সেটিংসের ভিত্তিতে সম্ভাব্য সব সিএসএস সমন্বয় তৈরি করা হয়। এরপর [[পার্জসিএসএস|PurgeCSS]]-এর মতো অন্য একটি ইউটিলিটির মাধ্যমে সমস্ত ফাইল পর্যবেক্ষণ করা হয় এবং যেসব ক্লাস ব্যবহার করা হয়নি সেগুলো চূড়ান্ত সিএসএস ফাইল থেকে সরিয়ে ফেলা হয়।

ভ্যারিয়েন্টের সংখ্যা ও তাদের সমন্বয়ের কারণে বিপুল সংখ্যক ক্লাস তৈরি হতে পারে। এর ফলে পরিশোধনের আগে দীর্ঘ অপেক্ষার সময় এবং বড় আকারের সিএসএস ফাইলের মতো অসুবিধা দেখা দেয়। টেইলউইন্ড সিএসএস-এর ৩ নম্বর সংস্করণে এই কার্যপদ্ধতি আর উপলভ্য নয়।

==== জাস্ট-ইন-টাইম মোড ====

জেআইটি (*just-in-time'') মোড হলো সিএসএস তৈরি করার একটি বিকল্প পদ্ধতি। এতে সম্ভাব্য সব ক্লাস তৈরি করে পরে অব্যবহৃতগুলো অপসারণ (যা ট্রি শেকিং কৌশল নামে পরিচিত) করার পরিবর্তে, HTML, JSX, VUE ফাইল (অথবা কনফিগার করা এক্সটেনশন বা অবস্থানসমূহ)-এর বিষয়বস্তু বিশ্লেষণ করা হয় এবং তাৎক্ষণিকভাবে কেবল প্রয়োজনীয় ও ব্যবহৃত ক্লাসগুলো তৈরি করা হয়।

শুধু প্রয়োজনীয় সিএসএস তৈরি করার মাধ্যমে জেআইটি সিএসএস ফাইলের আকার কমায়। এই প্রযুক্তিগত উন্নতির ফলে অসংখ্য নতুন ভ্যারিয়েন্ট ও ইউটিলিটি ক্লাস যুক্ত করা সম্ভব হয়েছে। পাশাপাশি, স্কোয়ার ব্র্যাকেট নোটেশন ব্যবহার করে কনফিগারেশনে নির্ধারিত নয় এমন ইচ্ছামতো মানসহ ইউটিলিটি ক্লাস (যেমন , ) তাৎক্ষণিকভাবে তৈরি করার সুবিধাও যুক্ত হয়েছে।

টেইলউইন্ড সিএসএস-এর ৩ নম্বর সংস্করণ থেকে জেআইটি মোড ডিফল্ট হিসেবে ব্যবহৃত হচ্ছে।
## সংস্করণ
টেইলউইন্ড সিএসএস তার সংস্করণ সামঞ্জস্যতা চিহ্নিত করতে সেমান্টিক সংস্করণায়ন ব্যবহার করে।
## আরও দেখুন

* জেকুয়েরি মোবাইল
* জাভাস্ক্রিপ্ট ফ্রেমওয়ার্ক
* জাভাস্ক্রিপ্ট লাইব্রেরি

## তথ্যসূত্র

## বহিঃসংযোগ

* অফিসিয়াল টেইলউইন্ড ডকুমেন্টেশন
* গিটহাব রিপোজিটরি