ホームページ ウェブフロントエンド CSSチュートリアル 純粋なCSSを使用してセンタリングを実現する方法のまとめ

純粋なCSSを使用してセンタリングを実現する方法のまとめ

Sep 20, 2017 am 09:49 AM
css 要約する

この記事では主に、純粋な CSS を使用して中央揃えを実現する 7 つの主要な方法を紹介します。これには、行の高さの中央揃え方法、表のセルの中央揃え方法、上下左右の配置 + マージンの中央揃え方法、50% の配置 + マージンが含まれます。センタリング方法、50% 位置決め + 平行移動センタリング方法、Flexbox センタリング方法、および Flexbox + マージンセンタリング方法を必要とする友人が参照して学ぶことができます。

前書き

就職面接中、面接官が CSS の質問をしたことを覚えています。ブラウザ ウィンドウ内で要素を上下左右の中央に配置する方法です。当時私が与えた答えは、まず JS を使用してブラウザ ウィンドウの高さを取得し、次にウィンドウの高さとして body に line-height を設定し、text-align:center を設定してから要素 display:inline- を設定したことを覚えています。ブロックして垂直方向に揃えます:middle。ため息、今考えただけで疲れてきました。

JS である必要がありますか? CSSだけを使って要素を中央揃えにする方法はないでしょうか?答えは「はい」です。そして、方法は複数あります。

1. 行の高さをセンタリングする方法

親要素: text-align: center; font-size: 0;

text-align: center; line-height:600px; font-size: 0;

子元素:display: inline-block; vertical-align: middle;
 

注:600px必须为父元素的高度,这里还需注意的一点是font-size需设为零,若未写该属性将导致元素并不能精确垂直居中。该方法即为我面试时所答的方法,缺点很明显,父元素高度须确定。(兼容IE8+)

二、table-cell居中法

父元素:display: table-cell; text-align: center; vertical-align: middle;

子元素:display: inline-block;
 

注:兼容IE8+

三、上下左右定位+margin居中法

父元素:position: relative;

子元素:position: absolute; left: 0; right: 0; top: 0; bottom: 0; margin: auto;
 

注:兼容IE8+

四、50%定位+margin居中法

父元素:position: relative;

子元素:position: absolute; left: 50%; top: 50%; margin: -200px 0 0 -200px;
 

注:200px须为该子元素的宽高的一半。例如该子元素宽为100px,高为50px,那么margin取值为-25px 0 0 -50px。该方法缺点是须确定子元素宽高。(兼容IE8+)

五、50%定位+translate居中法

父元素:position: relative;

子元素:position: absolute; left: 50%; top: 50%; transform: translate(-50%,-50%);
 

注:该方法使用了CSS3 transform属性,适合用于移动端。(兼容IE9+)

六、Flexbox居中法

父元素:display: flex; justify-content: center; align-items: center;
 

注:该方法使用了Flexbox弹性布局,移动端兼容性也存在很大问题。(兼容IE10+)

七、Flexbox+margin居中法

父元素:display: flex;

子元素:margin: auto;子要素: display: inline-block;vertical-align: middle;

注: ここでもう 1 つ注意すべき点は、フォント サイズが必要であることです。ゼロに設定するには、この属性を書き込まないと、要素は垂直方向に正確に中央揃えされません。この方法は、私がインタビュー中に答えた方法です。欠点は明らかです。親要素の高さを決定する必要があります。 (IE8+ と互換性があります)

🎜2. テーブルセルの中央揃えメソッド🎜🎜🎜🎜親要素: display: table-cell:vertical-align: middle;🎜🎜子要素: display: inline-block;
🎜🎜🎜🎜注: 🎜🎜IE8+と互換性があります🎜🎜🎜🎜 3. 上下左右の配置 + 余白の中央揃え方法🎜🎜🎜親要素: 位置: 相対;🎜🎜子要素: 位置: 左: 0; 右: 0; マージン: 0;
🎜🎜🎜🎜注: 🎜🎜 IE8+🎜🎜🎜🎜 IV と互換性があります。50% 配置 + マージン中央揃え方式🎜🎜🎜🎜 親要素: position:相対; 🎜🎜子要素: position : 絶対; left: 50%; margin: -200px 0 0 -200px;
🎜🎜200px である必要があります子要素の幅と高さの半分。たとえば、子要素が幅 100 ピクセル、高さ 50 ピクセルの場合、マージンの値は -25px 0 0 -50px です。この方法の欠点は、子要素の幅と高さを決定する必要があることです。 (IE8+ と互換性があります) 🎜🎜🎜🎜 5. 50% 位置決め + 中央移動の方法🎜🎜🎜🎜親要素: position:相対;🎜🎜子要素: position: left: 50 %; トップ: 50%; 変換: 変換(-50%,-50%);
🎜🎜🎜🎜注: 🎜🎜このメソッドは、CSS3 変換属性を使用しており、モバイル端末に適しています。 (IE9+ と互換性があります) 🎜🎜🎜🎜 6. フレックスボックスの中央揃えメソッド 🎜🎜🎜🎜 親要素: display: flex: align-items: center;
🎜🎜 🎜 🎜注: 🎜🎜この方法は Flexbox の柔軟なレイアウトを使用しており、モバイル互換性にも大きな問題があります。 (IE10+対応) 🎜🎜🎜🎜7. Flexbox+マージンセンタリング方法🎜🎜🎜🎜親要素: display: flex;🎜🎜子要素: margin: auto; 🎜 🎜🎜🎜注: 🎜🎜上記と同じ、IE10+と互換性があります🎜

以上が純粋なCSSを使用してセンタリングを実現する方法のまとめの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

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

ホットAIツール

Undresser.AI Undress

Undresser.AI Undress

リアルなヌード写真を作成する AI 搭載アプリ

AI Clothes Remover

AI Clothes Remover

写真から衣服を削除するオンライン AI ツール。

Undress AI Tool

Undress AI Tool

脱衣画像を無料で

Clothoff.io

Clothoff.io

AI衣類リムーバー

AI Hentai Generator

AI Hentai Generator

AIヘンタイを無料で生成します。

ホットツール

メモ帳++7.3.1

メモ帳++7.3.1

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

SublimeText3 中国語版

SublimeText3 中国語版

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

ゼンドスタジオ 13.0.1

ゼンドスタジオ 13.0.1

強力な PHP 統合開発環境

ドリームウィーバー CS6

ドリームウィーバー CS6

ビジュアル Web 開発ツール

SublimeText3 Mac版

SublimeText3 Mac版

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

ブートストラップにスプリットラインを書く方法 ブートストラップにスプリットラインを書く方法 Apr 07, 2025 pm 03:12 PM

ブートストラップスプリットラインを作成するには2つの方法があります。タグを使用して、水平方向のスプリットラインを作成します。 CSS Borderプロパティを使用して、カスタムスタイルのスプリットラインを作成します。

ブートストラップに写真を挿入する方法 ブートストラップに写真を挿入する方法 Apr 07, 2025 pm 03:30 PM

ブートストラップに画像を挿入する方法はいくつかあります。HTMLIMGタグを使用して、画像を直接挿入します。ブートストラップ画像コンポーネントを使用すると、レスポンシブ画像とより多くのスタイルを提供できます。画像サイズを設定し、IMG-Fluidクラスを使用して画像を適応可能にします。 IMGボーダークラスを使用して、境界線を設定します。丸い角を設定し、IMGラウンドクラスを使用します。影を設定し、影のクラスを使用します。 CSSスタイルを使用して、画像をサイズ変更して配置します。背景画像を使用して、背景イメージCSSプロパティを使用します。

ブートストラップのサイズを変更する方法 ブートストラップのサイズを変更する方法 Apr 07, 2025 pm 03:18 PM

Bootstrapの要素のサイズを調整するには、次のものを含むDimensionクラスを使用できます。

HTML、CSS、およびJavaScriptの役割:コアの責任 HTML、CSS、およびJavaScriptの役割:コアの責任 Apr 08, 2025 pm 07:05 PM

HTMLはWeb構造を定義し、CSSはスタイルとレイアウトを担当し、JavaScriptは動的な相互作用を提供します。 3人はWeb開発で職務を遂行し、共同でカラフルなWebサイトを構築します。

VueでBootstrapの使用方法 VueでBootstrapの使用方法 Apr 07, 2025 pm 11:33 PM

vue.jsでBootstrapを使用すると、5つのステップに分かれています。ブートストラップをインストールします。 main.jsにブートストラップをインポートしますブートストラップコンポーネントをテンプレートで直接使用します。オプション:カスタムスタイル。オプション:プラグインを使用します。

ブートストラップのフレームワークをセットアップする方法 ブートストラップのフレームワークをセットアップする方法 Apr 07, 2025 pm 03:27 PM

Bootstrapフレームワークをセットアップするには、次の手順に従う必要があります。1。CDNを介してブートストラップファイルを参照してください。 2。独自のサーバーでファイルをダウンロードしてホストします。 3。HTMLにブートストラップファイルを含めます。 4.必要に応じてSASS/LESSをコンパイルします。 5。カスタムファイルをインポートします(オプション)。セットアップが完了したら、Bootstrapのグリッドシステム、コンポーネント、スタイルを使用して、レスポンシブWebサイトとアプリケーションを作成できます。

ブートストラップボタンの使用方法 ブートストラップボタンの使用方法 Apr 07, 2025 pm 03:09 PM

ブートストラップボタンの使用方法は?ブートストラップCSSを導入してボタン要素を作成し、ブートストラップボタンクラスを追加してボタンテキストを追加します

ブートストラップの日付を表示する方法 ブートストラップの日付を表示する方法 Apr 07, 2025 pm 03:03 PM

回答:ブートストラップの日付ピッカーコンポーネントを使用して、ページで日付を表示できます。手順:ブートストラップフレームワークを紹介します。 HTMLで日付セレクター入力ボックスを作成します。ブートストラップは、セレクターにスタイルを自動的に追加します。 JavaScriptを使用して、選択した日付を取得します。

See all articles