Liftweb 菜单定制
我想创建一个如下所示的菜单:
HOME | FOO |酒吧|关于 |联系方式
我该怎么做?
这是我尝试过的:
<lift:Menu.builder ul:class="menu" li_item:class="current" />
这
ul.menu li {
display: inline;
list-style-type: none;
text-transform: uppercase;
border-right: 1px solid white;
padding-right: 5px;
}
li.current span {
background: white;
color: black;
padding: 5px 5px 3px 5px;
font-size: 11px;
}
li.current a, a:visited, a:link {
color: white;
padding: 5px 5px 3px 5px;
font-size: 11px;
}
很接近,但看起来不太正确。最后你还会得到一条额外的线。我希望线条与文字高度相同。
http://lh5.ggpht.com/_5DxlOp9F12k/S2aFQHfupzI/AAAAAAAAJiY /Ds0IpEyu78I/s800/menu.png
I want to create a menu that looks like:
HOME | FOO | BAR | ABOUT | CONTACT
How might I go about doing this?
Here is what I have tried:
<lift:Menu.builder ul:class="menu" li_item:class="current" />
and
ul.menu li {
display: inline;
list-style-type: none;
text-transform: uppercase;
border-right: 1px solid white;
padding-right: 5px;
}
li.current span {
background: white;
color: black;
padding: 5px 5px 3px 5px;
font-size: 11px;
}
li.current a, a:visited, a:link {
color: white;
padding: 5px 5px 3px 5px;
font-size: 11px;
}
This gets close, but it doesn't look quite right. Also you end up with an extra line at the end. I want the lines to be the same height as the text.
http://lh5.ggpht.com/_5DxlOp9F12k/S2aFQHfupzI/AAAAAAAAJiY/Ds0IpEyu78I/s800/menu.png
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(4)
可能有一种更干净的方法来做到这一点。在站点地图中声明网址后,您几乎可以将它们用作模板中的常规链接。您可以将它们编写为纯 html。
在 Boot.scala 中:
在您的模板中,例如 index.html:
或者如 Debilski 所说,您还可以按名称调用每个菜单项。这将更加提升-iesc。
然后,您可以在外部样式表文件或页面内部添加所需的任何样式。
There might be a cleaner way to do this. Once you've declared the urls in your sitemap, you can pretty much use them as regular links in your template. You would write them as pure html.
In Boot.scala:
In your template, e.g. index.html:
Or as said Debilski, you can also call each menu item by their name. It would be more Lift-iesc.
You can then add any style you want in an external stylesheet file or inside the page.
要删除最后一行,您可以使用 :last-child 伪类:
To get rid of the last line, you could use the :last-child pseudo-class:
您可能想尝试使
元素具有
这样,它们的行为将更像块元素,并且可能与链接同步。另外,您可以尝试使用
line-height
属性,而不是添加垂直填充,因为 line-height 将以更精确的方式垂直居中文本。You might want to try to make the
<li>
elements have an inline-blockdisplay
.This way, they will behave much more like block elements and might sync with the links. Also, you can try playing with the
line-height
property instead of adding vertical padding, since the line-height will center the text vertically in a more precise manner.发现其他答案不令人满意后,我发现了自己的解决方案...
(请注意,我是 Lift 的新手,并且相信菜单太难手动编码)
解决方案
完整的解决方案位于:
http://subversion.assembla .com/svn/freshcode_public/learn_scala/lift/src/main/scala/code/snippet/CustomMenu.scala
用法:
Having found the other answers unsatisfactory I discovered my own solution...
(Note that I am new to Lift and believe menus are too difficult to code manually)
Solution
Full solution is available at:
http://subversion.assembla.com/svn/freshcode_public/learn_scala/lift/src/main/scala/code/snippet/CustomMenu.scala
Usage: