inset-block

Baseline Widely available *

This feature is well established and works across many devices and browser versions. It’s been available across browsers since September 2021.

* Some parts of this feature may have varying levels of support.

CSS 属性 inset-block 定义了元素的逻辑块首和块末偏移,并根据元素的书写模式、行内方向和文本朝向对应至实体偏移。根据 writing-modedirectiontext-orientation 所定义的值,此属性对应于 topbottom,或者 rightleft 属性。

尝试一下

inset-block: 10px 20px;
writing-mode: horizontal-tb;
inset-block: 20px 40px;
writing-mode: vertical-rl;
inset-block: 5% 20%;
writing-mode: horizontal-tb;
inset-block: 1rem auto;
writing-mode: vertical-lr;
<section id="default-example">
  <div class="example-container">
    <div id="example-element">I am absolutely positioned.</div>
    <p>
      As much mud in the streets as if the waters had but newly retired from the
      face of the earth, and it would not be wonderful to meet a Megalosaurus,
      forty feet long or so, waddling like an elephantine lizard up Holborn
      Hill.
    </p>
  </div>
</section>
.example-container {
  border: 0.75em solid #ad1457;
  padding: 0.75em;
  text-align: left;
  position: relative;
  width: 100%;
  min-height: 200px;
}

#example-element {
  background-color: #07136c;
  border: 6px solid #ffa000;
  color: white;
  position: absolute;
  inset: 0;
}

属性构成

此属性为下列 CSS 属性的简写属性:

语法

css
/* 长度值 */
inset-block: 3px 10px;
inset-block: 2.4em 3em;
inset-block: 10px; /* 应用于块首和块末 */

/* 包含块的宽度或高度的百分比 */
inset-block: 10% 5%;

/* 关键词值 */
inset-block: auto;

/* 全局值 */
inset-block: inherit;
inset-block: initial;
inset-block: revert;
inset-block: revert-layer;
inset-block: unset;

取值

inset-block 属性的取值与 left 属性相同。

形式定义

初始值该简写所对应的每个属性:
适用元素positioned elements
是否是继承属性
Percentageslogical-height of containing block
计算值该简写所对应的每个属性:
动画类型a length, percentage or calc();

形式语法

inset-block = 
<'top'>{1,2}

<top> =
auto |
<length-percentage> |
<anchor()> |
<anchor-size()>

<length-percentage> =
<length> |
<percentage>

<anchor()> =
anchor( <anchor-name>? &&
<anchor-side> , <length-percentage>? )

<anchor-size()> =
anchor-size( [ <anchor-name> || <anchor-size> ]? , <length-percentage>? )

<anchor-name> =
<dashed-ident>

<anchor-side> =
inside |
outside |
top |
left |
right |
bottom |
start |
end |
self-start |
self-end |
<percentage> |
center

<anchor-size> =
width |
height |
block |
inline |
self-block |
self-inline

示例

设置块首和块末偏移

HTML

html
<div>
  <p class="exampleText">示例文本</p>
</div>

CSS

css
div {
  background-color: yellow;
  width: 120px;
  height: 120px;
}

.exampleText {
  writing-mode: vertical-lr;
  position: relative;
  inset-block: 20px 50px;
  background-color: #c8c800;
}

结果

规范

Specification
CSS Logical Properties and Values Level 1
# propdef-inset-block
CSS Positioned Layout Module Level 3
# propdef-inset-block

浏览器兼容性

参见