任务描述 一、整体要求:
1、要求页面整洁、美观,与提供的页面效果图、结构保持一致,文字、背景的颜色不统一要求 2、要求HTML代码和CSS代码书写、命名符合规范
二、 具体要求 1、鼠标移入一级菜单时,二级菜单显示,鼠标移出一级菜单时,二级菜单隐藏 (1)元素显示使用display:block属性,隐藏使用display:none属性
2、二级菜单显示在一级菜单的右侧 (1)给一级菜单和二级菜单共同的父元素设置相对定位(position: relative) (2)给二级菜单设置绝对定位(position: absolute),并设置左侧位移(left)的值为一级菜单的宽度,上放位移(top)的值为0 3、一级菜单的文字和二级菜单的文字水平居中显示 4、一级菜单的文字和二级菜单的文字垂直居中显示 5、一级菜单的每一项和二级菜单的每一项有下边框,边框为点线(dotted) 6、一级菜单的最后一项和二级菜单的最后一项没有下边框(可以使用li:last-child选中最后一项,并设置border:none) 7、每一个菜单项的宽度和高度不做统一要求
思路分析:
评分标准是什么? 规范 1、要求页面整洁、美观,与提供的页面效果图、结构保持一致,文字、背景的颜色不统一要求 2、要求HTML代码和CSS代码书写、命名符合规范
整体 1、鼠标移入一级菜单时,二级菜单显示,鼠标移出一级菜单时,二级菜单隐藏 2、二级菜单显示在一级菜单的右侧
一级菜单 1、一级菜单的文字水平居中显示 2、一级菜单的文字垂直居中显示 3、一级菜单的每一项有下边框,边框为点线(dotted) 4、一级菜单的最后一项没有下边框
二级菜单 1、二级菜单的文字水平居中显示 2、二级菜单的文字垂直居中显示 3、二级菜单的每一项有下边框,边框为点线(dotted) 4、二级菜单的最后一项没有下边框
效果
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>作业</title>
<style>
* {
margin: 0px;
padding: 0px;
}
.list {
position: relative;
}
ul {
width: 200px;
height: 29px;
list-style: none; /* 去掉无序列表的项目符号 */
}
ul>li {
border-bottom: 1px dotted white;
/* 处理文本内容溢出后的情况 */
overflow: hidden;
text-overflow: ellipsis;
background-color: black;
width: 200px;
height: 28px;
text-align:center /*为了使里面的文字居中*/
}
ul>li#last {
border-bottom: 0px;
}
.list>ul>li>a {
display:inline-block; /*设置为内联元素*/
line-height: 28px; /*设置行高为父布局的高度, 为了垂直居中*/
width: 100%;
color: white;
text-decoration: none; /* 去掉链接元素文本内容的下划线 */
white-space: nowrap; /* 强制文本内容在一行显示 */
}
.list>ul>li:hover>ol {
display: block;
}
ul>li>ol {
display: none;
position: absolute;
left: 200px;
top:0px;
list-style: none; /* 去掉无序列表的项目符号 */
}
ul>li>ol>li {
border-bottom: 1px dotted white;
/* 处理文本内容溢出后的情况 */
overflow: hidden;
text-overflow: ellipsis;
background-color: #727272;
width: 200px;
height: 28px;
line-height: 28px;
text-align:center; /*为了使里面的文字居中*/
top: 0px;
color: white;
}
ul>li>ol>li:last-child {
border-bottom: 0px;
}
</style>
</head>
<body>
<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>
</ul>
</div>
<div class="list">
<ul>
<li>
<a href="#">后端开发</a>
<ol>
<li>Java</li>
<li>sprint boot</li>
<li>spring cloud</li>
<li>python</li>
<li>爬虫</li>
<li>PHP</li>
</ol>
</li>
</ul>
</div>
<div class="list">
<ul>
<li>
<a href="#">移动开发</a>
<ol>
<li>android</li>
<li>iOS</li>
<li>reative native</li>
<li>weex</li>
</ol>
</li>
</ul>
</div>
<div class="list">
<ul>
<li>
<a href="#">算法/数学</a>
<ol>
<li>算法与数据结构</li>
<li>数学</li>
<li>算法</li>
</ol>
</li>
</ul>
</div>
<div class="list">
<ul>
<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>
</ul>
</div>
<div class="list">
<ul>
<li id="last">
<a href="#">运维测试</a>
<ol>
<li>运维</li>
<li>自动化运维</li>
<li>算法</li>
<li>中间件</li>
<li>linux</li>
</ol>
</li>
</ul>
</div>
</body>
</html>