§

Options

Minify options
§

CSS পেস্ট করুন

§

মিনিফাই করা CSS

css
§

সাশ্রয় %

  • মূল আকার
  • মিনিফাই করা আকার
  • সাশ্রয়
  • সাশ্রয় %

বাংলাদেশ ও পশ্চিমবঙ্গের ফ্রন্ট-এন্ড ডেভেলপাররা CSS মিনিফিকেশনকে প্রোডাকশনের অপরিহার্য ধাপ হিসেবে দেখেন। Lighthouse পারফরম্যান্স অডিট কম্প্রেস না করা স্টাইলশিট ফ্ল্যাগ করে। একটি সাধারণ Next.js প্রজেক্টে হাতে লেখা CSS মিনিফাই করলে ২০ থেকে ৪০ শতাংশ পর্যন্ত বাঁচানো সম্ভব — যা Largest Contentful Paint স্কোর উন্নত করে। PostCSS বা cssnano ইনস্টল না করেও এই ব্রাউজার-ভিত্তিক টুলে একটি ট্যাবে CSS পেস্ট করেই একই বাইট-কাউন্ট পাওয়া যায়।

CSS মিনিফিকেশন কীভাবে কাজ করে

মিনিফায়ার আপনার স্টাইলশিটকে একটি স্টেট-অ্যাওয়ার টোকেনাইজার দিয়ে প্রক্রিয়া করে, যা সুরক্ষিত অঞ্চল (স্ট্রিং লিটারেল ও url() মান) এবং এডিট করার উপযোগী হোয়াইটস্পেস আলাদা করে চেনে।

  1. স্ট্রিং ও URL সুরক্ষিত করুন. অন্য যেকোনো রূপান্তরের আগে, টোকেনাইজার প্রতিটি উদ্ধৃত স্ট্রিং ("…" বা '…') এবং প্রতিটি url(…) আর্গুমেন্ট চিহ্নিত করে হুবহু সংরক্ষণ করে। পরবর্তী পাসগুলো এই বাইটগুলো স্পর্শ করে না, তাই স্পেস সহ background-image URL বা বিরাম চিহ্ন সহ content প্রপার্টি হুবহু রক্ষা পায়।
  2. মন্তব্য সরান. /* … */ ব্লকগুলো টগল চালু থাকলে সরানো হয়। লাইসেন্স-কমেন্ট টগলও চালু থাকলে /*! … */ ব্লকগুলো টিকে থাকে, যাতে MIT, Apache ও BSD লাইসেন্স হেডার আউটপুটে থাকে।
  3. হোয়াইটস্পেস সংকুচিত করুন. স্পেস, ট্যাব ও নিউলাইনের প্রতিটি রান একটি স্পেসে সংকুচিত হয়, তারপর CSS স্ট্রাকচারাল অক্ষর {, }, ;, : এবং , এর চারপাশের হোয়াইটস্পেস সম্পূর্ণ মুছে যায়।
  4. মান অপ্টিমাইজ করুন. ঐচ্ছিক পাসে হেক্স কালার কোড ছোট হাতে রূপান্তর করে, 6-ডিজিট হেক্স 3-ডিজিট শর্টহ্যান্ডে সংকুচিত করে (#aabbcc#abc), এবং শূন্য মান থেকে ডাইমেনশন ইউনিট সরিয়ে দেয় (0px0)।
  5. বাইট সাশ্রয় রিপোর্ট করুন. মূল ও মিনিফাই করা টেক্সট উভয়ই new TextEncoder().encode(…).byteLength দিয়ে পরিমাপ করা হয় — একটি CDN বা HTTP সার্ভার যা দেখে সেই একই UTF-8 বাইট কাউন্ট। মেট্রিক স্ট্রিপে মূল আকার, মিনিফাই করা আকার, বাইট সাশ্রয় ও শতাংশ সাশ্রয় দেখানো হয়।

CSS মিনিফাই কেন করবেন

  • দ্রুত রেন্ডার-ব্লকিং লোড. ব্রাউজার CSS পার্স করা শেষ না হওয়া পর্যন্ত একটি পিক্সেলও আঁকে না। স্টাইলশিট ৩০ শতাংশ কমালে সেই ব্লক কমে যায়, First Contentful Paint উন্নত হয়, এবং Lighthouse পারফরম্যান্স স্কোরে সরাসরি প্রভাব পড়ে।
  • কম CDN ইগ্রেস বিল. CloudFront, Cloudflare ও Fastly সবই প্রতি গিগাবাইট ইগ্রেসে চার্জ করে। প্রতিটি পেজ ভিউতে পাঠানো স্টাইলশিট থেকে ২০ শতাংশ ছাঁটলে মাসিক ট্রাফিক কয়েক মিলিয়ন ছাড়ালে ইনভয়েসে বাস্তব পার্থক্য হয়।
  • ছোট এম্বেড ও ইমেইল CSS. ট্রানজেকশনাল ইমেইল টেমপ্লেট Outlook ও Gmail রেন্ডারিং সমস্যা এড়াতে CSS ইনলাইন করে, এবং প্রতিটি অতিরিক্ত বাইট Gmail-এর ১০২ KB ক্লিপ থ্রেশহোল্ডের দিকে ঠেলে দেয়। ইনলাইন করার আগে মিনিফাই করলে বার্তা সীমার মধ্যে থাকে।
  • কোনো বিল্ড-টুল নির্ভরতা নেই. দ্রুত একবারের কাজ, বিল্ড পাইপলাইন ছাড়া লিগেসি রিপো, এবং এয়ার-গ্যাপড পরিবেশে সবসময় Node টুলচেইন থাকে না। PostCSS, cssnano বা অন্য কিছু ইনস্টল না করেই এখানে কাজটি করা যায়।

সাধারণ ব্যবহার

CSS মিনিফিকেশন প্রায় প্রতিটি ফ্রন্ট-এন্ড বিল্ড পাইপলাইনের শেষে এবং বাইট কাউন্ট গুরুত্বপূর্ণ এমন বিভিন্ন রানটাইম প্রসঙ্গে দেখা যায়।

  • প্রোডাকশন বিল্ড পাইপলাইন: Webpack, Vite, Rollup ও Parcel সবাই তাদের প্রোডাকশন মোডে CSS মিনিফিকেশন ধাপ অন্তর্ভুক্ত করে। কমিটের আগে এখানে পাস চালালে সম্পূর্ণ বিল্ড ট্রিগার না করেই আউটপুট যাচাই করা যায়।
  • <style> ট্যাগে CSS এম্বেড করা: সার্ভার-রেন্ডার ফ্রেমওয়ার্ক যা HTML ডকুমেন্টে ক্রিটিক্যাল CSS ইনলাইন করে সেগুলোও একই বাইট সাশ্রয়ের সুবিধা পায়, এবং ছোট ইনলাইন CSS Time to First Byte কমায়।
  • ট্রানজেকশনাল ও মার্কেটিং ইমেইল: ইমেইল HTML সব CSS ইনলাইন করে, তাই স্টাইলশিটের প্রতিটি কিলোবাইট মোট বার্তার আকার বাড়ায়। ইনলাইন করার আগে মিনিফাই করলে বার্তা ESP আকার সীমার মধ্যে থাকে।

একটি কাজের উদাহরণ

দুই-স্পেস ইন্ডেন্টেশন, সিলেক্টরের মধ্যে ফাঁকা লাইন, শীর্ষে লাইসেন্স কমেন্ট ব্লক, এবং #FFFFFFmargin: 0px এর মতো দীর্ঘ হেক্স ও ইউনিট সহ ১ KB রুলসেট পেস্ট করুন। সব অপশন চালু করলে আউটপুট প্রায় ৬০০ বাইটে নেমে আসে — ৪০ শতাংশ সাশ্রয় — এবং রেন্ডার করা পেজ মূলের মতোই দেখায়।

মিনিফিকেশন কি আমার CSS আচরণ পরিবর্তন করে?

না, ডিফল্ট টগলে। মিনিফায়ার শুধুমাত্র সেই বাইটগুলো সরায় যা CSS পার্সার এমনিতেই উপেক্ষা করে — হোয়াইটস্পেস, মন্তব্য, ঐচ্ছিক চূড়ান্ত সেমিকোলন — এবং transform() এর ভেতরে যেখানে ইউনিট গুরুত্বপূর্ণ সেখানে এড়িয়ে যায়। প্রতিটি সিলেক্টর, প্রপার্টি ও মান অক্ষুণ্ণ থাকে।

এটি কি SCSS বা LESS-এর সাথে কাজ করে?

শুধুমাত্র প্লেইন CSS-এ কম্পাইল করার পরে। SCSS ও LESS সিনট্যাক্স (ভেরিয়েবল, নেস্টিং, মিক্সিন, & প্যারেন্ট সিলেক্টর) বৈধ CSS নয় এবং মিনিফায়ার সেগুলো নষ্ট করে দেবে। প্রথমে প্রিপ্রসেসর সোর্স কম্পাইল করুন, তারপর কম্পাইল করা আউটপুট এখানে পেস্ট করুন।

আমার লাইসেন্স মন্তব্য কেন সরানো হচ্ছে?

"মন্তব্য সরান" ডিফল্টে চালু এবং প্রতিটি /* … */ ব্লক পরিষ্কার করে। /*! দিয়ে শুরু হওয়া ব্লক রাখতে "/*! লাইসেন্স মন্তব্য সংরক্ষণ করুন" সক্ষম করুন। MIT, Apache ও BSD সবাই বিতরণ করা CSS-এ কপিরাইট হেডার রাখতে বলে।

কতটুকু সাশ্রয় করতে পারি?

হাতে লেখা CSS সাধারণত ১৫ থেকে ৩৫ শতাংশ কমে। অনেক মন্তব্য বা গভীর ইন্ডেন্টেশন সহ ফাইল ৪০ শতাংশ পর্যন্ত পৌঁছাতে পারে। Sass বা CSS-in-JS থেকে কম্পাইল করা আউটপুট প্রায়ই আংশিক মিনিফাই থাকে এবং কম সাশ্রয় দেয় — সাধারণত ৫ থেকে ১৫ শতাংশ।

ব্রাউজার ট্যাবে CSS মিনিফিকেশন চালালে Node টুলচেইন সম্পূর্ণ এড়ানো যায়। উপরে স্টাইলশিট পেস্ট করুন, পাসটি কতটা আগ্রাসী হবে তা অপশন টগল করে ঠিক করুন, তারপর আউটপুট কপি করুন বা .min.css হিসেবে ডাউনলোড করুন। কোনো আপলোড নেই, কোনো অ্যাকাউন্ট নেই, কোনো ভেন্ডর লাইব্রেরি নেই।