Skip to content

居中

测试示例

html
<div class='parent'>
  <div class='child'></div>
</div>
<div class='parent'>
  <div class='child'></div>
</div>
css
.parent {
  width: 200px;
  height: 100px;
  background: red;
}

.child {
  width: 20px;
  height: 20px;
  background: yellow;
}
.parent {
  width: 200px;
  height: 100px;
  background: red;
}

.child {
  width: 20px;
  height: 20px;
  background: yellow;
}

水平居中

  • 方案1
css
.child {
  margin: 0 auto;
}
.child {
  margin: 0 auto;
}
  • 方案2
css
.parent{
  text-align:center;
}

.child{
  display:inline-block;
}
.parent{
  text-align:center;
}

.child{
  display:inline-block;
}
  • 方案3
css
.parent{
  position:relative;
}

.child{
  position:absolute;
  left:50%;
  transform:translateX(-50%)
}
.parent{
  position:relative;
}

.child{
  position:absolute;
  left:50%;
  transform:translateX(-50%)
}
  • 方案4
css
.parent{
  display:flex;
  justify-content:center;
}
.parent{
  display:flex;
  justify-content:center;
}

垂直居中

  • 方法1
css
.parent {
  position: relative;
}
.child {
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
}
.parent {
  position: relative;
}
.child {
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
}
  • 方法2
css
.parent {
  display:flex;
  align-items:center;
}
.parent {
  display:flex;
  align-items:center;
}

水平垂直居中

  • 方案1
css
.parent {
  display: flex;
  justify-content: center;
  align-items: center;
}
.parent {
  display: flex;
  justify-content: center;
  align-items: center;
}
  • 方案2
css
.parent {
  position: relative;
}
.child {
  position: absolute;
  left: 50%;
  top: 50%;
  transform: translate(-50%, -50%);
}
.parent {
  position: relative;
}
.child {
  position: absolute;
  left: 50%;
  top: 50%;
  transform: translate(-50%, -50%);
}

更新于: