CSSでは、真ん中に寄せるあれこれがいっぱいあるね。
時と場合、場所と時間の5W1Hで使うものも様々なので
用法も書きながら紹介しようと思います。
テキストを左右中央寄せ
これは上下には効かず、左右だけ中央に寄ります。
インライン要素の、「a」、「span」、「img」、「input」などは、あらかじめ「display:block」または、「display:inline-block;」を記述してくださいね!
【CSS】
text-align: center;
このテキストは左右中央に寄ります。
テキストを上下・左右中央寄せ
今度はテキストを上下左右中央寄せにします。
これは、親要素にあらかじめ幅と高さを設定し、「position:relative;」を追加します。
中央にしたい要素にはベンダープレフィックスも付けた指示も忘れないようにしてください。
(Android 4.2以下の端末は「-webkit-」が必要だったりします)
【CSS】
// 親要素に .oya { width: 100%; height: 300px; position: relative; } // 中央にしたい要素に .oya span { position: absolute; top: 50%; left: 50%; transform: translate(-50%, -50%); -webkit-transform: translate(-50%, -50%); }
このテキストは上下左右中央に寄ります。
画像の上下左右中央寄せ
これもテキストの時と同様に「transform」を使えば解決できます。
「transform」を使うので、親要素の幅と高さを指定しなくちゃいけません!
さらに、ベンダープレフィックスもお忘れなく。
【CSS】
// 親要素に .oya { width: 100%; height: 300px; position: relative; } // 中央にしたい要素に .oya span { position: absolute; top: 50%; left: 50%; transform: translate(-50%, -50%); -webkit-transform: translate(-50%, -50%); }
まとめ
どんな時も、上下左右中央寄せにする時は、「transform: transslate(-50%, -50%);」があればなんとかなりますね。
コメント