我有这个asp.net代码:
@foreach( var database in Model)
{
if (!(firstTime == database.DB))
{
<h3> @database.DB </h3>
}
<div class="logContainer" onclick="location.href='/logs/Details?databaseID=@database.DB&exceptionName=@database.Exception&exceptionsOccurred=@database.Count';">
<div class="counter"><b>@database.Count</b></div>
<div class="exceptionName"> Exceptions of Type: @database.Exception</div>
<div class="date">Siste: @database.LastOccurred</div>
<hr /> </div>
firstTime = database.DB;
}
这个CSS:
.logContainer
{
width:500px;
}
.logContainer:hover
{
cursor:pointer;
background-color:#ffffcc;
}
.counter {
height: 30px;
width:35px;
float:left;
background: none repeat scroll 0 0 #E6FFDC;
border: 1px solid #BBDD66;
text-align:center;
vertical-align:middle;
line-height:1.5em;
font-size:1.5em;
}
.exceptionName
{
width:200px;
display:inline;
padding-left: 10px;
display: inline;
}
.date
{
font-size: 0.9em;
color:gray;
width:200px;
padding-left: 47px;
}
它的作用是每行显示输出行,当Dabase.DB更改时,它会写入并重新开始。
我想要的是水平显示输出,每行有3个logcontainer,如果我遇到一个新的database.DB,请打破它,写下数据库的名称并从左边开始。
我该怎么做修改代码呢?
答案 0 :(得分:1)
让你的.logcontainer
浮动到左边,每3个显示,清除浮动。
currentCol = 0
@foreach( var database in Model)
{
if (!(firstTime == database.DB))
{
<h3> @database.DB </h3>
currentCol = 0
}
<div class="logContainer" onclick="location.href='/logs/Details?databaseID=@database.DB&exceptionName=@database.Exception&exceptionsOccurred=@database.Count';">
<div class="counter"><b>@database.Count</b></div>
<div class="exceptionName"> Exceptions of Type: @database.Exception</div>
<div class="date">Siste: @database.LastOccurred</div>
</div>
currentCol += 1;
if (currentCol = 2) { //3 columns were displayed, switch row
currentCol = 0;
<br style="clear:both" />
}
firstTime = database.DB;
}
CSS:
.logContainer
{
width:500px;
float:left;
}
note :如果.logContainer的父容器宽度小于1500px,则最终会得到一行2列,后跟一行1列。