2016-12-07 2 views
2

マテリアライズCSSは、たとえばマテリアルデザインをサポートしているため、マテリアライズCSSがブートストラップよりも好きです。私はこれまでのところ本当に好きです、それはjavascriptセクションでさえ多くの役に立つコンポーネントを持っています。しかし、私が一番欠けているのは、高さの異なる動的グリッドレイアウトです。あなたが私の英語を取得しない場合は、画像を見てください。私はそれを図1のようにしたいと思います。別のJavaScriptフレームワーク/ライブラリを使用せずにそれを行う方法はありますか?MaterializeCSS - 高さの異なるグリッドレイアウト

enter image description here

+0

私は目を考えます純粋なCSSでそのレイアウトをラッピングアルゴリズムとして取得する方法はありません。フレックスボックスの場合でも、空のスペースを考慮せずに次の行に折り返します。 あなたの例は、アイテムの順序がグリッド内にすでに配置されているアイテムによって取られた最小の高さに依存するため、さらに複雑です。 –

+0

[this algorithm](https://jsfiddle.net/4e32zLna/)を使用すると、項目がそれぞれ配置された列のn次元配列になります。 Flexboxまたはパーセンテージ幅を使用してこれらの列をレイアウトし、デフォルトのレイアウトで項目を縦に列に積み重ねます。 次に、任意のビューライブラリを使用してレンダリングできます(例:React)。 [こちらの反応液を参照](https://jsfiddle.net/4e32zLna/) –

答えて

0

純粋なCSSのソリューションは、columnプロパティを使用することであろう。

しかし、内側のdivの幅が同じ場合にのみ機能することに注意してください。

HTML

<section> 
    <img src="path" /> 
    <img src="path" /> 
    <img src="path" /> 
    <img src="path" /> 
</section> 

CSS

body{ 
    margin: 0; 
} 

section{ 
    column-width: 300px; 
    column-gap: 5px; 
    padding: 5px; 
} 

section img{ 
    width: 100%; 
} 

デモ

Pen

関連する問題