Прескокнете до главната содржина Прескокнете на навигацијата со документи
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}.

Каде имотот е еден од:

  • top- за вертикалната topположба
  • start- за хоризонтална leftположба (во LTR)
  • bottom- за вертикалната bottomположба
  • end- за хоризонтална rightположба (во LTR)

Каде што позицијата е една од:

  • 0- за 0позиција на работ
  • 50- за 50%позиција на работ
  • 100- за 100%позиција на работ

(Можете да додадете повеќе вредности за позицијата со додавање записи во $position-valuesпроменливата на картата Sass.)

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>

Централни елементи

Дополнително, можете да ги центрирате елементите и со класата за помошна трансформација .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

Позиционите алатки се декларирани во нашите Utilities 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%),
      )
    ),