ホームページ ウェブフロントエンド CSSチュートリアル フレックスシュリンクはどのように計算されますか?フレックスシュリンクの計算方法の紹介

フレックスシュリンクはどのように計算されますか?フレックスシュリンクの計算方法の紹介

Oct 20, 2018 pm 03:53 PM
css flexbox

この記事の内容は、フレックスシュリンクの計算方法についてです。フレックスシュリンクの計算方法については、参考にしていただければ幸いです。

flex-grow を確認しましょう

幅がそれぞれ 200px の 3 つのサブ div1、div2、div3 を含む div があるとします。
flex-grow の場合フレックス レイアウトを使用したことがある人は、残りのスペース割り当て率の計算に精通していると思います。簡単な計算式は次のとおりです。
div1、div2、div3 の flex-grow がそれぞれ 1、2、3 に設定されているとします。次に、外側の div の幅が 800 ピクセルで、残りが 800 ピクセルであるとします。 - 3*200px = 3 つの子 div に 200px を割り当てるにはどうすればよいですか?
3 つの div に割り当てられる追加スペースは次のとおりです。

div1: 1 / (1 2 3) 200px = 1/6 200px

div2: 2 / (1 2 3) ) 200px = 2/6 200px

div3:3 / (1 2 3) 200px = 3/6 200px

フレックスシュリンクはどのように計算されますか?フレックスシュリンクの計算方法の紹介

#重要なポイント さて、フレックスシンクはどのように計算されるのでしょうか?

flex-shink 属性は主に、外側の div の幅が十分でない場合に、サブ div を一定量のスペースだけ縮小して、不十分な幅をオフセットするために使用されます。

たとえば、3 つのサブ div の幅は現在 600 ピクセルですが、外側の div の幅を 500 ピクセルに設定しています。600 ~ 500 ピクセルではない場合、サブ div を 100 ピクセル縮小するにはどうすればよいですか?表示されるのに十分です。このとき、flex-shrink が役に立ちます。具体的にはどのように計算すればよいのでしょうか。
この属性は flex-grow と似ており、計算方法も似ていると言われることがあります (実際には違いがあります)。しかし、それを具体的にどのように計算するかについては、具体的な計算式を示さなかった MDN や W3CShcool を含め、多くの人が明確に伝えることができません。また、いいねの多い記事の計算式が間違っていることが分かりました。これがこの記事を書きたい理由です。

さて、早速、収縮スペースの計算方法について話しましょう。

最初に例のコードを投稿します:
html 部分:

<div>
    <div>1</div>
    <div>2</div>
    <div>3</div>
</div>
ログイン後にコピー
css 部分:

.outer {
  width: 500px;
  display: flex;
}
.outer div {
  height: 80px;
}

.div1 {
  flex: 1 1 100px;
  background: red;
}
.div2 {
  flex: 1 2 200px;
  background: yellow;
}
.div3 {
  flex: 1 3 300px;
  background: green;
}
ログイン後にコピー
最初に合計の重みを計算します TW = 100px 1(flex-shrink) 200px 2 (flex -shrink) 300px *3(flex-shrink) = 1400px

これは、各 div の幅の合計に flex-shrink 係数を掛けたものです。

各 div の縮小スペースは次のとおりです: div フレックス縮小係数の幅 / 合計の重み TW 縮小する必要がある合計の幅 (この例では 600px - 500px = 100px)

したがって、各 div の最終的な幅の計算式は次のとおりです。

div1最后的宽度 = 100px - 100*1/1400 * 100px = 92.86px

div2最后的宽度 = 200px - 200*2/1400 * 100px = 171.42px

div3最后的宽度 = 300px - 300*3/1400 * 100px = 235.72px
ログイン後にコピー
デモ アドレス: https://jsfiddle.net/lingzhen...

スクリーンショットは次のとおりです。 :

フレックスシュリンクはどのように計算されますか?フレックスシュリンクの計算方法の紹介

ヒント: 他の人の記事で数式を見つけた場合は、怠惰に例を書いて自分で検証してください。誤解されたかも知れませんが、気に入ってコレクションに加えていただけると思います。結局のところ、実践は真の知識をもたらします。

ところで: この属性は、実際には flex-grow に比べてほとんど使用されないため、多くの人はこの属性がどのように計算されるかを調べていません。


以上がフレックスシュリンクはどのように計算されますか?フレックスシュリンクの計算方法の紹介の詳細内容です。詳細については、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衣類リムーバー

Video Face Swap

Video Face Swap

完全無料の AI 顔交換ツールを使用して、あらゆるビデオの顔を簡単に交換できます。

ホットツール

メモ帳++7.3.1

メモ帳++7.3.1

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

SublimeText3 中国語版

SublimeText3 中国語版

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

ゼンドスタジオ 13.0.1

ゼンドスタジオ 13.0.1

強力な PHP 統合開発環境

ドリームウィーバー CS6

ドリームウィーバー CS6

ビジュアル Web 開発ツール

SublimeText3 Mac版

SublimeText3 Mac版

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

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

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

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

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

HTML、CSS、およびJavaScriptの理解:初心者向けガイド HTML、CSS、およびJavaScriptの理解:初心者向けガイド Apr 12, 2025 am 12:02 AM

webdevelopmentReliesOnhtml、css、andjavascript:1)htmlStructuresContent、2)cssStylesit、および3)Javascriptaddsinteractivity、形成、

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

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

ブートストラップにスプリットラインを書く方法 ブートストラップにスプリットラインを書く方法 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:09 PM

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

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

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

See all articles