この記事でできるようになること
この記事を読み終えると、文字や要素を中央揃えにする方法と、複数の要素を横並びにする方法がわかります。
自己紹介ページがさらに「それっぽく」なるはずです!
レイアウトって何?
CSSのレイアウトとは、要素をページのどこに配置するかを指定することです。
前回までは「色」や「サイズ」など要素そのものの見た目を変えていました。
今回は「位置」を動かします。
中央揃えにしてみよう
文字を中央揃えにする:text-align
文字を中央に揃えるときは text-align: center を使います。
h1 {
text-align: center;
}
text-align に指定できる主な値はこの3つです。
left:左揃え(デフォルト)center:中央揃えright:右揃え
見出しやキャッチコピーを中央に置くだけで、ページが一気にそれっぽくなります!
ブロック要素を中央に置く:margin: 0 auto
画像やボックスなど、幅を持った要素を中央に置くときは margin: 0 auto を使います。
img {
display: block;
width: 200px;
margin: 0 auto;
}
ポイントは2つです。
display: blockを指定する(画像はデフォルトでインライン要素のため)widthを指定する(幅がないと中央の基準が決まらないため)
margin: 0 auto の意味は「上下の余白は0、左右の余白は自動(均等)」です。左右が均等になるので、自然と中央に来る、という仕組みです。
横並びにしてみよう:Flexbox入門
複数の要素を横に並べるときに使うのが Flexbox(フレックスボックス) です。
難しそうな名前ですが、基本はたった1行から始められます。
.container {
display: flex;
}
これだけで、.container の中にある要素が横並びになります。
よく使うプロパティ2つ
justify-content:横方向の並び方
.container {
display: flex;
justify-content: center; /* 中央に寄せる */
}
主な値はこちらです。
flex-start:左寄せ(デフォルト)center:中央寄せflex-end:右寄せspace-between:両端に配置して均等に並べる
align-items:縦方向の揃え方
.container {
display: flex;
align-items: center; /* 縦方向も中央に揃える */
}
この2つを組み合わせると、要素を縦横どちらも中央に揃えられます。
styleタグの中にtext-align: centerを書いて、h1の文字を中央に揃えてみましょう。プレビューで中央に移動するのを確認してください!
imgタグにdisplay: block・width・margin: 0 autoを指定して、画像を中央に配置してみましょう。3つセットで使うのがポイントです!
containerクラスにdisplay: flexとjustify-content: centerを指定して、中のリンクを横並び・中央寄せにしてみましょう!
text-align・margin: 0 auto・Flexboxを全部使って、記事の見本ページを再現してみましょう。見本を見ながらでOKです!
実践:自己紹介ページに適用しよう
前回作った自己紹介ページを参考に、先ほど書いたコードに今回学んだレイアウトを加えてみましょう!
<!DOCTYPE html>
<html>
<head>
<title>私の自己紹介ページ</title>
<style>
body {
background-color: #f9f9f9;
color: #333333;
font-size: 16px;
}
h1 {
color: #ffffff;
background-color: #3a86ff;
font-size: 32px;
padding: 16px;
margin: 0;
text-align: center;
}
h2 {
color: #3a86ff;
font-size: 22px;
margin: 32px 0 8px;
}
p {
font-size: 16px;
margin: 0 0 16px;
padding: 0 16px;
}
.nav {
display: flex;
justify-content: center;
gap: 24px;
background-color: #e8f0fe;
padding: 12px;
}
.nav a {
color: #3a86ff;
text-decoration: none;
}
</style>
</head>
<body>
<h1>私の自己紹介ページ</h1>
<div class="nav">
<a href="#">プロフィール</a>
<a href="#">好きなこと</a>
<a href="#">ブログ</a>
</div>
<h2>プロフィール</h2>
<p>はじめまして!プログラミングを勉強中のSueです。</p>
<h2>好きなこと</h2>
<p>コーヒーを飲みながらコードを書くのが好きです。</p>
<h2>参考にしているサイト</h2>
<p>
<a href="https://itskillab.com/ja/" target="_blank">Sue's Blog</a>
</p>
</body>
</html>
ブラウザで開いてみてください。タイトルが中央揃えになり、ナビゲーションが横並びになっているはずです!
まとめ
今回はCSSのレイアウトの基本を学びました。
text-align: centerで文字を中央揃えにするmargin: 0 autoでブロック要素を中央に置くdisplay: flexで要素を横並びにするjustify-contentとalign-itemsで並び方を調整する
レイアウトはCSSの中でも「最初の壁」になりやすい部分ですが、Flexboxの基本さえ押さえれば思い通りの配置ができるようになります。
「なんとなく動いた!」でOKです。まずは色々な値を変えて遊んでみてください。
次回はクラスとIDの使い方に入ります。「同じタグなのに、場所によってデザインを変えたい」——そんなときに使うのがクラスとIDです。一緒に学んでいきましょう!


コメント