ASP.NET WebフォームでPinterestのようなレイアウトを作成しており、次の2つのチュートリアルに従いました
ただし、2 番目のチュートリアルに基づいて最初のチュートリアルに変更を加えたところ、出力を下回っています。
明らかに、これは私が探していたものではありません。2 つの行と列の間のギャップが大きい。
以下は私のコードです:
<
style type="text/css">
body
{
background-color:#EEEEEE;
}
#imgLoad
{
position:fixed;
bottom:0;
left:40%;
display:none;
}
.item {
width: 220px;
margin: 10px;
float: left;
background-color:honeydew;
}
</style>
<div id="container" class="transitions-enabled infinite-scroll clearfix">
<asp:Repeater ID="Repeater1" runat="server">
<ItemTemplate>
<div class="item">
<img src="<%# Eval("Url") %>" />
<p><%# Eval("Description") %></p>
</div>
</ItemTemplate>
</asp:Repeater>
</div>
どうすれば修正できますか?これは高さに関係していると思いますが、リピーターコントロールの行の高さが列の中で最も高いのかもしれません。
私はASp.NET MVCでそれをやろうとしました
コントローラ
IEnumerable<Product> model = ProductRepository.GetData(1, 25);
return View(model);
意見
<!--[if lt IE 9]><script src="http://html5shim.googlecode.com/svn/trunk/html5.js"></script><![endif]-->
<style type="text/css">
.item {
width: 220px;
margin: 5px;
float: left;
background-color:honeydew;
}
</style>
<script src="http://ajax.googleapis.com/ajax/libs/jquery/1.8.0/jquery.min.js" type="text/javascript"></script>
<script src="Scripts/Mansory.js" type="text/javascript"></script>
<script type="text/javascript">
var $container = $('#container');
$container.imagesLoaded(function () {
$container.masonry({
itemSelector: '.item',
columnWidth: 100,
isAnimated: false
});
});
</script>
@foreach (var item in Model) {
<div class="item">
<img src="@(item.Url)" />
@Html.DisplayFor(modelItem => item.Description)
</div>
}
でも同じ結果
EDIT 1 スクリプトを次のように変更しました
<script type="text/javascript">
$(function () {
var $container = $('#container');
$container.masonry({
itemSelector: '.item',
columnWidth: 240,
isAnimated: false
});
});
</script>
とコード
@foreach (var item in Model) {
<div id="container">
<div class="item">
<img src="@(item.Url)" />
@Html.DisplayFor(modelItem => item.Description)
</div>
</div>
}
でも同じ結果