css 固定幅と可変幅の組み合わせ(display:flex;、width:calc()、flex-basis:auto、Bootstrapのcol)
固定幅を引いた幅を設定したい
作成日:2022-09-30, 更新日:2022-09-30
可変幅、固定幅が一つずつのとき
「flex-basis:auto」で設定
サンプル
可変幅
固定幅
ソース
<div style="display:flex;"> <div style="width:100%;flex-basis:auto;">可変幅</div> <div style="width:100%;flex-basis:200px;">固定幅</div> </div>
「width:calc()」で設定
サンプル
可変幅
固定幅
ソース
<div style="display:flex;"> <div style="width:calc(100% - 200px);">可変幅</div> <div style="width:200px;">固定幅</div> </div>
※「100% - 200px」を空白無しの「100%-200px」とすると無効になるっぽい
可変幅が2つ、固定幅が一つのとき
サンプル
可変幅
固定幅
可変幅
ソース
<div style="display:flex;"> <div style="width:calc((100% - 200px)/2);">可変幅</div> <div style="width:200px;">固定幅</div> <div style="width:calc((100% - 200px)/2);">可変幅</div> </div>
※「100% - 200px」を空白無しの「100%-200px」としても無効にならないっぽい・・・「()」で囲ったからかな?
※可変幅・固定幅の個数・比率などは、計算でどうにかできそう
Bootstrap.cssと絡める
サンプル
可変幅
固定幅
可変幅
ソース
<div class="container-fluid"> <div class="row"> <div class="col">可変幅</div> <div class="col" style="max-width:200px;">固定幅</div> <div class="col">可変幅</div> </div> </div>