2024年前端最新前端入门篇(四十六)JS应用1二级下拉菜单问题记录(1),阿里快手拼多多等7家大厂Web前端面试真题

下面是我在学习HTML和CSS的时候整理的一些笔记,有兴趣的可以看下:

HTML、CSS部分截图

进阶阶段

进阶阶段,开始攻 JS,对于刚接触 JS 的初学者,确实比学习 HTML 和 CSS 有难度,但是只要肯下功夫,这部分对于你来说,也不是什么大问题。

JS 内容涉及到的知识点较多,看到网上有很多人建议你从头到尾抱着那本《JavaScript高级程序设计》学,我是不建议的,毕竟刚接触 JS 谁能看得下去,当时我也不能,也没那样做。

我这部分的学习技巧是,增加次数,减少单次看的内容。就是说,第一遍学习 JS 走马观花的看,看个大概,去找视频以及网站学习,不建议直接看书。因为看书看不下去的时候很打击你学下去的信心。

然后通过一些网站的小例子,开始动手敲代码,一定要去实践、实践、实践,这一遍是为了更好的去熟悉 JS 的语法。别只顾着来回的看知识点,眼高手低可不是个好习惯,我在这吃过亏,你懂的。

1、JavaScript 和 ES6

在这个过程你会发现,有很多 JS 知识点你并不能更好的理解为什么这么设计,以及这样设计的好处是什么,这就逼着让你去学习这单个知识点的来龙去脉,去哪学?第一,书籍,我知道你不喜欢看,我最近通过刷大厂面试题整理了一份前端核心知识笔记,比较书籍更精简,一句废话都没有,这份笔记也让我通过跳槽从8k涨成20k。

JavaScript部分截图

2、前端框架

前端框架太多了,真的学不动了,别慌,其实对于前端的三大马车,Angular、React、Vue 只要把其中一种框架学明白,底层原理实现,其他两个学起来不会很吃力,这也取决于你以后就职的公司要求你会哪一个框架了,当然,会的越多越好,但是往往每个人的时间是有限的,对于自学的学生,或者即将面试找工作的人,当然要选择一门框架深挖原理。

开源分享:【大厂前端面试题解析+核心总结学习笔记+真实项目实战+最新讲解视频】

以 Vue 为例,我整理了如下的面试题。

Vue部分截图

.nav-list > li > a {

color: #fff;

display: block;

height: 42px;

line-height: 42px;

font-size: 18px;

padding: 0 12px;

border:1px solid #808080;

}

在这里插入图片描述

讨论2:将底部的边框设置为none,并加高菜单的高度(从42px加为43px),遮住li边框的下边缘(毛刺)

在这里插入图片描述

在这里插入图片描述

也将悬浮时的下边框去掉,以符合下拉菜单最终的效果

.nav-list {

background-color: #808080;

height: 43px;

}

.nav-list > li > a {

color: #fff;

display: block;

height: 42px;

line-height: 42px;

font-size: 18px;

padding: 0 12px;

border:1px solid #808080;

border-bottom: none;

}

.nav-list > li > a:hover {

color: #bc0303;

background-color: #fff;

border: 1px solid #c9c9c9;

border-bottom: none;

}

在这里插入图片描述

二级菜单问题记录


1.快速生成li列表,且带有a标签和内容

ul>li*3>a>{关于蝉壳$}

回车即可

在这里插入图片描述

2.二级下拉菜单部分

html文件:

  • 关于蝉壳

    • 关于蝉壳1
    • 关于蝉壳2
    • 关于蝉壳3
    • 为了让鼠标悬浮在’关于蝉壳‘上时,显示出下拉菜单,并且下拉菜单被一级菜单遮住一点点,需要将二级菜单设置成浮起来的样子(使用position和z-index)

      css文件:

      .nav-list {

      background-color: #808080;

      height: 43px;

      position: relative;

      }//以一级菜单做position调整

      .nav-list > li > a {

      color: #fff;

      display: block;

      height: 42px;

      line-height: 42px;

      font-size: 18px;

      padding: 0 12px;

      border:1px solid #808080;

      border-bottom: none;

      position:relative;

      z-index: 9;

      }//要设置z-index,所以a标签也要设置position

      .nav-list .item {

      width: 160px;

      position: absolute;

      z-index: 1;

      top: 42px;

      }

      .nav-list .item .item-list {

      background-color: #fff;

      border:1px solid #c9c9c9;

      padding:2px 0 10px 12px;

      }

      .item-list > li {

      line-height: 40px;

      }

      .item-list > li a {

      color: #6e6e6e;

      line-height: 40px;

      }

      .item-list > li > a:hover {

      text-decoration: underline;

      }

      效果:鼠标悬浮在上面时,一级菜单在二级菜单之上

      在这里插入图片描述

      3.使用getElementsByTagName(‘li’)时,下拉菜单下的li也会被计算进去,一级菜单有7个li,下拉菜单有3个,一共10个li

      js代码:

      var navList = document.getElementById(‘navList’).getElementsByTagName(‘li’);

      效果:

      在这里插入图片描述

      4.用js设置,当鼠标悬浮时显示下拉菜单,移开时不显示

      js代码:

      css文件:

      .nav-list .item {

      width: 160px;

      position: absolute;

      z-index: 1;

      top: 42px;

      display:none;

      }

      .nav-list .show .item {

      display:block;

      }

      最后

      除了简历做到位,面试题也必不可少,整理了些题目,前面有117道汇总的面试到的题目,后面包括了HTML、CSS、JS、ES6、vue、微信小程序、项目类问题、笔试编程类题等专题。

    • 29
      点赞
    • 26
      收藏
      觉得还不错? 一键收藏
    • 0
      评论

    “相关推荐”对你有帮助么?

    • 非常没帮助
    • 没帮助
    • 一般
    • 有帮助
    • 非常有帮助
    提交
    评论
    添加红包

    请填写红包祝福语或标题

    红包个数最小为10个

    红包金额最低5元

    当前余额3.43前往充值 >
    需支付:10.00
    成就一亿技术人!
    领取后你会自动成为博主和红包主的粉丝 规则
    hope_wisdom
    发出的红包
    实付
    使用余额支付
    点击重新获取
    扫码支付
    钱包余额 0

    抵扣说明:

    1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
    2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

    余额充值