上下中央、左右中央にするためのCSS
左右中央に配置するのは難しくないけれど、慣れるまでちょっと頭を悩ませるのが「上下中央の配置」
と感じたら、ポイントを押さえて問題をクリアしちゃいましょう。
- 左右中央に配置する
- 上下中央に配置する
左右中央に配置するのは難しくないけれど、慣れるまでちょっと頭を悩ませるのが「上下中央の配置」
と感じたら、ポイントを押さえて問題をクリアしちゃいましょう。
この記事は「2021年01月20日」に書かれた記事です
まずは、左右中央配置から見てきたいと思います。
テキストを中央配置にする最もシンプルな方法は、text-align: center; です。
この文章を中央に配置する
HTML
<p class="text-center">この文章を中央に配置する</p>
CSS
p.text-center { text-align: center; }
HTML
<p class="text-center"><a href="#">インライン要素の中央配置</a></p>
CSS
p.text-center { text-align: center; }
例:aタグ
HTML
<a href="#">インライン要素の中央配置</a>
CSS
a { display: block; width:240px; margin:0 auto; }
aタグの幅を決め、display:blockを設定します。
あとはmargin:0 autoを設定すれば中央配置になります。
divの領域がわかりやすいよう背景色に白色を設定しています。
HTML
<div>この領域を左右中央に配置</div>
CSS
div { width: 240px; margin: 0 auto; }
幅を決めると領域が文字スペースよりも大きいことがほとんどかと思います。その場合、上記のようにずれてみえてしまうため、text-align:centerを設定して文字を中央に配置しておくとよいでしょう。
divの領域がわかりやすいよう背景色に白色を設定しています。
HTML
<div class="text-center"> <div class="box">この領域を左右中央に配置</div> </div>
CSS
.text-center { text-align:center; } .box { display: inline-block; margin: 0 auto; background-color: #FFF; }
HTML
<div class="box1"> <div class="box2">ここを左右中央に</div> </div>
CSS
.box1 { display: flex; } .box2 { margin: 0 auto; }
※positonを使った左右中央配置は、「4-19 要素を上下左右 中央にするためのCSSってどれを使えばいいの?!(近日公開予定)」をご覧ください。
HTML
<div class="box1"> <div class="box2"><strong>この文章を上下中央(縦中央)に。</strong></div> </div>
CSS
.box1 { display:table; width: 100%; height: 100px; } .box2 { display:table-cell; vertical-align:middle; background-color: #FFF; }
テーブルのセルでは縦幅可変しても上下中央ができるように、display:table と display:table-cell を設定し仮想tableを実現することで、高さに依存することなく上下中央配置できます。
※samp-center-tableの高さは表示確認のために入れています。
HTML
<div class="box1"> <div class="box2"><strong>この文章を縦中央に。</strong></div> </div>
CSS
.box1 { height:100px; background-color: #FFF; } .box2 { content: ""; display:inline-block; height: 100%; vertical-align:middle; } .samp-center-block-txt { display:inline-block; vertical-align:middle; }
※inline-block 要素が横並びになると予期せぬ隙間ができてしまいます。上記の設定では回避していませんが、回避する方法は「cssの設定でできる隙間のあれこれ(近日公開予定)で掲載予定です。
※positonを使った上下中央(縦中央)配置は、「4-19 要素を上下左右 中央にするためのCSSってどれを使えばいいの?!(近日公開予定)」をご覧ください。
HOME > ホームページ制作 > CSSでホームページを1UP > 上下中央、左右中央にするためのCSS