2014-01-05 4 views
5

CSS3 Flexモデルを使用してフルスクリーンカレンダーアプリケーションを作成したいと思います。私はカレンダーを水平にうまくフィットさせることができますが、カレンダーの週を均等に伸ばして、利用可能な高さをすべて消費させる方法も見つけられません。私はそれらdisplay: flex;作るまで数週間が均等に分散されているhttp://jsfiddle.net/CgXLa/CSS3 Flex - 伸縮幅と高さ

は、ここに私のジレンマを説明するjsFiddleです。私がすべての日をdiv要素に囲み、毎週代わりにdisplay: flex;にするとしても、私はまだ同じ問題を抱えています。

Flexモデルを使用して水平方向に両方とも伸縮するにはどうすればよいですかを縦に伸ばしますか?

+0

、1500+評判の誰もが素晴らしいだろう 'CSS-flex'タグを作成することができます。 –

+1

タグは既に存在し、フレックスボックス – vals

+0

@valsありがとう、それはAdobe/Macromedia Flexのすべてのもので混雑していました。 –

答えて

10

私の解決策です。

私は数週間の間に余分なラッパーを削除しました。今週および第カレンダー

<main id="calendar"> 
    <section class="th"> 
     <span>Sunday</span> 
     <span>Monday</span> 
     <span>Tuesday</span> 
     <span>Wednesday</span> 
     <span>Thursday</span> 
     <span>Friday</span> 
     <span>Saturday</span> 
    </section> 
    <div class="week"> 
     <div></div> 
     <div></div> 
     <div></div> 
     <div data-date="1"></div> 
     <div data-date="2"></div> 
     <div data-date="3"></div> 
     <div data-date="4"></div> 
    </div> 
    .... 

のすべての直接の子孫である今私のCSSは

/* Calendar 100% height */ 
#calendar { height: 100%; 
    display: flex; 
    flex-flow: column nowrap; 
    align-items: stretch; 
} 

.th { 
    flex: 30px 0 0; 
} 
.week { 
    flex: 30px 1 0; 
    border-bottom: 1px solid #ccc;  
} 

キーは番目の要素に明確な高さ(フレックス基礎:30px)を与えることであるが、無フレックス・グロース、週の高さもいくつか始まりますが、フレックス・グロース:1.

残りのスペースはすべて残りのスペースを均等に使用しないカレンダーから取り出します。また

updated fiddle

+0

ありがとうございました!まさに私が探していたもの! –

+0

それが助けてくれてうれしい! – vals

+1

これをお寄せいただきありがとうございます。自動的に幅を伸ばすために、キーの部分は各フレックスチャイルドの幅を100%に設定していました。 – jbyrd

関連する問題