球拍式导航菜单效果的实现传统的侧边菜单的问题 Gmail的侧边菜单栏 将要实现的效果 如何实现菜单与左边内容区的连通效果 要将左侧内容区和右边选中的菜单项连通起来,需要将菜单栏分成两个类别,选中和未选中的样式如右。
#sidebar li a.unselect{}{
text-decoration: none; width:100%; height:10px; font-weight:bold; color:#0000cc; border-left: 1px solid #7799dd; border-right: 0px solid #7799dd; border-top: 0px solid #7799dd; border-bottom: 0px solid #7799dd; padding-left:15px; padding-right:15px; padding-top:5px; padding-bottom:5px; } #sidebar li a.selected{}{ text-decoration: none; width:100%; height:10px; font-weight:bold; background:#ffffff; color:#000000; border-left: 0px solid #7799dd; border-right: 1px solid #7799dd; border-top: 1px solid #7799dd; border-bottom: 1px solid #7799dd; padding-left:15px; padding-right:15px; padding-top:5px; padding-bottom:5px; } 大家注意看选中项和未选中项的边框和底色设置。 <ul>
<li><a href='ShowPage?page=add&&curr=0' class='unselect'>新增诗歌</a></li> <li><a href='ViewPoems?curr=1' class='unselect'>全部诗歌</a></li> <li><a href='ShowAuthorPoem?curr=ps1&&author=崇祯皇帝&&count=1' class='unselect'>崇祯皇帝(1)</a></li> <li><a href='ShowAuthorPoem?curr=ps2&&author=苏轼&&count=2' class='selected'>苏轼(2)</a></li> <li><a href='ShowAuthorPoem?curr=ps3&&author=辛弃疾&&count=1' class='unselect'>辛弃疾(1)</a></li> </ul>
如何翻页后得知上次点击的菜单项
<ul>
<% String curr=request.getParameter("curr"); if(curr==null){ curr="0"; } if(curr.equals("0")){ out.print("<li><a href='ShowPage?page=add&&curr=0' class='selected'>新增诗歌</a></li>"); } else{ out.print("<li><a href='ShowPage?page=add&&curr=0' class='unselect'>新增诗歌</a></li>"); } if(curr.equals("1")){ out.print("<li><a href='ViewPoems?curr=1' class='selected'>全部诗歌</a></li>"); } else{ out.print("<li><a href='ViewPoems?curr=1' class='unselect'>全部诗歌</a></li>"); } // 显示作者列表 PoemSumaryService service=new PoemSumaryService(); List<PoemSummary> ls=service.getAll(); for(PoemSummary ps:ls){ if(curr.equals(ps.getId())){ out.print("<li><a href='ShowAuthorPoem?curr="+ps.getId()+"&&author="+ps.getAuthor()+"&&count="+ps.getCount()+"' class='selected'>"+ps.getAuthor()+"("+ps.getCount()+")</a></li>"); } else{ out.print("<li><a href='ShowAuthorPoem?curr="+ps.getId()+"&&author="+ps.getAuthor()+"&&count="+ps.getCount()+"' class='unselect'>"+ps.getAuthor()+"("+ps.getCount()+")</a></li>"); } } %> </ul>
<table border="0" cellspacing="0" cellpadding="0" width="100%" height="100%" style=";word-wrap:break-word;word-break;break-all;">
<tr height="10" valign="top"> <td width="100%"> <div class="sideBlank"> </div> </td> </tr> <tr valign="top"> <td width="100%"> <ul> <% %> </ul> </td> </tr> <tr height="100%" valign="top"> <td width="100%"> <div class="sideBlank"> </div> </td> </tr> </table> sideBlank的CSS设置如下: .sideBlank{}{
width:100%; height:100%; border-left: 1px solid #7799dd; border-right: 0px solid #7799dd; border-top: 0px solid #7799dd; border-bottom: 0px solid #7799dd; } 这样,菜单上下的边就封上了,视觉效果也要好一些,位置示意图如下: |
|