我需要你的帮助! 我有一个图像来显示我的问题
我想使用CSS来执行此操作,并且不再使用div或元素,因为我在ASP.NET中对此进行了编码。每个项目都显示在数据库中。
实施例: ASP代码:
<ul id="vitravleNav" name="vitravleNav">
<asp:SqlDataSource ID="SqlDataSource1" runat="server"
ConnectionString="<%$ ConnectionStrings:dulich %>"
SelectCommand="SELECT top(8) [tenmenu], [urlhinh] FROM [menu] WHERE anhien=1">
</asp:SqlDataSource>
<asp:Repeater ID="Repeater1" runat="server" DataSourceID="SqlDataSource1">
<ItemTemplate>
<li>
<a href="<%# Eval("urlhinh") %>" title="<%# Eval("tenmenu") %>" ><im<%#Eval("tenmenu") %></a>
</li>
</ItemTemplate>
</asp:Repeater>
</ul>
CSS代码:
#vitravleNav
{
margin: 0px 0px;
list-style: none;
letter-spacing: -0.5px;
font-size: 16px;
text-shadow: 0 -1px 3px #202020;
width: 100%;
height: 100%;
}
#vitravleNav li
{
display: block;
float: left;
border-right: 1px solid white;
border-left: 1px solid white;
width: 12.3%;
height: 100px;
text-align:center;
vertical-align:middle;
background-color: #0099FF;
}
#vitravleNav li:hover
{
box-shadow: inset 0 1px 4px 4px white;
}
#vitravleNav li a
{
color: white;
text-decoration: none;
text-align: center;
display: block;
line-height: 50px;
outline: none;
padding-top:40px;
}
以下是HTML输出图片:http://i1265.photobucket.com/albums/jj507/mabonblog/3_zps02c6598a.png
答案 0 :(得分:1)
您可以使用nth-of-type-pseudo选择器执行此操作:on w3.org
#vitravleNav li {
position: absolute
...
}
#vitravleNav li:nth-of-type(3) {
left: 25%
}
#vitravleNav li:nth-of-type(5) {
left: 50%
}
#vitravleNav li:nth-of-type(6) {
left: 70%
}
您可以在此处找到演示:dabblet或with code on dabblet 代码为gist on github。
最诚挚的问候。
答案 1 :(得分:1)
由于没有HTML
继续传递,我将从我的评论中发现想法。
您看起来希望将元素包装在行和列中,并尽可能地填充空间。
项目似乎有预定义的大小。
对于column-width
+ height
的想法,请参阅此演示,其中的图片最多为200像素广场。
<强> DEMO 强>
开始时的基本规则:
li, img {
float:left;
display:block;/* kills bullet*/
}
ul, li {
margin:0;
padding:0;
}
ul {
column-width:200px;
height:200px;
}
<强> DEMO with border and margin. 强>
其他,
你有带有选项的砌体脚本:
http://masonry.desandro.com/options.html
这也可能是一个提示。