flexbox(Flexible Box Layout Model)はCSS3で導入されたレイアウトモードです。
flexboxの機能一覧
「flex-basis」は、flexbox(flexコンテナ内のflexアイテム)の幅を調整を指定します。
CSS Ver. | 適用要素 | 継承 |
---|---|---|
3.0 | - | 不可 |
構文 | ||
---|---|---|
display : flex; |
||
プロパティ | 設定値 | 意味 |
幅を調整 flex-basis: 値 |
数値px, auto | flexboxアイテムの幅を指定。widthと同じ機能。 flexコンテナを超える幅を指定しても比率で自動縮小される。 |
<style type="text/css">
/* ----- flexコンテナ ----- */
.flexbox1{
display : -webkit-box; /* old Android */
display : -webkit-flex; /* Safari etc. */
display : -ms-flexbox; /* IE10 */
display : flex;
background-color : #d4ddf8;
width : 270px;
height : 40px;
margin : 10px;
padding : 3px;
}
/* ----- flexアイテム ----- */
.flexbox1 > div{
margin : 3px;
min-height : 30px;
color : #fff;
text-align : center;
line-height : 30px;
flex-basis : 100px;
}
#a1{
-webkit-flex-basis: 100px;
-ms-flex-basis : 100px;
flex-basis : 100px;
}
#a2{
-webkit-flex-basis: 150px;
-ms-flex-basis : 150px;
flex-basis : 150px;
}
#a3{
-webkit-flex-basis: 70px;
-ms-flex-basis : 70px;
flex-basis : 70px;
}
.ca{background: #2d59dc;}
.cb{background: #436ae0;}
.cc{background: #597be3;}
</style>
<html>
<div class="flexbox1">
<div class="ca" id="a1">A</div>
<div class="cb" id="a2">B</div>
<div class="cc" id="a3">C</div>
</div>
</html>
「flex-basis」はflexboxの機能の一部となります。通常は他の機能と組み合わせて利用されます。
以下にて「flexbox」の機能をご確認ください。
flexboxの機能一覧
flexboxはCSS3で定義されています。このため、一部ブラウザによっては正常に動作しません。
対応状況→http://caniuse.com/#search=flex
このため、ベンダーフレックス「-webkit-」「-ms-」を利用した方が対応範囲が広がります。(上記サンプル参照)
関連するCSS(STYLE) | |
---|---|
align-content | コンテナ内の行の揃え方 |
align-items | コンテナ内の垂直方向の揃え方 |
align-self | flexコンテナの垂直(縦)位置を個別に指定 |
flex | flex-grow,flex-shrink,flex-basisをまとめて指定 |
flex-direction | flexboxアイテムの配置(縦/横) |
flex-flow | flex-directionとflex-wrapまとめて指定 |
flex-grow | flexboxアイテムの自動幅調整(伸ばす) |
flex-shrink | flexboxアイテムの自動幅調整(縮む) |
flex-wrap | flexboxアイテムの折り返し |
justify-content | コンテナ内の水平方向の揃え方 |
order | flexコンテナ内の並び順 |
display | ボックスの種類 |