@for, @each, এবং @while এর মাধ্যমে লুপ তৈরি করা

Sass Control Directives - সাস (Sass) - Web Development

296

Sass এর ভূমিকা

Sass (Syntactically Awesome Stylesheets) হল একটি CSS প্রিপ্রসেসর যা CSS এর লেখার প্রক্রিয়াকে আরও উন্নত, শক্তিশালী এবং সুবিধাজনক করে তোলে। এটি মেইনটেইনেবল স্টাইলশিট তৈরি করতে সহায়তা করে এবং CSS এর মৌলিক সীমাবদ্ধতাগুলি কাটিয়ে ওঠে।

Sass-এ লুপ, কন্ডিশনাল স্টেটমেন্টস, ভ্যারিয়েবলস, মিক্সিনস এবং ইনহেরিটেন্সের মতো ফিচার রয়েছে, যা আপনাকে আরও পোর্টেবল এবং ডাইনামিক CSS তৈরি করতে সহায়তা করে। এর মধ্যে @for, @each, এবং @while হল লুপ তৈরির জন্য ব্যবহৃত বিশেষ ডিরেকটিভ, যা CSS কোড লেখাকে আরও সোজা এবং ছোট করে তোলে।


১. @for লুপ

@for ডিরেকটিভটি একটি নির্দিষ্ট সংখ্যক পুনরাবৃত্তি (iteration) সম্পন্ন করার জন্য ব্যবহৃত হয়। আপনি একটি শর্ত নির্ধারণ করে এটি ব্যবহার করতে পারেন, যা নির্দিষ্ট রেঞ্জের মধ্যে মানের উপর ভিত্তি করে কোড তৈরি করবে।

সিনট্যাক্স:

@for $i from <start> through <end> {
  // কোড ব্লক
}

উদাহরণ:

ধরা যাক, আপনি ১০টি কলামের স্টাইল তৈরি করতে চান যেখানে প্রতিটি কলামের প্রস্থ ১০px বাড়বে।

@for $i from 1 through 10 {
  .col-#{$i} {
    width: 10px * $i;
  }
}

এখানে, @for ১ থেকে ১০ পর্যন্ত লুপ চালাবে এবং .col-1, .col-2, ... .col-10 ক্লাস তৈরি করবে, যেখানে প্রত্যেকের প্রস্থ ১০px বৃদ্ধি পাবে।


২. @each লুপ

@each ডিরেকটিভটি একটি তালিকা বা ম্যাপের উপর লুপ চালানোর জন্য ব্যবহৃত হয়। এটি একটি এলিমেন্টকে অ্যারে বা ম্যাপ থেকে একে একে বের করে এনে, তার উপর নির্দিষ্ট কাজ করতে সহায়তা করে।

সিনট্যাক্স:

@each $variable in $list {
  // কোড ব্লক
}

উদাহরণ:

ধরা যাক, আপনি একটি কালার প্যালেটের জন্য ক্লাস তৈরি করতে চান।

$colors: red, blue, green, yellow;

@each $color in $colors {
  .bg-#{$color} {
    background-color: $color;
  }
}

এখানে, @each ডিরেকটিভটি $colors অ্যারের প্রতিটি উপাদানের জন্য একটি CSS ক্লাস তৈরি করবে। এই কোডটি .bg-red, .bg-blue, .bg-green, এবং .bg-yellow ক্লাস তৈরি করবে, এবং তাদের ব্যাকগ্রাউন্ড কালার সেই অনুযায়ী অ্যাসাইন করবে।


৩. @while লুপ

@while ডিরেকটিভটি একটি শর্তের উপর ভিত্তি করে লুপ চালানোর জন্য ব্যবহৃত হয়। এটি যতক্ষণ না শর্ত পূর্ণ হয় ততক্ষণ পর্যন্ত কোডটি পুনরায় এক্সিকিউট করবে।

সিনট্যাক্স:

@while <condition> {
  // কোড ব্লক
}

উদাহরণ:

ধরা যাক, আপনি ১০ থেকে ১ পর্যন্ত সংখ্যা হিসেব করে একটি ক্লাস তৈরি করতে চান।

$i: 10;

@while $i > 0 {
  .item-#{$i} {
    width: $i * 10px;
  }
  $i: $i - 1;
}

এখানে, @while ডিরেকটিভটি $i ১০ থেকে শুরু হয়ে ১ পর্যন্ত চলবে এবং .item-10, .item-9, ... .item-1 ক্লাস তৈরি করবে, যেখানে প্রতিটি ক্লাসের প্রস্থ $i * 10px এর সমান হবে।


লুপের মাধ্যমে ডায়নামিক CSS তৈরি করা

Sass-এ লুপ ব্যবহার করলে আপনি ডায়নামিক CSS তৈরি করতে পারেন, যা কোডের পুনরাবৃত্তি কমায় এবং মেইনটেনেবল স্টাইলশিট তৈরি করতে সাহায্য করে। নিচে কিছু গুরুত্বপূর্ণ বিষয় আলোচনা করা হলো:

  1. কোড রিইউজযোগ্যতা: লুপের মাধ্যমে আপনি একাধিক উপাদান এবং শর্ত অনুসারে স্টাইল তৈরি করতে পারবেন, যা কোড রিইউজযোগ্যতা বৃদ্ধি করে।
  2. কমপ্লেক্স ডিজাইন সহজ করা: বড় এবং জটিল ডিজাইন কম কোডে তৈরি করতে সাহায্য করে।
  3. ডায়নামিক ডিজাইন: লুপ ব্যবহার করে, আপনি ডায়নামিকভাবে ডিজাইন তৈরি করতে পারবেন, যেমন ভ্যারিয়েবল সাইজের গ্রিড, রঙের স্কিম, স্পেসিং ইত্যাদি।

সারাংশ

Sass-এর @for, @each, এবং @while ডিরেকটিভগুলি লুপ তৈরির জন্য ব্যবহৃত হয়, যা CSS কোড লেখার প্রক্রিয়াকে সহজ এবং কার্যকরী করে তোলে। এই লুপগুলির মাধ্যমে আপনি ডায়নামিকভাবে CSS তৈরি করতে পারেন, যা আপনার কোডের পুনরাবৃত্তি কমায় এবং মেইনটেনযোগ্যতা বৃদ্ধি করে। আপনার ডিজাইন এবং স্টাইলশিটের সুষ্ঠু এবং কার্যকরীভাবে তৈরি করতে Sass-এর লুপগুলো অত্যন্ত সহায়ক।

Content added By
Promotion

Are you sure to start over?

Loading...