效果:
![]()

讨论1:可以在a标签没有悬浮时,也添加上border,并且与菜单的背景颜色一致,同时也给a未悬浮时,上下方向上的li多加了2px
css文件:
.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;
HTTP
-
HTTP 报文结构是怎样的?
-
HTTP有哪些请求方法?
-
GET 和 POST 有什么区别?
-
如何理解 URI?
-
如何理解 HTTP 状态码?
-
简要概括一下 HTTP 的特点?HTTP 有哪些缺点?
-
对 Accept 系列字段了解多少?
-
对于定长和不定长的数据,HTTP 是怎么传输的?
-
HTTP 如何处理大文件的传输?
-
HTTP 中如何处理表单数据的提交?
-
HTTP1.1 如何解决 HTTP 的队头阻塞问题?
-
对 Cookie 了解多少?
-
如何理解 HTTP 代理?
-
如何理解 HTTP 缓存及缓存代理?
-
为什么产生代理缓存?
-
源服务器的缓存控制
-
客户端的缓存控制
-
什么是跨域?浏览器如何拦截响应?如何解决?
开源分享:【大厂前端面试题解析+核心总结学习笔记+真实项目实战+最新讲解视频】

-