ホームページ > ウェブフロントエンド > htmlチュートリアル > CSS の中央揃えを実現するにはどうすればよいですか? ?CSS の共通メソッド centering_html/css_WEB-ITnose

CSS の中央揃えを実現するにはどうすればよいですか? ?CSS の共通メソッド centering_html/css_WEB-ITnose

WBOY
リリース: 2016-06-24 11:57:02
オリジナル
1359 人が閲覧しました

出典: http://www.ido321.com/824.html

1. 水平方向の中央揃え

1. インライン要素の中央揃え: 親ブロックレベル要素を基準にして中央揃え

   1: .center-children {
ログイン後にコピー
   2:   text-align: center;
ログイン後にコピー
   3: }
ログイン後にコピー
ログイン後にコピー

2. ブロックレベルの要素を中央に配置します: margin-left と margin-right を auto に設定して中央に配置します (幅も設定します。そうしないとコンテナ全体が埋まってしまい、中央揃えの効果が見えなくなります)

   1: .center-me {
ログイン後にコピー
   2:   margin: 0 auto;
ログイン後にコピー
   3: }
ログイン後にコピー
ログイン後にコピー

行内で水平方向の中央に配置する必要があるブロックレベルの要素が多数ある場合は、別の表示タイプを使用するのが最善です。以下は、inline-block と flex を使用した例です。

デモアドレス: http://jsfiddle.net/Web_Code/5fvrwwk1/embedded/result/

   1: <main class="inline-block-center">
ログイン後にコピー
   2:   <div>
ログイン後にコピー
   3:     I'm an element that is block-like with my siblings and we're centered in a row.
ログイン後にコピー
   4:   </div>
ログイン後にコピー
   5:   <div>
ログイン後にコピー
   6:     I'm an element that is block-like with my siblings and we're centered in a row. I have more content in me than my siblings do.
ログイン後にコピー
   7:   </div>
ログイン後にコピー
   8:   <div>
ログイン後にコピー
   9:     I'm an element that is block-like with my siblings and we're centered in a row.
ログイン後にコピー
  10:   </div>
ログイン後にコピー
  11: </main>
ログイン後にコピー
  12: <main class="flex-center">
ログイン後にコピー
  13:   <div>
ログイン後にコピー
RREE RREE RREE RREE RREE

CSS :

RREE RREE RREE RREE RREE RREE RREE RREE RREE RREE RREE RREE RREE RREE RREE RREE RREE RREE RREE RREE RREE RREE RREE RREE RREE RREE RREE RREE RREE RREE

2. 垂直方向のセンタリング

1. インライン要素: 上下のパディングを等しく設定する、またはuse line-height

  14:     I'm an element that is block-like with my siblings and we're centered in a row.
ログイン後にコピー
  15:   </div>
ログイン後にコピー
  16:   <div>
ログイン後にコピー
  17:     I'm an element that is block-like with my siblings and we're centered in a row. I have more content in me than my siblings do.
ログイン後にコピー

テキストが折り返されない場合、line-height を使用してテキストを高さと等しくすることでテキストを揃えることができます。

  18:   </div>
ログイン後にコピー
  19:   <div>
ログイン後にコピー
  20:     I'm an element that is block-like with my siblings and we're centered in a row.
ログイン後にコピー
  21:   </div>
ログイン後にコピー
  22: </main>
ログイン後にコピー

複数行のテキストは、上下のパディングを使用して中央揃えにすることもできますが、この方法が機能しない場合は、これらの単語のコンテナを表セル モードで表示できます。次に、テキストのvertical-align属性を整列するように設定します。

デモアドレス: http://jsfiddle.net/Web_Code/5fvrwwk1/1/embedded/result/

html:

   1: body {
ログイン後にコピー
ログイン後にコピー
   2:   background: #f06d06;
ログイン後にコピー
ログイン後にコピー
   3:   font-size: 80%;
ログイン後にコピー
ログイン後にコピー
   4: }
ログイン後にコピー
ログイン後にコピー
ログイン後にコピー
   5: main {
ログイン後にコピー
   6:   background: white;
ログイン後にコピー
ログイン後にコピー
rree rree
   7:   margin: 20px 0;
ログイン後にコピー
   8:   padding: 10px;
ログイン後にコピー

css

   9: }
ログイン後にコピー
  10: main div {
ログイン後にコピー
  11:   background: black;
ログイン後にコピー
rree rree rree
  12:   color: white;
ログイン後にコピー
  13:   padding: 15px;
ログイン後にコピー
  14:   max-width: 125px;
ログイン後にコピー
  15:   margin: 5px;
ログイン後にコピー
  16: }
ログイン後にコピー
  17: .inline-block-center {
ログイン後にコピー
  18:   text-align: center;
ログイン後にコピー
  19: }
ログイン後にコピー
RREE RREE RREE RREE RREE RREE RREE RREE RREE RREE RREE RREE RREE RREE RREE RREE RREE RREE RREE RREE RREE RREE RREE RREE RREE RREE RREE RREE RREE RREE RREE RREE RREE RREE RREE

2. ブロックレベルの要素

要素の高さが固定されている場合は、次のように垂直方向の中央に配置できます

  20: .inline-block-center div {
ログイン後にコピー
  21:   display: inline-block;
ログイン後にコピー
  22:   text-align: left;
ログイン後にコピー
  23: }
ログイン後にコピー
  24: .flex-center {
ログイン後にコピー
  25:   display: flex;
ログイン後にコピー
  26:   justify-content: center;
ログイン後にコピー
  27: }
ログイン後にコピー
   1: .link {
ログイン後にコピー

要素の高さがわからない場合、その後、これを行うことができます

   2:   padding-top: 30px;
ログイン後にコピー
   3:   padding-bottom: 30px;
ログイン後にコピー
   4: }
ログイン後にコピー
ログイン後にコピー
ログイン後にコピー
   1: .center-text-trick {
ログイン後にコピー
   2:   height: 100px;
ログイン後にコピー
   3:   line-height: 100px;
ログイン後にコピー
   4:   white-space: nowrap;
ログイン後にコピー
   5: }
ログイン後にコピー

フレックスボックスも使用できます

   1: <table>
ログイン後にコピー
   2:   <tr>
ログイン後にコピー
   3:     <td>
ログイン後にコピー
   4:       I'm vertically centered multiple lines of text in a real table cell.
ログイン後にコピー
   5:     </td>
ログイン後にコピー

RREE RREE RREE RREE RREE RREE RREE RREE RREE RREE RREE RREE RREE
   6:   </tr>
ログイン後にコピー
   7: </table>
ログイン後にコピー
   8: <div class="center-table">
ログイン後にコピー
   9:   <p>I'm vertically centered multiple lines of text in a CSS-created table layout.</p>
ログイン後にコピー
  10: </div>
ログイン後にコピー
   1: body {
ログイン後にコピー
ログイン後にコピー
   2:   background: #f06d06;
ログイン後にコピー
ログイン後にコピー
   3:   font-size: 80%;
ログイン後にコピー
ログイン後にコピー
   4: }
ログイン後にコピー
ログイン後にコピー
ログイン後にコピー

3. 水平方向と垂直方向の中央揃え

1. 要素の高さと幅は固定です。最初に絶対に中央に配置してから、次の方法で上と左に移動します。幅の 50%

   5: table {
ログイン後にコピー
   6:   background: white;
ログイン後にコピー
ログイン後にコピー
   7:   width: 240px;
ログイン後にコピー
   8:   border-collapse: separate;
ログイン後にコピー
   9:   margin: 20px;
ログイン後にコピー
  10:   height: 250px;
ログイン後にコピー
  11: }
ログイン後にコピー
  12: table td {
ログイン後にコピー
  13:   background: black;
ログイン後にコピー
  14:   color: white;
ログイン後にコピー
  15:   padding: 20px;
ログイン後にコピー

2. 要素の高さと幅は不明または可変です。transofrm 属性を使用してマイナスを変換します50%両方向

rree rree

  16:   border: 10px solid white;
ログイン後にコピー
rree rree rree
  17:   /* default is vertical-align: middle; */
ログイン後にコピー
  18: }
ログイン後にコピー
  19: .center-table {
ログイン後にコピー
関連ラベル:
ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
最新の問題
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート