رفتن به محتوای اصلی به پیمایش اسناد بروید
in English

موقعیت

از این ابزارهای مختصر برای پیکربندی سریع موقعیت یک عنصر استفاده کنید.

ارزش های موقعیت

کلاس های موقعیت یابی سریع در دسترس هستند، اگرچه پاسخگو نیستند.

<div class="position-static">...</div>
<div class="position-relative">...</div>
<div class="position-absolute">...</div>
<div class="position-fixed">...</div>
<div class="position-sticky">...</div>

عناصر را مرتب کنید

با ابزارهای موقعیت یابی لبه، عناصر را به راحتی مرتب کنید. فرمت است {property}-{position}.

جایی که ملک یکی از موارد زیر است:

  • toptop- برای موقعیت عمودی
  • start- برای موقعیت افقی left(در LTR)
  • bottombottom- برای موقعیت عمودی
  • end- برای موقعیت افقی right(در LTR)

جایی که موقعیت یکی از موارد زیر است:

  • 0- برای 0موقعیت لبه
  • 50- برای 50%موقعیت لبه
  • 100- برای 100%موقعیت لبه

(می توانید با افزودن ورودی به $position-valuesمتغیر Sass map مقادیر موقعیت بیشتری اضافه کنید.)

<div class="position-relative">
  <div class="position-absolute top-0 start-0"></div>
  <div class="position-absolute top-0 end-0"></div>
  <div class="position-absolute top-50 start-50"></div>
  <div class="position-absolute bottom-50 end-50"></div>
  <div class="position-absolute bottom-0 start-0"></div>
  <div class="position-absolute bottom-0 end-0"></div>
</div>

عناصر مرکزی

علاوه بر این، می‌توانید عناصر را با کلاس transform utility مرکز کنید .translate-middle.

این کلاس تبدیل translateX(-50%)ها و translateY(-50%)عنصری را اعمال می کند که در ترکیب با ابزارهای موقعیت یاب لبه، به شما امکان می دهد یک عنصر را در مرکز مطلق قرار دهید.

<div class="position-relative">
  <div class="position-absolute top-0 start-0 translate-middle"></div>
  <div class="position-absolute top-0 start-50 translate-middle"></div>
  <div class="position-absolute top-0 start-100 translate-middle"></div>
  <div class="position-absolute top-50 start-0 translate-middle"></div>
  <div class="position-absolute top-50 start-50 translate-middle"></div>
  <div class="position-absolute top-50 start-100 translate-middle"></div>
  <div class="position-absolute top-100 start-0 translate-middle"></div>
  <div class="position-absolute top-100 start-50 translate-middle"></div>
  <div class="position-absolute top-100 start-100 translate-middle"></div>
</div>

با اضافه کردن .translate-middle-xیا .translate-middle-yکلاس ها، عناصر را می توان فقط در جهت افقی یا عمودی قرار داد.

<div class="position-relative">
  <div class="position-absolute top-0 start-0"></div>
  <div class="position-absolute top-0 start-50 translate-middle-x"></div>
  <div class="position-absolute top-0 end-0"></div>
  <div class="position-absolute top-50 start-0 translate-middle-y"></div>
  <div class="position-absolute top-50 start-50 translate-middle"></div>
  <div class="position-absolute top-50 end-0 translate-middle-y"></div>
  <div class="position-absolute bottom-0 start-0"></div>
  <div class="position-absolute bottom-0 start-50 translate-middle-x"></div>
  <div class="position-absolute bottom-0 end-0"></div>
</div>

مثال ها

در اینجا چند نمونه واقعی از این کلاس ها آورده شده است:

<button type="button" class="btn btn-primary position-relative">
  Mails <span class="position-absolute top-0 start-100 translate-middle badge rounded-pill bg-secondary">+99 <span class="visually-hidden">unread messages</span></span>
</button>

<button type="button" class="btn btn-dark position-relative">
  Marker <svg width="1em" height="1em" viewBox="0 0 16 16" class="position-absolute top-100 start-50 translate-middle mt-1 bi bi-caret-down-fill" fill="#212529" xmlns="http://www.w3.org/2000/svg"><path d="M7.247 11.14L2.451 5.658C1.885 5.013 2.345 4 3.204 4h9.592a1 1 0 0 1 .753 1.659l-4.796 5.48a1 1 0 0 1-1.506 0z"/></svg>
</button>

<button type="button" class="btn btn-primary position-relative">
  Alerts <span class="position-absolute top-0 start-100 translate-middle badge border border-light rounded-circle bg-danger p-2"><span class="visually-hidden">unread messages</span></span>
</button>

می توانید از این کلاس ها با اجزای موجود برای ایجاد کلاس های جدید استفاده کنید. به یاد داشته باشید که می توانید عملکرد آن را با افزودن ورودی به $position-valuesمتغیر گسترش دهید.

<div class="position-relative m-4">
  <div class="progress" style="height: 1px;">
    <div class="progress-bar" role="progressbar" style="width: 50%;" aria-valuenow="50" aria-valuemin="0" aria-valuemax="100"></div>
  </div>
  <button type="button" class="position-absolute top-0 start-0 translate-middle btn btn-sm btn-primary rounded-pill" style="width: 2rem; height:2rem;">1</button>
  <button type="button" class="position-absolute top-0 start-50 translate-middle btn btn-sm btn-primary rounded-pill" style="width: 2rem; height:2rem;">2</button>
  <button type="button" class="position-absolute top-0 start-100 translate-middle btn btn-sm btn-secondary rounded-pill" style="width: 2rem; height:2rem;">3</button>
</div>

ساس

نقشه ها

مقادیر ابزار موقعیت پیش‌فرض در نقشه Sass اعلام می‌شوند، سپس برای تولید برنامه‌های ما استفاده می‌شوند.

$position-values: (
  0: 0,
  50: 50%,
  100: 100%
);

Utilities API

ابزارهای موقعیت در API ابزارهای ما در اعلان شده اند scss/_utilities.scss. با نحوه استفاده از Utilities API آشنا شوید.

    "position": (
      property: position,
      values: static relative absolute fixed sticky
    ),
    "top": (
      property: top,
      values: $position-values
    ),
    "bottom": (
      property: bottom,
      values: $position-values
    ),
    "start": (
      property: left,
      class: start,
      values: $position-values
    ),
    "end": (
      property: right,
      class: end,
      values: $position-values
    ),
    "translate-middle": (
      property: transform,
      class: translate-middle,
      values: (
        null: translate(-50%, -50%),
        x: translateX(-50%),
        y: translateY(-50%),
      )
    ),