মূল বিষয়বস্তুলৈ এৰি যাওক নথিপত্ৰ নেভিগেচনলৈ এৰি যাওক
in English

ইউটিলিটি এপিআই

ইউটিলিটি API হৈছে ইউটিলিটি শ্ৰেণীসমূহ সৃষ্টি কৰিবলৈ এটা Sass-ভিত্তিক সঁজুলি।

বুটষ্ট্ৰেপ সঁজুলিসমূহ আমাৰ সঁজুলি API ৰ সৈতে সৃষ্টি কৰা হয় আৰু Sass ৰ যোগেদি আমাৰ সঁজুলি শ্ৰেণীসমূহৰ অবিকল্পিত গোট পৰিবৰ্তন বা সম্প্ৰসাৰণ কৰিবলে ব্যৱহাৰ কৰিব পাৰি। আমাৰ ইউটিলিটি API বিভিন্ন বিকল্পৰ সৈতে শ্ৰেণীৰ পৰিয়াল সৃষ্টি কৰাৰ বাবে Sass মেপ আৰু ফাংচনসমূহৰ এটা শৃংখলাৰ ওপৰত ভিত্তি কৰি তৈয়াৰ কৰা হৈছে। যদি আপুনি Sass মেপৰ সৈতে অচিনাকি, আৰম্ভ কৰিবলৈ অফিচিয়েল Sass docs ত পঢ়ক।

$utilitiesমেপত আমাৰ সকলো উপযোগীতা আছে আৰু পিছত আপোনাৰ স্বনিৰ্বাচিত মেপৰ সৈতে একত্ৰিত কৰা হয় , $utilitiesযদি উপস্থিত থাকে। সঁজুলি মেপত সঁজুলি গোটসমূহৰ এটা চাবিযুক্ত তালিকা থাকে যি নিম্নলিখিত বিকল্পসমূহ গ্ৰহণ কৰে:

বিকল্প প্ৰকাৰ বিৱৰণ
property প্ৰয়োজনীয় বৈশিষ্ট্যৰ নাম, ই এটা ষ্ট্ৰিং বা ষ্ট্ৰিংসমূহৰ এটা এৰে হ'ব পাৰে (যেনে, অনুভূমিক পেডিংসমূহ বা মাৰ্জিনসমূহ)।
values প্ৰয়োজনীয় মানসমূহৰ তালিকা, বা এটা মেপ যদি আপুনি শ্ৰেণীৰ নাম মানৰ সৈতে একে হোৱাটো নিবিচাৰে। যদি nullমেপ কী হিচাপে ব্যৱহাৰ কৰা হয়, ইয়াক কম্পাইল কৰা নহয়।
class বৈকল্পিক শ্ৰেণীৰ নামৰ বাবে চলক যদি আপুনি ইয়াক বৈশিষ্ট্যৰ সৈতে একে হোৱাটো নিবিচাৰে। যদি আপুনি কি' প্ৰদান নকৰে classআৰু propertyকি' হৈছে ষ্ট্ৰিংৰ এটা এৰে, শ্ৰেণীৰ নাম এৰেৰ প্ৰথম উপাদান হ'ব property
state বৈকল্পিক সঁজুলিৰ বাবে সৃষ্টি কৰিবলগীয়া :hoverবা সৃষ্টি কৰিবলগীয়া ছ্যুডো-শ্ৰেণী ভিন্নতাসমূহৰ তালিকা । :focusকোনো অবিকল্পিত মান নাই।
responsive বৈকল্পিক প্ৰতিক্ৰিয়াশীল শ্ৰেণীসমূহ সৃষ্টি কৰাৰ প্ৰয়োজন আছে নে নাই তাক সূচাই বুলিয়ান। falseঅবিকল্পিতভাৱে।
rfs বৈকল্পিক তৰল পদাৰ্থ পুনৰ স্কেলিং সামৰ্থবান কৰিবলে বুলিয়ান। ই কেনেকৈ কাম কৰে জানিবলৈ RFS পৃষ্ঠাটো চাওক । falseঅবিকল্পিতভাৱে।
print বৈকল্পিক প্ৰিন্ট শ্ৰেণীসমূহ সৃষ্টি কৰাৰ প্ৰয়োজন আছে নে নাই তাক সূচায় বুলিয়ান। falseঅবিকল্পিতভাৱে।
rtl বৈকল্পিক সঁজুলিক RTL ত ৰাখিব লাগে নে নাই তাক সূচাই বুলিয়ান। trueঅবিকল্পিতভাৱে।

API ব্যাখ্যা কৰা হৈছে

$utilitiesআমাৰ _utilities.scssষ্টাইলশ্বীটৰ ভিতৰত থকা ভেৰিয়েবলটোত সকলো ইউটিলিটি ভেৰিয়েবল যোগ কৰা হয় । সঁজুলিসমূহৰ প্ৰতিটো গোট এনেকুৱা কিবা এটা দেখা যায়:

$utilities: (
  "opacity": (
    property: opacity,
    values: (
      0: 0,
      25: .25,
      50: .5,
      75: .75,
      100: 1,
    )
  )
 );

যিয়ে নিম্নলিখিত আউটপুট কৰে:

.opacity-0 { opacity: 0; }
.opacity-25 { opacity: .25; }
.opacity-50 { opacity: .5; }
.opacity-75 { opacity: .75; }
.opacity-100 { opacity: 1; }

স্বনিৰ্বাচিত শ্ৰেণী উপসৰ্গ

classকম্পাইল কৰা CSS ত ব্যৱহৃত শ্ৰেণী উপসৰ্গ সলনি কৰিবলে বিকল্প ব্যৱহাৰ কৰক:

$utilities: (
  "opacity": (
    property: opacity,
    class: o,
    values: (
      0: 0,
      25: .25,
      50: .5,
      75: .75,
      100: 1,
    )
  )
 );

আউটপুট:

.o-0 { opacity: 0; }
.o-25 { opacity: .25; }
.o-50 { opacity: .5; }
.o-75 { opacity: .75; }
.o-100 { opacity: 1; }

ৰাজ্যসমূহ

ছ্যুডো-শ্ৰেণী ভিন্নতা সৃষ্টি কৰিবলে stateবিকল্প ব্যৱহাৰ কৰক। উদাহৰণ ছ্যুডো-ক্লাছসমূহ হ'ল :hoverআৰু :focus. যেতিয়া অৱস্থাসমূহৰ এটা তালিকা প্ৰদান কৰা হয়, সেই ছদ্ম-শ্ৰেণীৰ বাবে শ্ৰেণীনাম সৃষ্টি কৰা হয়। উদাহৰণস্বৰূপ, হোভাৰত অস্পষ্টতা সলনি কৰিবলে, যোগ কৰক state: hoverআৰু আপুনি .opacity-hover:hoverআপোনাৰ কমপাইল কৰা CSS ত পাব।

একাধিক ছ্যুডো-ক্লাছৰ প্ৰয়োজন? অৱস্থাসমূহৰ এটা স্থান-বিভাজিত তালিকা ব্যৱহাৰ কৰক: state: hover focus.

$utilities: (
  "opacity": (
    property: opacity,
    class: opacity,
    state: hover,
    values: (
      0: 0,
      25: .25,
      50: .5,
      75: .75,
      100: 1,
    )
  )
);

আউটপুট:

.opacity-0-hover:hover { opacity: 0 !important; }
.opacity-25-hover:hover { opacity: .25 !important; }
.opacity-50-hover:hover { opacity: .5 !important; }
.opacity-75-hover:hover { opacity: .75 !important; }
.opacity-100-hover:hover { opacity: 1 !important; }

প্ৰতিক্ৰিয়াশীল উপযোগীতাসমূহ

সকলো ব্ৰেকপইন্টতresponsive প্ৰতিক্ৰিয়াশীল সঁজুলিসমূহ সৃষ্টি কৰিবলে বুলিয়ান যোগ কৰক (যেনে, .opacity-md-25) ।

$utilities: (
  "opacity": (
    property: opacity,
    responsive: true,
    values: (
      0: 0,
      25: .25,
      50: .5,
      75: .75,
      100: 1,
    )
  )
 );

আউটপুট:

.opacity-0 { opacity: 0 !important; }
.opacity-25 { opacity: .25 !important; }
.opacity-50 { opacity: .5 !important; }
.opacity-75 { opacity: .75 !important; }
.opacity-100 { opacity: 1 !important; }

@media (min-width: 576px) {
  .opacity-sm-0 { opacity: 0 !important; }
  .opacity-sm-25 { opacity: .25 !important; }
  .opacity-sm-50 { opacity: .5 !important; }
  .opacity-sm-75 { opacity: .75 !important; }
  .opacity-sm-100 { opacity: 1 !important; }
}

@media (min-width: 768px) {
  .opacity-md-0 { opacity: 0 !important; }
  .opacity-md-25 { opacity: .25 !important; }
  .opacity-md-50 { opacity: .5 !important; }
  .opacity-md-75 { opacity: .75 !important; }
  .opacity-md-100 { opacity: 1 !important; }
}

@media (min-width: 992px) {
  .opacity-lg-0 { opacity: 0 !important; }
  .opacity-lg-25 { opacity: .25 !important; }
  .opacity-lg-50 { opacity: .5 !important; }
  .opacity-lg-75 { opacity: .75 !important; }
  .opacity-lg-100 { opacity: 1 !important; }
}

@media (min-width: 1200px) {
  .opacity-xl-0 { opacity: 0 !important; }
  .opacity-xl-25 { opacity: .25 !important; }
  .opacity-xl-50 { opacity: .5 !important; }
  .opacity-xl-75 { opacity: .75 !important; }
  .opacity-xl-100 { opacity: 1 !important; }
}

@media (min-width: 1400px) {
  .opacity-xxl-0 { opacity: 0 !important; }
  .opacity-xxl-25 { opacity: .25 !important; }
  .opacity-xxl-50 { opacity: .5 !important; }
  .opacity-xxl-75 { opacity: .75 !important; }
  .opacity-xxl-100 { opacity: 1 !important; }
}

উপযোগীতাসমূহ সলনি কৰা

একেটা কি' ব্যৱহাৰ কৰি বৰ্ত্তমানৰ সঁজুলিসমূহ অভাৰৰাইড কৰক। উদাহৰণস্বৰূপ, যদি আপুনি অতিৰিক্ত প্ৰতিক্ৰিয়াশীল অভাৰফ্ল' সঁজুলি শ্ৰেণীসমূহ বিচাৰে, আপুনি এইটো কৰিব পাৰে:

$utilities: (
  "overflow": (
    responsive: true,
    property: overflow,
    values: visible hidden scroll auto,
  ),
);

printবিকল্প সামৰ্থবান কৰিলে প্ৰিন্টৰ বাবে সঁজুলি শ্ৰেণীসমূহো সৃষ্টি হ'ব , যি কেৱল @media print { ... }মাধ্যম প্ৰশ্নৰ ভিতৰত প্ৰয়োগ কৰা হয়।

$utilities: (
  "opacity": (
    property: opacity,
    print: true,
    values: (
      0: 0,
      25: .25,
      50: .5,
      75: .75,
      100: 1,
    )
  )
 );

আউটপুট:

.opacity-0 { opacity: 0 !important; }
.opacity-25 { opacity: .25 !important; }
.opacity-50 { opacity: .5 !important; }
.opacity-75 { opacity: .75 !important; }
.opacity-100 { opacity: 1 !important; }

@media print {
  .opacity-print-0 { opacity: 0 !important; }
  .opacity-print-25 { opacity: .25 !important; }
  .opacity-print-50 { opacity: .5 !important; }
  .opacity-print-75 { opacity: .75 !important; }
  .opacity-print-100 { opacity: 1 !important; }
}

গুৰুত্ব

API দ্বাৰা সৃষ্টি কৰা সকলো সঁজুলিয়ে অন্তৰ্ভুক্ত !importantকৰে যাতে সিহঁতে উদ্দেশ্য কৰা ধৰণে উপাদানসমূহ আৰু পৰিবৰ্তক শ্ৰেণীসমূহ অভাৰৰাইড কৰে সুনিশ্চিত কৰিবলে। আপুনি এই সংহতি গোলকীয়ভাৱে $enable-important-utilitiesচলকটোৰ সৈতে টগল কৰিব পাৰে (অবিকল্পিতভাৱে true) ।

API ব্যৱহাৰ কৰি

এতিয়া যেতিয়া আপুনি সঁজুলিসমূহ API কেনেকৈ কাম কৰে তাৰ সৈতে পৰিচিত, আপোনাৰ নিজৰ স্বনিৰ্বাচিত শ্ৰেণীসমূহ কেনেকৈ যোগ কৰিব লাগে আৰু আমাৰ অবিকল্পিত সঁজুলিসমূহ পৰিবৰ্তন কৰিব লাগে শিকিব।

উপযোগীতাসমূহ যোগ কৰক

$utilitiesনতুন সঁজুলিসমূহক অবিকল্পিত মেপত যোগ কৰিব পাৰি এটা map-merge. আমাৰ প্ৰয়োজনীয় Sass নথিপত্ৰসমূহ নিশ্চিত কৰক আৰু _utilities.scssপ্ৰথমে আমদানি কৰা হৈছে, তাৰ পিছত map-mergeআপোনাৰ অতিৰিক্ত সঁজুলিসমূহ যোগ কৰিবলৈ ব্যৱহাৰ কৰক। উদাহৰণস্বৰূপে, ইয়াত cursorতিনিটা মানৰ সৈতে এটা প্ৰতিক্ৰিয়াশীল সঁজুলি কেনেকৈ যোগ কৰিব পাৰি তাক দেখুওৱা হৈছে।

@import "bootstrap/scss/functions";
@import "bootstrap/scss/variables";
@import "bootstrap/scss/utilities";

$utilities: map-merge(
  $utilities,
  (
    "cursor": (
      property: cursor,
      class: cursor,
      responsive: true,
      values: auto pointer grab,
    )
  )
);

সঁজুলিসমূহ পৰিবৰ্তন কৰক

অবিকল্পিত $utilitiesমেপত থকা সঁজুলিসমূহ map-getআৰু map-mergeফলনসমূহৰ সৈতে পৰিবৰ্তন কৰক। তলৰ উদাহৰণত, আমি widthসঁজুলিসমূহত এটা অতিৰিক্ত মান যোগ কৰিছো। এটা আৰম্ভণিৰে আৰম্ভ কৰক map-mergeআৰু তাৰ পিছত আপুনি কোনটো সঁজুলি পৰিবৰ্তন কৰিব বিচাৰে ধাৰ্য্য কৰক। তাৰ পৰা, সঁজুলিৰ বিকল্পসমূহ আৰু মানসমূহ অভিগম আৰু পৰিবৰ্তন কৰিবলে নেষ্টেড "width"মেপটো আনিব।map-get

@import "bootstrap/scss/functions";
@import "bootstrap/scss/variables";
@import "bootstrap/scss/utilities";

$utilities: map-merge(
  $utilities,
  (
    "width": map-merge(
      map-get($utilities, "width"),
      (
        values: map-merge(
          map-get(map-get($utilities, "width"), "values"),
          (10: 10%),
        ),
      ),
    ),
  )
);

প্ৰতিক্ৰিয়াশীল সক্ষম কৰক

আপুনি এটা বৰ্ত্তমানৰ সঁজুলিসমূহৰ গোটৰ বাবে প্ৰতিক্ৰিয়াশীল শ্ৰেণীসমূহ সামৰ্থবান কৰিব পাৰে যি বৰ্তমানে অবিকল্পিতভাৱে সঁহাৰিজনক নহয়। উদাহৰণস্বৰূপে, borderশ্ৰেণীসমূহক সঁহাৰিজনক কৰিবলৈ:

@import "bootstrap/scss/functions";
@import "bootstrap/scss/variables";
@import "bootstrap/scss/utilities";

$utilities: map-merge(
  $utilities, (
    "border": map-merge(
      map-get($utilities, "border"),
      ( responsive: true ),
    ),
  )
);

ই এতিয়া প্ৰতিটো ব্ৰেকপইণ্টৰ .borderআৰু তাৰ বাবে প্ৰতিক্ৰিয়াশীল তাৰতম্য সৃষ্টি কৰিব। .border-0আপোনাৰ সৃষ্টি কৰা CSS এনেকুৱা হ'ব:

.border { ... }
.border-0 { ... }

@media (min-width: 576px) {
  .border-sm { ... }
  .border-sm-0 { ... }
}

@media (min-width: 768px) {
  .border-md { ... }
  .border-md-0 { ... }
}

@media (min-width: 992px) {
  .border-lg { ... }
  .border-lg-0 { ... }
}

@media (min-width: 1200px) {
  .border-xl { ... }
  .border-xl-0 { ... }
}

@media (min-width: 1400px) {
  .border-xxl { ... }
  .border-xxl-0 { ... }
}

সঁজুলিসমূহৰ নাম সলনি কৰক

v4 সঁজুলিসমূহ অনুপস্থিত, বা অন্য নামকৰণ নিয়মৰ সৈতে অভ্যস্ত? সঁজুলিসমূহ API ব্যৱহাৰ কৰিব পাৰি classএটা প্ৰদত্ত সঁজুলিৰ ফলাফল অভাৰৰাইড কৰিবলে—উদাহৰণস্বৰূপ, .ms-*সঁজুলিসমূহক পুৰণিলৈ পুনৰনামকৰণ কৰিবলে .ml-*:

@import "bootstrap/scss/functions";
@import "bootstrap/scss/variables";
@import "bootstrap/scss/utilities";

$utilities: map-merge(
  $utilities, (
    "margin-start": map-merge(
      map-get($utilities, "margin-start"),
      ( class: ml ),
    ),
  )
);

উপযোগীতাসমূহ আঁতৰাওক

গোট চাবি সংহতি কৰি যিকোনো অবিকল্পিত সঁজুলি আঁতৰাওক null। উদাহৰণস্বৰূপে, আমাৰ সকলো widthইউটিলিটি আঁতৰাবলৈ, a সৃষ্টি $utilities map-mergeকৰক আৰু ভিতৰত যোগ কৰক "width": null

@import "bootstrap/scss/functions";
@import "bootstrap/scss/variables";
@import "bootstrap/scss/utilities";

$utilities: map-merge(
  $utilities,
  (
    "width": null
  )
);

RTL ত সঁজুলি আঁতৰাওক

কিছুমান এজ কেছে RTL ষ্টাইলিং কঠিন কৰি তোলে , যেনে আৰবীত লাইন ব্ৰেক। এইদৰে সঁজুলিসমূহক RTL আউটপুটৰ পৰা বাদ দিব পাৰি rtlবিকল্পটো false:

$utilities: (
  "word-wrap": (
    property: word-wrap word-break,
    class: text,
    values: (break: break-word),
    rtl: false
  ),
);

আউটপুট:

/* rtl:begin:remove */
.text-break {
  word-wrap: break-word !important;
  word-break: break-word !important;
}
/* rtl:end:remove */

ই RTL ত একো আউটপুট নকৰে, RTLCSS removeনিয়ন্ত্ৰণ নিৰ্দেশনাৰ বাবে ধন্যবাদ ।