请问怎么去掉最下面一行的边框?怎么调不出二级菜单出来呢?
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>二级菜单的显示和隐藏效果</title>
<style>
body{
margin: 0px;
}
#top{
width: 100%;
height: 50px;
background-color: black;
position: fixed;
top: 0px;
}
#bottom{
width: 100%;
height: 50px;
background-color: black;
position: fixed;
bottom: 0px;
}
.list{
width: 200px;
height: 160px;
background-color: black;
}
ul{
color: white;
list-style-type: none;
margin-top:50px;
padding: 0;
text-align: center;
border-top:1px solid white;
position:relative;
}
li{
padding:0px;
border-bottom:1px dotted white;
}
a{
font-size: 15px;
color:white;
line-height: 25px;
text-decoration: none;
}
ol{
display:none;
list-style-type: none;
width: 200px;
height: 160px;
background-color: gray;
margin-top:50px;
padding: 0;
text-align: center;
border-bottom:1px dotted white;
position: absolute;
left:180px;
top:0px;
}
li:hover>ol{
display:block;
}
</style>
</head>
<body>
<div id="top"></div>
<div id="bottom"></div>
<div class="list">
<ul>
<li>
<a href="#">前端开发</a>
<ol>
<li>HTML/CSS</li>
<li>JavaScript</li>
<li>Vue.js</li>
<li>ReactJs</li>
<li>小程序</li>
<li>Node.js</li>
</ol>
<a href="#">后端开发</a>
<ol>
<li>Jave</li>
<li>SpringBoot</li>
<li>Spring Cloud</li>
<li>Python</li>
<li>爬虫</li>
<li>PHP</li>
</ol>
<a href="#">移动开发</a>
<ol>
<li>Android</li>
<li>ios</li>
<li>React native</li>
<li>WEEX</li>
</ol>
<a href="#">算法/数学</a>
<ol>
<li>算法与数据结构</li>
<li>数学</li>
<li>算法</li>
</ol>
<a href="#">前沿技术</a>
<ol>
<li>微服务</li>
<li>区块链</li>
<li>以太坊</li>
<li>人工智能</li>
<li>机器学习</li>
<li>深度学习</li>
<li>计算机视觉</li>
<li>自然语言处理</li>
<li>数据分析/挖掘</li>
</ol>
<a id="bd" href="#">运维/测试</a>
<ol>
<li>运维</li>
<li>自动化运维</li>
<li>运维工具</li>
<li>中间件</li>
<li>Linux</li>
</ol>
</li>
</ul>
</div>
</body>
</html>
正在回答 回答被采纳积分+1
看了一下你的代码,很不规范。
提几个新手建议:
1、美观性:多余的空行,不推荐大量使用空行来对代码格式化,目前所有开发软件都具备了自动整理代码格式功能,不需要开发人员手动添加空行,影响代码美观性。
2、统一性:在class与id选择的统一,可因个人习惯,在非必要情况下,只使用一种选择器,或者对同级代码块使用相同选择器,方便在CSS中定义,以及后期维护。
3、简洁化:对相同CSS属性的标签,合并在一个{}中,优化代码提提高代码可阅读性,简化代码。
4、层级化:使用 > 指向相应子级,用来定义不同的子层级属性,对浏览器友好,且具有更好的代码阅读体验。
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
修改后代码:
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>二级菜单的显示和隐藏效果</title>
<style>
/* 定义页面元素默认值*/
* {
margin: 0;
padding: 0;
font-size: 14px;
}
ul li,
ol li {
list-style-type: none;
width: 200px;
text-align: center;
padding: 4px 0px;
line-height: 30px;
border-bottom: 1px dotted #FFFFFF;
color: #FFFFFF;
}
.top {
width: 100%;
height: 50px;
background-color: black;
position: fixed;
top: 0;
}
.bottom {
width: 100%;
height: 50px;
background-color: black;
position: fixed;
bottom: 0;
}
.list {
/*
.list 不需要设置其它属性,只需要拿到边距即可
width: 200px;
height: 160px;
background-color: black; */
margin-top: 80px;
/* 我们在这里定义距离顶部的距离,因为对于列表来说, .list 这个 div 才是最高层级的父元素,为方便展示效果,这里设置80px */
}
.list>ul>li {
background-color: #000000;
border-bottom: 1px dotted white;
position: relative;
/* 给 li 开启定位,是因为它才是 ol 标签的父级元素 */
}
a {
/* 文字大小建议使用偶数 */
color: white;
text-decoration: none;
}
.list>ul>li>ol>li {
background-color: #555;
}
.list>ul>li>ol {
display: none;
/* 隐藏 */
position: absolute;
/* 开启定位 */
left: 200px;
/* 距左200px */
top: 0;
/* 距上0px */
}
.list>ul>li:hover>ol {
display: block;
}
</style>
</head>
<body>
<div class="top"></div> <!-- 顶部固定 -->
<div class="bottom"></div> <!-- 底部固定 -->
<div class="list">
<!-- 列表 -->
<ul>
<li>
<a href="#">前端开发</a>
<ol>
<li>HTML/CSS</li>
<li>JavaScript</li>
<li>Vue.js</li>
<li>ReactJs</li>
<li>小程序</li>
<li>Node.js</li>
</ol>
</li>
<li>
<a href="#">后端开发</a>
<ol>
<li>Jave</li>
<li>SpringBoot</li>
<li>Spring Cloud</li>
<li>Python</li>
<li>爬虫</li>
<li>PHP</li>
</ol>
</li>
<li>
<a href="#">移动开发</a>
<ol>
<li>Android</li>
<li>ios</li>
<li>React native</li>
<li>WEEX</li>
</ol>
</li>
<li>
<a href="#">算法/数学</a>
<ol>
<li>算法与数据结构</li>
<li>数学</li>
<li>算法</li>
</ol>
</li>
<li>
<a href="#">前沿技术</a>
<ol>
<li>微服务</li>
<li>区块链</li>
<li>以太坊</li>
<li>人工智能</li>
<li>机器学习</li>
<li>深度学习</li>
<li>计算机视觉</li>
<li>自然语言处理</li>
<li>数据分析/挖掘</li>
</ol>
</li>
<li>
<a id="bd" href="#">运维/测试</a>
<ol>
<li>运维</li>
<li>自动化运维</li>
<li>运维工具</li>
<li>中间件</li>
<li>Linux</li>
</ol>
</li>
</ul>
</div>
</body>
</html>
同学你好,
1,每一个一级菜单使用a标签书写,a标签是行内元素,一次在一行显示,而效果图是让每一个一级菜单独占一行所以要把a标签转为块级元素,并且添加下边框。

效果:

2,去掉最下面一行的边框,可以通过同学设置的id名添加border-bottom: none;的样式就可以实现。
修改:

效果:

3,二级菜单是可以调出来的,同学给ol设置的是同一个样式,都有绝对定位因此所有ol会层叠在一起,并且所以一级菜单都在一个li下面,因此每一个一级菜单是不能单独设置hover的。出现如下效果:

建议:每个一级菜单单独写在一个li下面,每一个ol设置单独的定位显示在对应的一级菜单下面。老师这边只写了第一个一级菜单同学可以参考把下面的效果完善哈~
修改:


效果:

如果我的回答帮助了你,欢迎采纳,祝学习愉快~
恭喜解决一个难题,获得1积分~
来为老师/同学的回答评分吧
0 星