Dlex

Dlex
Responsive CSS framework based on flexible box ( flexbox )

初め方

こちらからZipファイルをダウンロードして/css/dlex.cssのファイルを対象のページに設置してください。

<link rel="stylesheet" href="/PATH/css/dlex.css" />

npmでもインストールできます。

$ npm install dlex

使い方

classを当てるだけでFlexboxを簡単に使えます。
複数のclassを組み合わせることで様々なレイアウトが可能になります。

横並び-基本

.flx-rowをつけるとその子要素は横並びになります。
<div class="flx-row">
    <div >First</div>
    <div>Second</div>
    <div>Third</div>
</div>
First
Second
Third

横並び-左右分離

.flx-row.flx-auto-mlまたは.flx-auto-mrをつけると要素の幅に合わせて左右に余白を取ります。
<div class="flx-row">
    <div class="flx-auto-mr">First</div>
    <div>Second</div>
    <div>Third</div>
</div>
<div class="flx-row">
    <div >First</div>
    <div>Second</div>
    <div class="flx-auto-ml">Third</div>
</div>
First
Second
Third
First
Second
Third

横並び-グリッド

.flx-rowの子要素に.flx-colをつけると均等の幅で配置されます。
<div class="flx-row">
    <div class="flx-col">First</div>
    <div class="flx-col">Second</div>
    <div class="flx-col">Third</div>
    <div class="flx-col">fourth</div>
    <div class="flx-col">fifth</div>
    <div class="flx-col">sixth</div>
</div>
First
Second
Third
fourth
fifth
sixth
.flx-col-*をつけることで12分割の幅に指定できます。
<div class="flx-row">
    <div class="flx-col-1">First</div>
    <div class="flx-col-2">Second</div>
    <div class="flx-col-3">Third</div>
</div>
First
Second
Third
.flx-col-offset-*をつけることで横幅に12分割の余白を指定できます。
<div class="flx-row">
    <div class="flx-col-1">First</div>
    <div class="flx-col-2 flx-col-offset-4">Second</div>
    <div class="flx-col-3 flx-col-offset-1">Third</div>
</div>
First
Second
Third
.flx-aroundをつけることで左右の余白を均等に保ちます。
<div class="flx-row flx-around">
    <div class="flx-col-1">First</div>
    <div class="flx-col-2">Second</div>
    <div class="flx-col-3">Third</div>
</div>
First
Second
Third
.flx-betweenをつけることで横幅いっぱいに広がり両端の余白以外の余白を均等に保ちます。
<div class="flx-row flx-between">
    <div class="flx-col-1">First</div>
    <div class="flx-col-2">Second</div>
    <div class="flx-col-2">Third</div>
    <div class="flx-col-3">fourth</div>
</div>
First
Second
Third
fourth

横並び-幅寄せ

.flx-start.flx-center.flx-endつける事で幅寄せが可能です。
.flx-start
<div class="flx-row flx-start">
    <div class="flx-col-1">First</div>
    <div class="flx-col-2">Second</div>
    <div class="flx-col-3">Third</div>
</div>
First
Second
Third
.flx-center
<div class="flx-row flx-center">
    <div class="flx-col-1">First</div>
    <div class="flx-col-2">Second</div>
    <div class="flx-col-3">Third</div>
</div>
First
Second
Third
.flx-end
<div class="flx-row flx-end">
    <div class="flx-col-1">First</div>
    <div class="flx-col-2">Second</div>
    <div class="flx-col-3">Third</div>
</div>
First
Second
Third

横並び-縦列

.flx-top.flx-middle.flx-bottomのclassをつける事で縦並びの位置の指定が可能になります。
.flx-top
<div class="flx-row flx-top">
    <div class="flx-col">First</div>
    <div class="flx-col">Second</div>
    <div class="flx-col">Third</div>
</div>
First
Second
Third
.flx-middle
<div class="flx-row flx-middle">
    <div class="flx-col">First</div>
    <div class="flx-col">Second</div>
    <div class="flx-col">Third</div>
</div>
First
Second
Third
.flx-bottom
<div class="flx-row flx-bottom">
    <div class="flx-col">First</div>
    <div class="flx-col">Second</div>
    <div class="flx-col">Third</div>
</div>
First
Second
Third

ブレイクポイント

.flx-*-sm.flx-*-md.flx-*-lgでブレイクポイント毎で切り分ける事ができます。
  • .flx-*-sm:min-width: 767px
  • .flx-*-md:max-width: 959px
  • .flx-*-lg:min-width: 960px
<div class="flx-row">
    <div class="flx-col-sm-2 flx-col-md-4 flx-col-lg-12">First</div>
    <div class="flx-col-1">Second</div>
    <div class="flx-col-1">Third</div>
</div>
First
Second
Third

対応ブラウザ

Flexbox自体が古いIEに対応していないのでそこの対応はしていません。
  • IE10以上