【发布时间】:2009-02-20 01:45:43
【问题描述】:
我有一个 web 控件,顶部显示了一些链接,例如:
Link 1 | Link 2 | Link 3
目前它们都是一个 asp:Hyperlink。 Is there a clever solution for rendering out the dividing pipe characters?
目前它们位于包含的占位符中。我们无法对始终出现的给定链接做出任何保证。我不想要一个非常大的 if 语句,我也不愿意纯粹在代码隐藏中呈现所有链接......
[更新]
感谢您指出 CSS 是必经之路。这当然让事情变得更容易了。当然,我们确实需要一个跨浏览器的解决方案。
HTML 列表 ( & ) 结构可以作为 first-child / last-child 属性负责列表的末尾。 注意:这些是自动的 - 您不必在标记中指定它们。
由于我们只需要管道符号,因此我使用了边框属性。如果你愿意,你可以使用 margin-left + background 图片 CSS 属性来代替图片间隔。
我们的解决方案:
HTML:
<ul class="navMenu">
<li><a href="...">Link 1</a></li>
<li><a href="...">Link 2</a></li>
<li><a href="...">Link 2</a></li>
</ul>
CSS:
ul.navMenu li
{
display: inline;
margin-left: 0;
}
ul.navMenu a
{
border-left: solid 1px #333333;
padding-left: 0.4em;
padding-right: 0.4em;
}
ul.navMenu li.first-child a
{
border-left: none 0;
padding-left: 0;
}
【问题讨论】:
标签: asp.net html algorithm user-interface