flex
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8" />
<meta http-equiv="X-UA-Compatible" content="IE=edge" />
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
<title>flex</title>
<style>
.parent {
height: 100vh;
display: flex;
justify-content: center;
align-items: center;
}
</style>
</head>
<body>
<div class="parent">
<div class="child">hello world</div>
</div>
</body>
</html>
grid
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8" />
<meta http-equiv="X-UA-Compatible" content="IE=edge" />
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
<title>grid</title>
<style>
.parent {
height: 100vh;
display: grid;
place-items: center;
}
</style>
</head>
<body>
<div class="parent">
<div class="child">hello world</div>
</div>
</body>
</html>
margin auto
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8" />
<meta http-equiv="X-UA-Compatible" content="IE=edge" />
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
<title>flex</title>
<style>
.parent {
display: flex;
height: 100vh;
}
.child {
margin: auto;
}
</style>
</head>
<body>
<div class="parent">
<div class="child">hello world</div>
</div>
</body>
</html>
position transform
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8" />
<meta http-equiv="X-UA-Compatible" content="IE=edge" />
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
<title>position absolute</title>
<style>
.parent {
position: absolute;
top: 50%;
left: 50%;
transform: translate(-50%, -50%);
}
</style>
</head>
<body>
<div class="parent">
<div class="child">hello world</div>
</div>
</body>
</html>
table text-align
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8" />
<meta http-equiv="X-UA-Compatible" content="IE=edge" />
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
<title>table tag</title>
<style>
table {
height: 100vh;
width: 100%;
}
.father {
text-align: center;
}
</style>
</head>
<body>
<table>
<tbody>
<tr>
<td class="father">
<div class="child">hello world</div>
</td>
</tr>
</tbody>
</table>
</body>
</html>
table
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8" />
<meta http-equiv="X-UA-Compatible" content="IE=edge" />
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
<title>table</title>
<style>
.parent {
width: 100vw;
height: 100vh;
display: table;
}
.child {
display: table-cell;
vertical-align: middle;
text-align: center;
}
</style>
</head>
<body>
<div class="parent">
<div class="child">hello world</div>
</div>
</body>
</html>
vertical-align
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8" />
<meta http-equiv="X-UA-Compatible" content="IE=edge" />
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
<title>vertical-align</title>
<style>
.parent {
height: 100vh;
text-align: center;
}
.parent::before {
content: "";
display: inline-block;
height: 100%;
vertical-align: middle;
}
.child {
display: inline-block;
vertical-align: middle;
}
</style>
</head>
<body>
<div class="parent">
<div class="child">hello world</div>
</div>
</body>
</html>
writing-mode
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8" />
<meta http-equiv="X-UA-Compatible" content="IE=edge" />
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
<title>writing-mode</title>
<style>
.parent {
writing-mode: vertical-lr;
text-align: center;
width: 100%;
height: 100vh;
}
.child {
writing-mode: horizontal-tb;
display: inline-block;
width: 100%;
}
</style>
</head>
<body>
<div class="parent">
<div class="child">hello world</div>
</div>
</body>
</html>