ホームページ  >  記事  >  ウェブフロントエンド  >  9 つの純粋な CSS メソッドを共有して垂直方向の中央揃えを実現します

9 つの純粋な CSS メソッドを共有して垂直方向の中央揃えを実現します

yulia
yuliaオリジナル
2018-09-21 15:16:311809ブラウズ

この記事では垂直方向のセンタリングに焦点を当て、主に垂直方向のセンタリングのさまざまな方法を紹介します。興味のある方はぜひ参考にしてください。

垂直方向のセンタリングは、レイアウトにおける非常に一般的な効果の 1 つであり、良好な互換性を実現するために、PC 側で垂直方向のセンタリングを実現する方法は、一般に、絶対配置、テーブルセル、負のマージンによって行われます。 、など。 CSS3 では、モバイル端末の垂直方向のセンタリングがより多様になります。

方法 1: テーブルセル

html 構造:

<div class="box box1">
        <span>垂直居中</span>
</div>

css:

.box1{
    display: table-cell;
    vertical-align: middle;
    text-align: center;        
}

方法 2: 表示:flex

.box2{
    display: flex;
    justify-content:center;
    align-items:Center;
}

方法 3: 絶対位置決めと負のマージン

.box3{position:relative;}
.box3 span{
            position: absolute;
            width:100px;
            height: 50px;
            top:50%;
            left:50%;
            margin-left:-50px;
            margin-top:-25px;
            text-align: center;
        }

方法 4: 絶対位置決めと 0

.box4 span{
  width: 50%; 
  height: 50%; 
  background: #000;
  overflow: auto; 
  margin: auto; 
  position: absolute; 
  top: 0; left: 0; bottom: 0; right: 0; 
}

この方法は上記の方法と多少似ていますが、ここでは margin:auto を設定し、上、左、右、下を 0 に設定することで中央揃えにしています。これは非常に魔法です。ただし、ここでは内部要素の高さを決定する必要があります。モバイル端末に適したパーセンテージを使用できます。

方法 5: 翻訳

.box6 span{
            position: absolute;
            top:50%;
            left:50%;
            width:100%;
            transform:translate(-50%,-50%);
            text-align: center;
        }

これは実際には方法 3 の変換であり、移行は翻訳によって実現されます。

方法 6: display:inline-block

.box7{
  text-align:center;
  font-size:0;
}
.box7 span{
  vertical-align:middle;
  display:inline-block;
  font-size:16px;
}
.box7:after{
  content:&#39;&#39;;
  width:0;
  height:100%;
  display:inline-block;
  vertical-align:middle;
}

この方法は非常に賢いです...スペースを占有するために: after を使用します。

方法 7:display:flex および margin:auto

.box8{
    display: flex;
    text-align: center;
}
.box8 span{margin: auto;}

方法 8:display:-webkit-box

.box9{
    display: -webkit-box;
    -webkit-box-pack:center;
    -webkit-box-align:center;
    -webkit-box-orient: vertical;
    text-align: center
}

css3 は幅広く奥深く、多くのクリエイティブな効果を実現できるため、慎重に研究する必要があります。

メソッド 9:display:-webkit-box

このメソッドは、コンテンツ要素の外側に div を挿入します。この div の高さを 50% に設定します。

content はフロートをクリアして中央に表示します。

<div class="floater"></div>  
<div class="content"> Content here </div>  
.floater {
    float:left; 
    height:50%; 
    margin-bottom:-120px;
}
.content {
    clear:both; 
    height:240px; 
    position:relative;
}

利点:

すべてのブラウザに適用可能

十分なスペースがない場合 (たとえば、ウィンドウが縮小されている場合)、コンテンツは切り詰められず、スクロール バーも表示されません。

欠点:

私が思いつく唯一のことは、追加の空の要素が必要なことです (それほど悪いことではありません。別のトピックです)

以上が9 つの純粋な CSS メソッドを共有して垂直方向の中央揃えを実現しますの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。