Skip to main content Skip to docs navigation
View on GitHub

Position位置

Use these shorthand utilities for quickly configuring the position of an element.使用这些速记实用程序快速配置元素的位置。

Position values位置值

Quick positioning classes are available, though they are not responsive.快速定位课程是可用的,尽管它们没有响应能力。

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

Arrange elements排列元素

Arrange elements easily with the edge positioning utilities. 使用边缘定位实用程序轻松排列元素。The format is {property}-{position}.格式为{property}-{position}

Where property is one of:如果property是以下之一:

  • top - for the vertical top position用于垂直top位置
  • start - for the horizontal left position (in LTR)用于水平left位置(LTR)
  • bottom - for the vertical bottom position用于垂直bottom位置
  • end - for the horizontal right position (in LTR)用于水平right位置(LTR)

Where position is one of:其中position为:

  • 0 - for 0 edge position用于0边缘位置
  • 50 - for 50% edge position用于50%边缘位置
  • 100 - for 100% edge position用于100%边缘位置

(You can add more position values by adding entries to the $position-values Sass map variable.)(您可以通过向$position-values-Sass映射变量添加条目来添加更多位置值。)

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

Center elements中心元素

In addition, you can also center the elements with the transform utility class .translate-middle.此外,还可以使用转换工具类.translate-middle将元素居中。

This class applies the transformations translateX(-50%) and translateY(-50%) to the element which, in combination with the edge positioning utilities, allows you to absolute center an element.该类将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>

By adding .translate-middle-x or .translate-middle-y classes, elements can be positioned only in horizontal or vertical direction.通过添加.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>

Examples示例

Here are some real life examples of these classes:下面是这些类的一些真实例子:

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

You can use these classes with existing components to create new ones. 您可以将这些类与现有组件一起使用来创建新组件。Remember that you can extend its functionality by adding entries to the $position-values variable.请记住,您可以通过向$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

Maps

Default position utility values are declared in a Sass map, then used to generate our utilities.默认位置实用程序值在Sass映射中声明,然后用于生成实用程序。

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

Utilities API实用程序API

Position utilities are declared in our utilities API in scss/_utilities.scss. 位置实用程序在scss/_utilities.scss中的实用程序API中声明。Learn how to use the utilities API.了解如何使用实用程序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%),
)
),