JSFiddle - React, Tailwind, and code Playground

by Tinh Nguyen Nhu

HTML

<!-- Căn giữa -->
<h1>Cách 1: position absolute và transform translate 50%</h1>
<div class="div1">
  <div class="div2"></div>
</div>
<h4>CSS:</h4>
<pre>
  .div1 {
    display: block;
    position: relative;
    width: 400px;
    height: 400px;
    background: #000;
  }

  .div2 {
    display: block;
    position: absolute;
    left: 50%;
    top: 50%;
    right: auto;
    bottom: auto;
    -webkit-transform: translate(-50%, -50%);
    -moz-transform: translate(-50%, -50%);
    -ms-transform: translate(-50%, -50%);
    -o-transform: translate(-50%, -50%);
    transform: translate(-50%, -50%);
    width: 300px;
    height: 300px;
    background: #68FE9A;
  }
</pre>


<h1>Cách 2: display table và margin-left auto, margin-right auto</h1>
<div class="div3">
  <div class="div4">
    <div class="box"></div>
  </div>
</div>

<h4>CSS:</h4>
<pre>
  .div3 {
    display: table;
    table-layout: fixed;
    border-collapse: collapse;
  }

  .div4 {
    display: table-cell;
    vertical-align: middle;
    width: 400px;
    height: 400px;
    background: #000;
  }

  .box {
    display: block;
    width: 300px;
    height: 300px;
    background: #68FE9A;
    margin-left: auto;
    margin-right: auto;
  }
</pre>

CSS

/* Căn giữa */
.div1 {
  display: block;
  position: relative;
  width: 400px;
  height: 400px;
  background: #000;
}

.div2 {
  display: block;
  position: absolute;
  left: 50%;
  top: 50%;
  right: auto;
  bottom: auto;
  -webkit-transform: translate(-50%, -50%);
  -moz-transform: translate(-50%, -50%);
  -ms-transform: translate(-50%, -50%);
  -o-transform: translate(-50%, -50%);
  transform: translate(-50%, -50%);
  width: 300px;
  height: 300px;
  background: #68FE9A;
}

.div3 {
  display: table;
  table-layout: fixed;
  border-collapse: collapse;
}

.div4 {
  display: table-cell;
  vertical-align: middle;
  width: 400px;
  height: 400px;
  background: #000;
}

.box {
  display: block;
  width: 300px;
  height: 300px;
  background: #68FE9A;
  margin-left: auto;
  margin-right: auto;
}