【发布时间】:2015-08-08 09:25:07
【问题描述】:
首先要警告的是,我在 HTML、CSS 和 JS 方面几乎是一条鱼,所以在任何回复中都不会太详细。我发现了一些关于 CSS 转换的类似问题,但我的知识有限,我无法判断它们是否是我应该走的路线....
所以我的 MVC 应用程序视图中有一个 HTML 对象。它的形成如下所示,并为列表中的每个项目(基本上是人员对象列表)形成一个类似名片的元素,显示列表中人员的姓名、公司、笔记、图像等。
<div style="border: 1px solid lightgray;resize: both; overflow: hidden;height:240px;margin-bottom:5px;padding-left:5px;width:320px;">
<div style="display:inline-block;float:left;width:220px;">
<div><h4>@itm.FirstName @itm.LastName</h4></div>
<div>
<b>Last Visit: </b>
@if (itm.LastVisit != DateTime.MinValue)
{
@itm.LastVisit.ToString("dd MMM yyyy")
}
else
{
@Html.Raw("n/a")
}
</div>
@if (itm.LastVisit != DateTime.MinValue)
{
<div><b>Time Elapsed: </b>@(itm.TimeSinceLastVisit + 1) days<br /></div>
}
<div><b>Date Joined: </b>@itm.DateJoined.ToString("dd MMM yyyy")</div>
<div><b>Company: </b>@itm.Company<br /></div>
<div><b>Position: </b>@itm.Position</div>
@if (itm.Notes != null)
{
<div style="padding-top:5px;"><b>Notes</b></div>
<div style="width: 220px;">@Html.Raw(System.Web.HttpUtility.HtmlDecode(itm.Notes))</div>
}
</div>
<div class="profileImage" style="height:100%;float:left;margin-left:5px;padding-top:5px;padding-right:5px;text-align:right;">
@if (itm.ImageUrl != null)
{
<img src="~/Content/images/@itm.ImageUrl" />
}
else
{
<img src="~/Content/images/No_Photo_Silo.jpg" />
}
</div>
</div>
随着列表的填充/更改,这些名片元素填充页面形成网格(网格不是预先编程的,从技术上讲,这些元素实际上只是形成一个长行,当前一个被填充时开始一个新行)。
我希望这些元素的大小可变,以便用户可以根据屏幕分辨率或特定用途更改它们的大小。
我如何不仅可以动态调整 div 对象本身的大小,还可以动态调整其所有子元素的大小,包括 img 对象。我希望最终用户可以通过滑块或下拉框来控制它,其中包含 2x2、3x3、4x4 等预设选项......
可以吗?或者有没有其他简单的方法可以替代我的做法?
JK
【问题讨论】:
标签: javascript c# jquery html css