CSS 位置プロパティが絶対の場合のパーセンテージ値の計算

CSS 位置プロパティが絶対の場合のパーセンテージ値の計算

位置が絶対の場合、関連する属性のパーセンテージは、参照先の要素 (包含ブロック) を基準として計算され、位置がレンダリングされます。

まず、次のことを知っておく必要があります。

1. [パーセンテージ参照][1]:

包含ブロックに基づいてパーセンテージを計算する: (1) 要素の margin/padding/left/right/width は包含ブロックの幅を参照して計算されます。 (2) height/top と bottom のパーセンテージを計算するには、包含ブロックの高さが使用されます。包含ブロックの高さがその内容に基づいて変化し、包含ブロックの位置プロパティに relative または static の値が割り当てられている場合、これらの値は 0 に計算されます。

2. [包含ブロックを決定する][2]:

要素の包含ブロックを決定するプロセスは、要素の位置プロパティに完全に依存します。

(1)位置プロパティが静的または相対的である場合、包含ブロックは、最も近い「祖先ブロック要素」(インラインブロック、ブロック、リスト項目要素など)またはフォーマットコンテキスト(テーブルコンテナ、フレックスコンテナ、グリッドコンテナ、ブロックコンテナ自体など)のコンテンツ領域の端で構成されます。

(2)位置プロパティが絶対値の場合、包含ブロックは、位置値が静的でない(つまり、値が固定、絶対、相対、またはスティッキーである)最も近い祖先要素のパディング領域(パディング左+コンテンツ+パディング右)の端から構成されます。

<!DOCTYPE html>
<html lang="ja">
<ヘッド>
    <スタイル>
     体 {
  色: オレンジ;
}
div {

  位置: 絶対; 
  /*box-sizing: border-box; /*content=(width-border-padding)追加する場合 box-sizing: border-box;; width=content 追加しない場合 */*/
  幅: 400ピクセル;
  境界線: 5px 実線オレンジ;
  パディング: 50px;
  高さ: 160px;
  背景: ライトグレー;
}

p {
  position: absolute; /* 包含ブロックは、最も近い祖先要素(ブロック要素である場合もそうでない場合もある)のパディング エッジ(pa​​dding-left + content + padding-right)で構成されます。
  幅: 50%; /* == (50+400+50)px * 50% = 250px */
  高さ: 25%; /* == (50+160+50)px * 25% = 65px */
  マージン: 5%; /* == (50+400+50)px * 5% = 25px */
  境界線: 5px 実線オレンジ;
  パディング: 5%; /* == (50+400+50)px * 5% = 25px */
  背景: ピンク;
  色: 緑;
}
/*p {
   /* 包含ブロックは、最も近い祖先ブロック要素(ブロック要素のみ可能)または書式設定コンテキストのコンテンツ領域の端(コンテンツ)で構成されます。
  幅: 50%; /* == 400px * 50% = 200px */
  高さ: 25%; /* == 160px * 25% = 40px */
  マージン: 5%; /* == 400px * 5% = 20px */
  境界線: 5px 実線オレンジ;
  パディング: 5%; /* == 400px * 5% = 20px */
  背景: ピンク;
  色: 緑;
}*/
    
    </スタイル>
</head>
<本文>
    <div>
        <p>これは段落です!</p>
    </div>
</本文>
</html> 

以上がこの記事の全内容です。皆様の勉強のお役に立てれば幸いです。また、123WORDPRESS.COM を応援していただければ幸いです。

<<:  MySQLインデックスの作成について知っておくべきこと

>>:  ウェブデザインレイアウトの理解

推薦する

CSS スタイルのリセットとクリア (異なるブラウザで同じ効果を表示するため)

異なるブラウザ間でページの表示を一致させるためには、フロントエンド開発において CSS スタイルのク...

MySQL ルートパスワードを変更する 4 つの方法 (要約)

方法1: SET PASSWORDコマンドを使用するまずMySQLにログインします。フォーマット: ...

MySQL構成SSL証明書ログインの実装

目次序文1. MySQLはSSL構成を有効にする1.1 SSLが有効になっているかどうかを確認する1...

Docker: /etc/default/docker の DOCKER_OPTS パラメータを変更しても反映されない

デフォルトでは、 /etc/default/docker 設定は有効になりません。docker 環境...

MySQL 5.7.21 履歴データディレクトリからデータを復元するチュートリアルの解凍バージョン

状況の説明: データベースが異常に起動およびシャットダウンしたため、サービスを再度起動したときに「起...

VMware12 で Ubuntu19.04 デスクトップ版をインストールする (インストール チュートリアル)

1. 実験の説明仮想マシンに、 Ubuntu 19.04オペレーティングシステムを手動でインストー...

HTML フォーム タグの使用方法を学ぶチュートリアル

HTML のフォームを使用して、ユーザーからさまざまな種類の入力情報を収集できます。フォームは、実際...

MySQL RouterはMySQLの読み取りと書き込みの分離を実装します

目次1. はじめに2. MySQLルーターを構成する2.1 MySQLルーターのインストール2.2 ...

Dockerの一般的なコマンドとヒントのまとめ

インストールスクリプトUbuntu / CentOS Debian のインストールに問題があるようで...

Vue はカードフリップカルーセル表示を実装します

Vueカードのフリップカルーセル表示、フリップ時にデータを切り替えながら、参考までに、具体的な内容は...

Tomcat を設定して IntelliJ IDEA 2018 で最初の Java Web プロジェクトを実行する方法

1 Tomcatをダウンロードして起動する公式サイト http://tomcat.apache.or...

Linux での SSH パスワードフリーログイン設定の詳細な説明

Linux サーバー A と B が 2 台あり、一方のサーバーから SSH 経由でパスワードなしで...

CentOS7 での PostgreSQL 11 の詳細なインストールと設定のチュートリアル

1. 公式ウェブサイトアドレス公式サイトではインストールの参考手順が紹介されています。公式サイトを見...

IEではボタンが両側に伸びる

ボタン (input, button) を記述すると、IE では次のようになります。単語数が増えると...

MySQL 5.6 の「暗黙的な変換」によりインデックスが失敗し、データが不正確になる

背景SQL クエリを実行するときに、where 条件の vachar 型フィールドの単一引用符を削除...