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