添付画像がどのような状態なのか理解できません。
flex-growはflexコンテナが大きく余白があった場合、複数のflexアイテムをどの割合で伸ばして余白を埋めるか?と言うように理解しています。
flex-shrinkはコンテナが大きくアイテムがコンテナに収まらない場合、各々のflexアイテムをどのくらいの割合で縮めるか? というように理解しています。
ここに出てくるflex-basisはコンテナ内のアイテムの基本的は幅だと解釈しています。
添付画像のCSS".box1"に”flex-grow:1;”が設定されていますがこれだけなら意味がわかります。box2やbox3は幅を変えずにbox1のみ幅を伸ばして余白を埋めたと考えられます。
が、ここに何のために ”flex-shrink:1;”が設定されているのかわかりません。
幅を伸ばしているのに、何のために"flex-shrink:1;"をつけて縮めようとしているのでしょうか?
flexプロパティの基本的な部分かと思いますが自分には理解できません。
分かる方いらっしゃいましたら初心者にわかるように教えてください。
よろしくお願いいたします。
No.1ベストアンサー
- 回答日時:
boulevard5さん
・・・・・・何のために ”flex-shrink:1;”が設定・・・・・・・・・・・・・
flex-grow, flex-shrink の何れも、「伸縮・圧縮が可能な時に」伸縮・圧縮比率を配分します。
従って、全体で親要素に満たない場合は、伸縮係数が、
全体で親要素を超える場合は、圧縮係数が、
それぞれ適用されます。
ご参考に↓
http://www.tohoho-web.com/css/prop/flex-shrink.htm
<!DOCTYPE html>
<html lang="ja">
<head>
<meta charset="ut8">
<style>
.wrap1 { display:flex; height:40px; border:1px #333 solid; width:500px; }
.wrap2 { display:flex; height:40px; border:1px #333 solid; width:250px; }
.item1{flex:1 0 90px; background:#fcc;} /* 伸長する 圧縮せず 幅指定 */
.item2{flex:0 0 40px; background:#cfc;} /* 伸長せず 圧縮せず 幅指定 */
.item3{flex:0 2 180px; background:#ccf;} /* 伸長せず 圧縮する 幅指定 */
</style>
</head>
<body>
<div class="wrap1">
<div class="item1">A</div>
<div class="item2">B</div>
<div class="item3">C</div>
</div>
<div class="wrap2">
<div class="item1">A</div>
<div class="item2">B</div>
<div class="item3">C</div>
</div>
</body>
</html>
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- HTML・CSS flex の指定する数値について 2 2022/04/26 22:23
- HTML・CSS display: flex; と flex の違い 1 2022/04/25 20:52
- オープンソース cssで中央寄せ 1 2023/05/19 06:25
- HTML・CSS PCサイズで赤い画像2つと、青い画像2つがそれぞれ横に2つずつ並んでいるのですが、これをスマホサイズ 5 2022/04/11 12:01
- Windows 10 hp probook 455へのchrome os flexのインストール 1 2022/08/07 11:02
- HTML・CSS flex の各子要素を横幅 100% にしたい 1 2022/09/22 21:25
- 教育ソフト・学習ソフト 「flex as fuck」の意味は何ですか? 1 2023/02/25 10:28
- ノートパソコン バッテリー保護を目的としたノートパソコンの過充電対策について 4 2022/08/08 18:37
- HTML・CSS テキストを画面の真ん中に配置したいです。 2 2022/11/25 16:11
- その他(IT・Webサービス) cssの@mediaについて 1 2023/05/14 07:34
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
htmlの文字が縦書きになる
-
余分な縦スクロールバーが出て...
-
floatすると一部、段になってし...
-
css初心者 フレックスボックス...
-
borderをページの下まで伸ばしたい
-
CSSで「overflow:scroll」をしてい
-
Firefoxで表示できるgifファイ...
-
背景画像をセットしたh1にmargi...
-
Media Queries 4 で 非推奨とな...
-
widthやheightの数値に単位(px...
-
画像イメージの上下左右、欲し...
-
<li>の先頭に出るスペースの埋...
-
table周辺の隙間をなくしたい。
-
表示倍率を変えるとレイアウト...
-
スタイルシートで画面を縦に2...
-
WEBサイト作成:初心者です...
-
メディアクエリ スマホ対応のサ...
-
form input テキストを上下中央...
-
【HTML】【CSS】【Swiper】 元...
-
ロールオーバーで画像がずれな...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
htmlの文字が縦書きになる
-
widthやheightの数値に単位(px...
-
画像イメージの上下左右、欲し...
-
css初心者 フレックスボックス...
-
表示倍率を変えるとレイアウト...
-
CSSがなぜかfont-sizeだけ効か...
-
CSS、width100%でもできる余白
-
W3Cのソースコードの検証サービ...
-
CSS:animation開始位置の設定
-
CSSで指定した背景画像にリンク...
-
余分な縦スクロールバーが出て...
-
<div>と<div>の間の10px程の...
-
【CSS】ヘッダーの高さが不明の...
-
CSSでボックスのheightが0になる
-
スクロールボックスを中央に配...
-
li 黒丸含んで移動する方法
-
border-style:solidで文字がずれる
-
Media Queries 4 で 非推奨とな...
-
【HTML&CSS】フッター下部の余...
-
初心者html・CSS ウィンドウを...
おすすめ情報