誰かが私がプロジェクトに使用しているパッカリーの経験を持っていることを願っています.
水平レイアウトが機能しません。HTML で packery オブジェクトを宣言すると、ある程度は機能するようです。
<div class="packery js-packery" data-packery-options='{ "isHorizontal": true }'>
...
</div>
ドキュメントが示唆するように、CSSを介して幅と高さが変更されていないように見えますが。しかし、Javascript を使用する必要があるため、これ以上掘り下げる必要はありません。そして、同等のものはまったく機能していないようです:
$('.packery').packery({
itemSelector: '.item',
isHorizontal: true,
});
これにより<div>
、packery オブジェクトが高さ 0px、幅 4px に割り当てられた要素が生成されます。(4px の幅は、おそらく一部の項目の 1px の境界線に由来します。) packery のドキュメントによると、水平レイアウトでは高さを設定する必要があります。しかし、packery が HTML または Javascript で初期化されたかどうかに関係なく、ドキュメントによって提供される CSS は何もしないようです。
/* containers need height set when horizontal */
.packery.horizontal {
height: 200px;
}
それでも、挿入したアイテムは表示されず、パッカリ<div>
は 4px x 0px です。そこで、Javascript でコンテナーの高さを強制しました。
$('.packery').css('height', '400px');
これにより、要素の高さが増加しますが、幅は 4 のままです。したがって、すべての要素は本質的に幅がゼロであり、見えません。そこで、コンテナの幅を強制しようとしました:
$('.packery').css('width', '1000px');
しかし、この幅は無視されているようです。<div>
Chrome の開発者モードで要素エディターを使用して の幅を強制することができます。これにより、醜いコンテンツが表示されます。<div>
しかし、Javascript で の幅を設定するにはどうすればよいですか? の呼び出しの前または後に、packery が設定した幅をオーバーライドしているようpackery()
です。
packery のすべては、垂直レイアウトに最適に機能するようです。しかし、私は本当に水平レイアウトを使用したいのですが、明らかに何か間違っています。誰でも助けることができますか?