検索
ホームページウェブフロントエンドCSSチュートリアルCSS 縦横フルセンタリングマニュアル

CSS 縦横フルセンタリングマニュアル

Feb 04, 2017 pm 04:01 PM
css中心マニュアル

センタリングは常に CSS における典型的な問題でした。なぜ実装がこれほど難しいのでしょうか?それで誰かに笑われました。問題は、方法がないということではなく、状況によると思います。さまざまな方法がありますが、どの方法を使用するかを理解するのは困難です。

それで私は彼が楽になることを願ってこの記事を書きました。

水平方向の中央揃え

インライン要素 (inline または inline-*) を中央揃えにしますか?

親ブロック レベル要素を基準にして中央揃えにすることができます

.center-children {
  text-align: center;
}

ブロック レベル要素 (ブロック レベル) を中央揃えにしますか?

マージンを設定できます- left と margin-right は中央揃えに自動で設定されます (幅も設定する必要があります。そうしないとコンテナ全体が埋まってしまい、中央揃えの効果が見えなくなります)。

.center-me {
  margin: 0 auto;
}

ブロックレベルの要素がたくさんある場合はどうなるでしょうか?

非常に均等なブロックレベルの要素を水平方向に中央揃えで行内に配置する必要がある場合は、別の表示タイプを使用することをお勧めします。以下は、inline-block と flex を使用した例です。

<main class="inline-block-center">
  <div>
    I&#39;m an element that is block-like with my siblings and we&#39;re centered in a row.
  </div>
  <div>
    I&#39;m an element that is block-like with my siblings and we&#39;re centered in a row. I have more content in me than my siblings do.
  </div>
  <div>
    I&#39;m an element that is block-like with my siblings and we&#39;re centered in a row.
  </div>
</main>
<main class="flex-center">
  <div>
    I&#39;m an element that is block-like with my siblings and we&#39;re centered in a row.
  </div>
  <div>
    I&#39;m an element that is block-like with my siblings and we&#39;re centered in a row. I have more content in me than my siblings do.
  </div>
  <div>
    I&#39;m an element that is block-like with my siblings and we&#39;re centered in a row.
  </div>
</main>
rree

垂直方向のセンタリング

CSS では垂直方向のセンタリングは少し難しいです

テキストやリンクなどのインライン要素 (inline または inline-*) をセンタリングしますか?

一行ですか?

上下のパディングが等しいという理由だけで、要素が垂直方向に中央揃えであるかのように動作することがあります

body {
  background: #f06d06;
  font-size: 80%;
}
main {
  background: white;
  margin: 20px 0;
  padding: 10px;
}
main div {
  background: black;
  color: white;
  padding: 15px;
  max-width: 125px;
  margin: 5px;
}
.inline-block-center {
  text-align: center;
}
.inline-block-center div {
  display: inline-block;
  text-align: left;
}
.flex-center {
  display: flex;
  justify-content: center;
}

何らかの理由でパディングが機能せず、テキストが折り返されない場合は、line-height を使用して一致させることができますテキストを同じ高さに揃えて配置します。

rreee

複数行ですか?


top やbottom などの Padding メソッドでも複数の行を中央揃えにすることができますが、このメソッドが機能しない場合は、これらのテキストのコンテナを表のセル モードで表示してから、テキストのvertical-align 属性を設定できます。 talbe と同じように、整列するテキストです。つまり、

.link {
  padding-top: 30px;
  padding-bottom: 30px;
}
.center-text-trick {
  height: 100px;
  line-height: 100px;
  white-space: nowrap;
}

ブロック レベル要素は垂直方向に中央揃えになりますか?

要素の高さは知っていますか?

Web ページのレイアウトの高さがわからないことは、さまざまな理由から非常に一般的です。

ただし、レイアウトの高さが固定されている場合は、次のように垂直方向に中央揃えにすることができます:

<table>
  <tr>
    <td>
      I&#39;m vertically centered multiple lines of text in a real table cell.
    </td>
  </tr>
</table>
<div class="center-table">
  <p>I&#39;m vertically centered multiple lines of text in a CSS-created table layout.</p>
</div>

要素の高さは不明です


不明ですが、50 ずつ押し上げることは可能です幅の %

body {
  background: #f06d06;
  font-size: 80%;
}
table {
  background: white;
  width: 240px;
  border-collapse: separate;
  margin: 20px;
  height: 250px;
}
table td {
  background: black;
  color: white;
  padding: 20px;
  border: 10px solid white;
  /* default is vertical-align: middle; */
}
.center-table {
  display: table;
  height: 250px;
  background: white;
  width: 240px;
  margin: 20px;
}
.center-table p {
  display: table-cell;
  margin: 0;
  background: black;
  color: white;
  padding: 20px;
  border: 10px solid white;
  vertical-align: middle;
}

フレックスボックスは使えますか?


それは驚くことではありません、フレックスボックスを使用するとはるかに簡単です

.parent {
  position: relative;
}
.child {
  position: absolute;
  top: 50%;
  height: 100px;
  margin-top: -50px; /* 如果没有使用: border-box; 的盒子模型则需要设置这个 */
}
rree

水平方向と垂直方向を同時に中央揃え


要素の幅と高さは固定です


要素の幅と高さの場合が固定されている場合は、最初に完全に中央に配置してから、幅の 50% だけ上と左に移動する必要があります。このソリューションは、優れたクロスブラウザーのサポートを備えています。

.parent {
  position: relative;
}
.child {
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
}

要素の幅と高さが不明です


高さと幅(変数)がわからない場合は、transofrmプロパティを使用して両方向にマイナス50%を変換できます

<main>  
  <div>
     I&#39;m a block-level element with an unknown height, centered vertically within my parent.
  </div>  
</main>

その他のCSS垂直水平完全中央 マニュアル関連の記事については、PHP 中国語 Web サイトに注目してください。

声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
「ポッドキャストにサブスクライブ」リンクはどこにすべきですか?「ポッドキャストにサブスクライブ」リンクはどこにすべきですか?Apr 16, 2025 pm 12:04 PM

しばらくの間、iTunesはポッドキャストの大きな犬だったので、「ポッドキャストにサブスクライブ」をリンクした場合:

ブラウザエンジンの多様性ブラウザエンジンの多様性Apr 16, 2025 pm 12:02 PM

彼らが2013年にChromeに行ったとき、私たちはオペラを失いました。今年初めにChromeになったとき、Edgeと同じ取引。マイク・テイラーはこれらの変更を「減少させて」と呼びました

Web共有に関するUXの考慮事項Web共有に関するUXの考慮事項Apr 16, 2025 am 11:59 AM

Trashy ClickBaitサイトから出版物の最大の8月まで、共有ボタンは長い間ウェブ全体でユビキタスでした。それでも、これらは議論の余地があります

毎週のプラットフォームニュース:AppleはWebコンポーネント、プログレッシブHTMLレンダリング、自己ホストの重要なリソースを展開しています毎週のプラットフォームニュース:AppleはWebコンポーネント、プログレッシブHTMLレンダリング、自己ホストの重要なリソースを展開していますApr 16, 2025 am 11:55 AM

今週のラウンドアップでは、AppleはWebコンポーネント、InstagramがどのようにInsta-Loadingスクリプトであるか、自己ホストの重要なリソースのための考えのための食べ物に入ります。

git pathspecsとそれらの使用方法git pathspecsとそれらの使用方法Apr 16, 2025 am 11:53 AM

gitコマンドのドキュメントを調べていたとき、それらの多くが選択肢があることに気付きました。私は当初、これはただのものだと思っていました

製品画像のカラーピッカー製品画像のカラーピッカーApr 16, 2025 am 11:49 AM

難しい問題のように聞こえます。私たちはしばしば、何千もの色で製品ショットを持っていないので、withをひっくり返すことができます。私たちもそうしません

ReactとThemeproviderを使用した暗いモードの切り替えReactとThemeproviderを使用した暗いモードの切り替えApr 16, 2025 am 11:46 AM

ウェブサイトにダークモードオプションがあるときが好きです。ダークモードにより、ウェブページが読みやすくなり、目がリラックスしているように感じます。を含む多くのウェブサイト

HTMLダイアログ要素を使用したいくつかの実践HTMLダイアログ要素を使用したいくつかの実践Apr 16, 2025 am 11:33 AM

これは私が初めてHTML要素を見ていることです。私はしばらくの間それを知っていましたが、まだスピンしていませんでした。かなりクールです

See all articles

ホット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ヘンタイを無料で生成します。

ホットツール

AtomエディタMac版ダウンロード

AtomエディタMac版ダウンロード

最も人気のあるオープンソースエディター

PhpStorm Mac バージョン

PhpStorm Mac バージョン

最新(2018.2.1)のプロフェッショナル向けPHP統合開発ツール

ゼンドスタジオ 13.0.1

ゼンドスタジオ 13.0.1

強力な PHP 統合開発環境

WebStorm Mac版

WebStorm Mac版

便利なJavaScript開発ツール

SublimeText3 Mac版

SublimeText3 Mac版

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