Asosiy tarkibga o'tish Hujjatlar navigatsiyasiga oʻtish
Check
in English

Lavozim

Elementning o'rnini tezda sozlash uchun ushbu stenok yordam dasturlaridan foydalaning.

Lavozim qiymatlari

Tez joylashishni aniqlash darslari mavjud, ammo ular javob bermaydi.

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

Elementlarni tartibga solish

Elementlarni chekka joylashishni aniqlash vositalari yordamida osongina joylashtiring. Format bu {property}-{position}.

Bu erda mulk quyidagilardan biri hisoblanadi:

  • top- vertikal topholat uchun
  • start- gorizontal leftholat uchun (LTR da)
  • bottom- vertikal bottomholat uchun
  • end- gorizontal rightholat uchun (LTR da)

Bu erda pozitsiya quyidagilardan biri:

  • 0- 0chekka holati uchun
  • 50- 50%chekka holati uchun
  • 100- 100%chekka holati uchun

$position-values( Sass xaritasi oʻzgaruvchisiga yozuvlar qoʻshish orqali koʻproq joylashuv qiymatlarini qoʻshishingiz mumkin .)

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>

Markaziy elementlar

Bundan tashqari, siz elementlarni transform yordam klassi bilan markazlashtirishingiz mumkin .translate-middle.

Bu klass o'zgarishlarni translateX(-50%)va translateY(-50%)elementga nisbatan qo'llaniladi, ular chekka joylashishni aniqlash yordamchi dasturlari bilan birgalikda elementni mutlaq markazlashtirishga imkon beradi.

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>

Sinflarni qo'shish orqali elementlarni faqat gorizontal yoki vertikal yo'nalishda joylashtirish mumkin .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>

Misollar

Mana bu sinflarning bir nechta real hayotiy misollari:

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>

Ushbu sinflarni mavjud komponentlar bilan yangilarini yaratish uchun ishlatishingiz mumkin. $position-valuesEsda tutingki, siz o'zgaruvchiga yozuvlar qo'shish orqali uning funksiyasini kengaytirishingiz mumkin .

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

Xaritalar

Standart joylashuv yordam dasturi qiymatlari Sass xaritasida e'lon qilinadi, so'ngra utilitalarimizni yaratish uchun ishlatiladi.

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

Utilities API

Position utilities bizning yordam dasturlarimiz API da e'lon qilingan scss/_utilities.scss. API yordam dasturlarini qanday ishlatishni bilib oling.

    "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%),
      )
    ),