二级菜单制作

要制作二级菜单,首先给需要二级菜单的元素添加二级菜单元素。如下:

       需要给“更多”添加一个二级菜单,就再用一个div或者其他容器把ul包起来,然后设置它的属性。

    <ul>
        <li><a href="#">首页</a></li>
        <li><a href="#">笔记</a></li>
        <li><a href="#">问问</a></li>
        <li><a href="#">前端</a></li>
        <li><a href="#">技术</a></li>
        <li><a href="#">教程</a></li>
        <li><a href="#">资源</a></li>
        <li><a href="#">招聘</a></li>
        <li><a href="#">我的前端</a></li>
        <li>
            <div class="title">
                <a href="#">更多</a>
            </div>
            <div class="item">
               <a href="#">我的资料</a>
               <a href="#">我的收藏</a>
               <a href="#">技术博文</a>
               <a href="#">论坛发声</a>
            </div>
        </li>
    </ul>


/*------------二级菜单列表设置-------------------------*/
/*首先设置二级菜单下的a标签的样式,如背景颜色、长宽以及其他属性,是个人需求而定*/
.item a
{
    background: rgba(0,0,0,0.7);
}
/*这里是用来设置二级菜单元素本身的属性,首先设置一个绝对定位,使其脱离文档流,然后对其进行定位,设置z-index属性确保其能够始终在页面最顶层显示,不被其他元素遮挡*/
.item
{
    position: absolute;
    display: none;
    width: 80px;
    z-index: 100;
}
/*鼠标移动到li标签时,隐藏的二级菜单会显示出来【注意hover后面要空格一下】*/
/*这里的li:hover .item的意思是鼠标移到li上面时,二级菜单会显示出来。前提是.item必须是要包含在li里面的元素,中间的空格表示包含。*/
li:hover .item
{
    display: block;
}

综上,一个简单的二级菜单就制作出来了。但是貌似会存在兼容性问题。谷歌和其他的浏览器在position:absolute;right的px值上的解读不一样。

如下两幅图:

这是谷歌的

这是火狐的

设置的right的px值都是一样的,同一台电脑。真的是百思不得其解。


posted @ 2015-12-06 17:18  ShirleyHe  阅读(415)  评论(0编辑  收藏  举报