<h5>左右に余白がある要素</h5>
h5 {
    background-color: orange; /* 左右に余白のある要素です */
    text-align: center;       /* この要素の横幅を基準にテキストを中央揃えにします */
}
結果画面
<div class="container">
    <span>左右に余白のない要素</span>
</div>
container {
    background-color: orange; /* 左右に余白のある要素です */
    text-align: center;       /* 左右に余白のある親要素の横幅を基準に、子要素のテキストを中央揃えにします */
}
.container span {
    background-color: pink;   /* 左右に余白のない要素です */
}
結果画面
<div class="container">
    <span>左右に余白のない要素</span>
</div>
.container {
    background-color: orange; /* 左右に余白のある要素です */
    display: flex;
    justify-content: center;  /* 子要素を水平方向(横方向)に中央揃えにします */
}
.container span {
    background-color: pink;   /* 左右に余白のない要素です */
}
結果画面
<h5>line-heightを使う</h5>
h5 {
    background-color: orange;
    line-height: 200px; /* この要素のテキストを基準に、上下方向で中央揃えにします */
}
結果画面
<h5>flexを使う</h5>
h5 {
    background-color: orange;
    height: 200px;
    display: flex;
    align-items: center; /* 子要素を垂直方向(縦方向)に中央揃えにします */
}
結果画面
<h5>table cellを使う</h5>
h5 {
    background-color: orange;
    height: 200px;
    display: table-cell;
    vertical-align: middle; /* テキストを垂直方向(縦方向)に中央揃えにします */
}
結果画面
<div class="container">
    <span>子要素</span>
</div>
.container {
    background-color: orange;
    height: 200px;
    display: flex;
    align-items: center; /* 子要素を垂直方向(縦方向)に中央揃えにします */
}
.container span {
    background-color: pink;
}
結果画面
<div class="container">
    <span>子要素</span>
</div>
.container {
    background-color: orange;
    height: 200px;
    position: relative;
}
.container span {
    background-color: pink;
    position: absolute;
    top: 50%;
    transform: translateY(-50%);
}
結果画面
<h5>line-heightを使う</h5>
h5 {
    background-color: orange;
    text-align: center;   /* この要素の横幅を基準にテキストを中央揃えにします */
    line-height: 200px;   /* この要素のテキストを基準に上下方向で中央揃えにします */
}
結果画面
<div class="container">
    <span>子要素</span>
</div>
.container {
    background-color: orange;
    height: 200px;
    justify-content: center; /* 子要素を水平方向(横方向)に中央揃えにします */
    align-items: center;     /* 子要素を垂直方向(縦方向)に中央揃えにします */
}
.container span {
    background-color: pink;
}
結果画面
<div class="container">
    <span>子要素</span>
</div>
.container {
    background-color: orange;
    height: 200px;
    position: relative;
}
.container span {
    background-color: pink;
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translateX(-50%) translateY(-50%);
}
結果画面