ホームページ ウェブフロントエンド CSSチュートリアル CSS で要素を親要素の中央に表示する方法についての簡単な説明

CSS で要素を親要素の中央に表示する方法についての簡単な説明

Feb 22, 2017 am 11:46 AM
css

CSS で要素を垂直方向の中央に配置する方法についての質問は、すでによくある質問です。新人でもベテランでも、面接の際によく聞かれる質問です。 2 日前に Flex ビデオ チュートリアルを見ていたところ、要素の中央揃えについて言及されていたので、今日はいくつかの一般的な方法を見ていきます。欠点があれば批判して修正してください (すべてのコードは私が入力したものであり、利用可能です)

1. 水平方向のセンタリング (マージン: 0 auto;)

これについては、トレーニング中であっても、誰もが最も慣れていないはずです。授業はまだ自習です。これは教師が最初に教える方法(水平方向)のはずですが、ラップされた要素は浮動属性を持つことができないという前提があります。それ以外の場合、このプロパティは無効になります。具体的には以下のコードになります:

<style>
        body{margin: 0;}
        .box{
            width: 400px;
            height: 400px;
            border:1px solid red;
        }
        item{            margin:0 auto;
            width: 100px;
            height: 100x;
            background: green;
        }
</style>
<body>
    <p class="box">
        <p class="item"></p>
     </p>
</body>
ログイン後にコピー
<br>
ログイン後にコピー

浅谈css中一个元素如何在其父元素居中显示

2. 水平方向のセンタリング(text-align: center;)

この属性がfloatでない場合は、inline/inline-blockに変換できます。 . 次に、親要素に text-align:center; 属性を追加して中央揃えにします

3. 水平方向と垂直方向の中央揃え (1) 子要素は親要素に対して相対的に配置されます。マージン値が減算されます。自身の幅と高さの半分です浅谈css中一个元素如何在其父元素居中显示

このメソッドには、子要素自体の幅と高さを知っている必要があるため、一定の制限があります

&lt;style&gt;
        body{margin: 0;}
        .box{
            width: 400px;
            height: 400px;
            border:1px solid red;            text-align:center;
        }
        item{            display:inline/inline-block;
            width: 100px;
            height: 100x;
            background: green;
        }
&lt;/style&gt;
&lt;body&gt;
    &lt;p class=&quot;box&quot;&gt;
        &lt;p class=&quot;item&quot;&gt;&lt;/p&gt;
     &lt;/p&gt;
&lt;/body&gt;
ログイン後にコピー

4. 2) 子要素は親要素に対する相対位置であり、マージン値は自動です浅谈css中一个元素如何在其父元素居中显示

この方法は要素の幅と高さに制限されず、使いやすい(推奨)です

&lt;style&gt;
        body{margin: 0;}
        .box{
            width: 400px;
            height: 400px;
            border:1px solid red;
           position: relative;
        }
        item{
            position: absolute;
            top: 50%;
            left: 50%;
            margin-top: -50px;
            margin-left: -50px;
            width: 100px;
            height: 100x;
            background: green;
        }&lt;/style&gt;&lt;body&gt;
    &lt;p class=&quot;box&quot;&gt;
        &lt;p class=&quot;item&quot;&gt;&lt;/p&gt;
     &lt;/p&gt;&lt;/body&gt;
ログイン後にコピー

5. 水平方向と垂直方向のセンタリング (3) 表示: table-cell 浅谈css中一个元素如何在其父元素居中显示

この方法は、要素をテーブル スタイルに変換し、テーブル スタイルを使用してセンタリングする方法です (推奨)

&lt;style&gt;
        body{margin: 0;}
        .box{
            width: 400px;
            height: 400px;
            border:1px solid red;
           position: relative;
        }
        item{
            position: absolute;
            left: 0;
            right: 0;
            bottom: 0;
            top:0;
            margin: auto;
            width: 100px;
            height: 100x;
            background: green;
        }&lt;/style&gt;&lt;body&gt;
    &lt;p class=&quot;box&quot;&gt;
        &lt;p class=&quot;item&quot;&gt;&lt;/p&gt;
     &lt;/p&gt;&lt;/body&gt;
ログイン後にコピー

6. 水平方向と垂直方向のセンタリング (4) 絶対配置とトランスフォーム浅谈css中一个元素如何在其父元素居中显示

この方法は、CSS3 の変形を使用することを使用します。もちろん、素晴らしいものには互換性の問題があることはご存知でしょう

7. 水平方向と垂直方向の中央揃え (5) CSS3 の flex 属性 浅谈css中一个元素如何在其父元素居中显示

この属性は非常に便利ですが、互換性の問題が確実にあります。注意してください

&lt;style&gt;
        body{margin: 0;}
        .box{
            width: 400px;
            height: 400px;
            border:1px solid red;
            display: table-cell;
            vertical-align: middle;
        }
        item{
            margin:0 auto;
            width: 100px;
            height: 100x;
            background: green;
        }&lt;/style&gt;&lt;body&gt;
    &lt;p class=&quot;box&quot;&gt;
        &lt;p class=&quot;item&quot;&gt;&lt;/p&gt;
     &lt;/p&gt;&lt;/body&gt;
ログイン後にコピー

突然、センタリングの方法がとても簡単だと感じましたか? ! ! ! ! ! ! ! ! ! ! ! ! 浅谈css中一个元素如何在其父元素居中显示

CSS の要素を親要素の中央に配置する方法の詳細については、PHP 中国語 Web サイトの関連記事に注目してください。

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

ホットな記事タグ

メモ帳++7.3.1

メモ帳++7.3.1

使いやすく無料のコードエディター

SublimeText3 中国語版

SublimeText3 中国語版

中国語版、とても使いやすい

ゼンドスタジオ 13.0.1

ゼンドスタジオ 13.0.1

強力な PHP 統合開発環境

ドリームウィーバー CS6

ドリームウィーバー CS6

ビジュアル Web 開発ツール

SublimeText3 Mac版

SublimeText3 Mac版

神レベルのコード編集ソフト(SublimeText3)

Vue におけるプレースホルダーの意味 Vue におけるプレースホルダーの意味 May 07, 2024 am 09:57 AM

Vue におけるプレースホルダーの意味

vueでスペースを書く方法 vueでスペースを書く方法 Apr 30, 2024 am 05:42 AM

vueでスペースを書く方法

vueでdomを取得する方法 vueでdomを取得する方法 Apr 30, 2024 am 05:36 AM

vueでdomを取得する方法

jsでのスパンの意味は何ですか jsでのスパンの意味は何ですか May 06, 2024 am 11:42 AM

jsでのスパンの意味は何ですか

jsでレムは何を意味しますか jsでレムは何を意味しますか May 06, 2024 am 11:30 AM

jsでレムは何を意味しますか

vueに画像を導入する方法 vueに画像を導入する方法 May 02, 2024 pm 10:48 PM

vueに画像を導入する方法

スパンタグの機能とは何ですか スパンタグの機能とは何ですか Apr 30, 2024 pm 01:54 PM

スパンタグの機能とは何ですか

ブラウザのプラグインは何語で書かれていますか? ブラウザのプラグインは何語で書かれていますか? May 08, 2024 pm 09:36 PM

ブラウザのプラグインは何語で書かれていますか?

See all articles