资讯专栏INFORMATION COLUMN

前端入门教程——纯css制作二级菜单

freecode / 3094人阅读

摘要:首先,需要声明的是本教程是写给初级者参考的,如果您已经有一定的基础请直接忽略吧二级菜单是网站开发中很常见的功能模块,但是对于初级者来说却还是有些困难,下面我就拿几个常见的案例来讲好了。

首先,需要声明的是本教程是写给初级者参考的,如果您已经有一定的基础请直接忽略吧

二级菜单是网站开发中很常见的功能模块,但是对于初级者来说却还是有些困难,下面我就拿几个常见的案例来讲好了。

鼠标滑过显示显示二级菜单

很简单,li标签嵌套一层ul

/*设置一级菜单样式*/

.navs:after{
    position: relative;
    content: "";
    width: 0;
    height: 0;
    visibility: hidden;
    clear: both;
    zoom: 1;
}

.nav {
    position: relative;
    float: left;
    height: 30px;
    line-height: 30px;
    text-align: center;
}

.nav-a {
    display: inline-block;
    width: 80px;
    font-size: 14px;
    color: #d8ac00;
}

效果如下:

接着设置二级菜单

/*设置二级样式*/

.sub-navs {
    /*使用绝对定位,在文档流中不占位,免得影响后面的布局*/
    /*注意,因为这里使用了绝对定位,所以它的父元素.nav记得使用相对定位*/
    position: absolute;
    top: 100%;
    width: 100%;
    display: none;
    /*先隐藏起来*/
}

.nav:hover .sub-navs {
    /*鼠标滑过时显示二级菜单*/
    display: block;
}

.sub-nav-a {
    font-size: 12px;
    color: #000; 
}

这时候简单的二级菜单效果就出来了。如果想要划过的时候,一级菜单背景变黄,字体变白呢

.nav:hover .nav-a {
    background-color: #d8ac00;
    color: #fff;
}

添加这行就好了。
但是我们的效果图还加了边框,各位看官可能觉得很简单啊,加上border属性不就就好了

.nav:hover .nav-a,
.sub-nav{
    border: 1px solid #ccc;
}

结果边框重叠了:

我们发现,其实二级菜单把border-top去掉就可以了

.sub-nav{
    border-left: 1px solid #ccc;
    border-right: 1px solid #ccc;
    border-bottom: 1px solid #ccc;
}

还有一个问题时,当鼠标滑动到左边第一个一级菜单的时候,右边的一级菜单出现了闪动现象,体验十分不友好,加上border-box属性就可以解决此问题

.nav-a {
    box-sizing: border-box;
}

参考代码:http://runjs.cn/detail/ep0eq85c

关注作者吧~

文章版权归作者所有,未经允许请勿转载,若此文章存在违规行为,您可以联系管理员删除。

转载请注明本文地址:https://www.ucloud.cn/yun/111801.html

相关文章

  • 前端入门教程——css制作二级菜单

    摘要:首先,需要声明的是本教程是写给初级者参考的,如果您已经有一定的基础请直接忽略吧二级菜单是网站开发中很常见的功能模块,但是对于初级者来说却还是有些困难,下面我就拿几个常见的案例来讲好了。 首先,需要声明的是本教程是写给初级者参考的,如果您已经有一定的基础请直接忽略吧 二级菜单是网站开发中很常见的功能模块,但是对于初级者来说却还是有些困难,下面我就拿几个常见的案例来讲好了。 鼠标滑过显示显...

    vslam 评论0 收藏0
  • 前端小白进阶笔记之多级菜单分享

    摘要:注释部分为下拉菜单隐藏,显示的样式。子元素会继承父元素的样式在写样式是我们会发现子元素会继承父元素的样式,如果想要改变样式,可以给要改变样式的对象一个或者单独设置其属性相对定位绝对定位的用法。 css技术分享之二级、三级下拉菜单的制作: 首先看一下网页中的三级下拉菜单: showImg(https://segmentfault.com/img/remote/14600000113377...

    Wuv1Up 评论0 收藏0
  • 前端小白进阶笔记之多级菜单分享

    摘要:注释部分为下拉菜单隐藏,显示的样式。子元素会继承父元素的样式在写样式是我们会发现子元素会继承父元素的样式,如果想要改变样式,可以给要改变样式的对象一个或者单独设置其属性相对定位绝对定位的用法。 css技术分享之二级、三级下拉菜单的制作: 首先看一下网页中的三级下拉菜单: showImg(https://segmentfault.com/img/remote/14600000113377...

    Mike617 评论0 收藏0
  • CSS实现下拉菜单导航

    摘要:需求当鼠标到按钮上时,出现下拉菜单导航条。设置是,默认宽度为内容宽度,则鼠标只会在到按钮区域时才会展开下拉菜单以上是我的一些想法以及实现,如有错误之处,欢迎各位前端大神留言评论拍砖。 前言:本题是网易云课堂的前端微专业《页面制作》课程的作业题,当时对题意理解错误没有实现题目要求,成了心中永远的痛,所谓念念不忘必有回响,在学校图书馆花了几个小时做出来并对相关知识点进行了总结,写了这篇博文...

    bingo 评论0 收藏0
  • CSS实现下拉菜单导航

    摘要:需求当鼠标到按钮上时,出现下拉菜单导航条。设置是,默认宽度为内容宽度,则鼠标只会在到按钮区域时才会展开下拉菜单以上是我的一些想法以及实现,如有错误之处,欢迎各位前端大神留言评论拍砖。 前言:本题是网易云课堂的前端微专业《页面制作》课程的作业题,当时对题意理解错误没有实现题目要求,成了心中永远的痛,所谓念念不忘必有回响,在学校图书馆花了几个小时做出来并对相关知识点进行了总结,写了这篇博文...

    wapeyang 评论0 收藏0

发表评论

0条评论

最新活动
阅读需要支付1元查看
<