رفتن به محتوای اصلی به پیمایش اسناد بروید
Check
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 می توانید مقادیر موقعیت بیشتری را اضافه کنید .)

html
<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 در مرکز قرار دهید .translate-middle.

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

html
<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کلاس ها، عناصر را می توان فقط در جهت افقی یا عمودی قرار داد.

html
<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>

مثال ها

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

html
<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" 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متغیر گسترش دهید.

html
<div class="position-relative m-4">
  <div class="progress" style="height: 1px;">
    <div class="progress-bar" role="progressbar" aria-label="Progress" 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%),
      )
    ),