Preskoči na glavno vsebino Preskoči na navigacijo po dokumentih
Check
in English

Položaj

Uporabite te skrajšane pripomočke za hitro konfiguriranje položaja elementa.

Vrednosti položaja

Na voljo so tečaji hitrega pozicioniranja, vendar niso odzivni.

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

Razporedite elemente

Enostavno razporedite elemente s pripomočki za pozicioniranje robov. Format je {property}-{position}.

Kadar je lastnina eno od:

  • top- za navpični toppoložaj
  • start- za vodoravni leftpoložaj (v LTR)
  • bottom- za navpični bottompoložaj
  • end- za vodoravni rightpoložaj (v LTR)

Kjer je položaj eden od:

  • 0- za 0robni položaj
  • 50- za 50%robni položaj
  • 100- za 100%robni položaj

(Dodate lahko več vrednosti položaja, tako da dodate vnose v $position-valuesspremenljivko zemljevida 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>

Osrednji elementi

Poleg tega lahko elemente centrirate tudi s pomožnim razredom transformacije .translate-middle.

Ta razred uporablja transformacije translateX(-50%)in translateY(-50%)za element, ki vam v kombinaciji s pripomočki za pozicioniranje robov omogoča absolutno centriranje elementa.

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>

Z dodajanjem .translate-middle-xali .translate-middle-yrazredi lahko elemente pozicioniramo samo v vodoravni ali navpični smeri.

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>

Primeri

Tukaj je nekaj resničnih primerov teh razredov:

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>

Te razrede lahko uporabite z obstoječimi komponentami za ustvarjanje novih. Ne pozabite, da lahko njegovo funkcionalnost razširite z dodajanjem vnosov v $position-valuesspremenljivko.

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

Zemljevidi

Privzete vrednosti pripomočkov za položaj so deklarirane v zemljevidu Sass in nato uporabljene za ustvarjanje naših pripomočkov.

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

API za pripomočke

Pripomočki za položaj so navedeni v našem API-ju za pripomočke v scss/_utilities.scss. Naučite se uporabljati API pripomočkov.

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