<div class="outer">
<div class="inner">hello world</div>
</div>
.outer {
width: 300px;
height: 300px;
border: 1px solid #999;
}
.inner {
width: 100px;
height: 100px;
border: 1px solid #999;
}
水平垂直居中
- Flex 方案
- Grid 方案
- absolute + transform
- absolute + calc
- absolute + 负 margin
- absolute + margin: auto
- writing-mode
Flex方案
``` / 这里引用复用代码 /
.outer { display: flex; justify-content: center; / 水平居中 / align-items: center; / 垂直居中 / } / 另一种用法/ .outer { display: flex; }
.inner { margin: auto; }
<a name="k2Z6J"></a>
#### Grid 方案
/ 这里引用复用代码 /
.outer { display: grid; }
.inner { justify-self: center; / 水平居中 / align-self: center; / 垂直居中 / } /另一种用法/ .outer { display: grid; }
.inner { margin: auto; }
<a name="Ji3FQ"></a>
#### absolute + transform
.outer { position: relative; }
.inner { position: absolute; left: 50%; top: 50%; transform: translate(-50%, -50%); }
<a name="CIqws"></a>
#### absolute + calc
.outer { position: relative; }
.inner { position: absolute; left: calc(50% - 50px); top: calc(50% - 50px); }
<a name="Rwllm"></a>
#### absolute + 负 margin
.outer { position: relative; }
.inner { position: absolute; left: 50%; top: 50%; margin-left: -50px; margin-top: -50px; }
<a name="ASGNV"></a>
#### absolute + margin:auto
.outer { position: relative; }
.inner { position: absolute; left: 0; right: 0; top: 0; bottom: 0; margin: auto; } ```
writing-mode
writing-mode 可以改变文字显示方向。例如,将文字显示为垂直方向: