一个Web二级菜单的实现(俺新手随便写的)

简介: 任务描述一、整体要求:1、要求页面整洁、美观,与提供的页面效果图、结构保持一致,文字、背景的颜色不统一要求2、要求HTML代码和CSS代码书写、命名符合规范二、 具体要求

任务描述


一、整体要求:


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、每一个菜单项的宽度和高度不做统一要求

思路分析:


image.png


评分标准是什么?


规范


1、要求页面整洁、美观,与提供的页面效果图、结构保持一致,文字、背景的颜色不统一要求


2、要求HTML代码和CSS代码书写、命名符合规范

整体


1、鼠标移入一级菜单时,二级菜单显示,鼠标移出一级菜单时,二级菜单隐藏

2、二级菜单显示在一级菜单的右侧


一级菜单


1、一级菜单的文字水平居中显示


2、一级菜单的文字垂直居中显示


3、一级菜单的每一项有下边框,边框为点线(dotted)


4、一级菜单的最后一项没有下边框


二级菜单


1、二级菜单的文字水平居中显示


2、二级菜单的文字垂直居中显示


3、二级菜单的每一项有下边框,边框为点线(dotted)


4、二级菜单的最后一项没有下边框


image.png

效果

<!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>



目录
相关文章
|
消息中间件 网络协议 前端开发
SpringBoot轻松整合WebSocket,实现Web在线聊天室
前面为大家讲述了 Spring Boot的整合Redis、RabbitMQ、Elasticsearch等各种框架组件;随着移动互联网的发展,服务端消息数据推送已经是一个非常重要、非常普遍的基础功能。今天就和大家聊聊在SpringBoot轻松整合WebSocket,实现Web在线聊天室,希望能对大家有所帮助。
SpringBoot轻松整合WebSocket,实现Web在线聊天室
|
安全 算法 生物认证
Python 实现Web容器指纹识别
当今的Web安全行业在进行渗透测试时普遍第一步就是去识别目标网站的指纹,从而进一步根据目标框架进行针对性的安全测试,指纹识别的原理其实很简单,目前主流的识别方式有下面这几种。
520 0
Python 实现Web容器指纹识别
|
测试技术 iOS开发
Flutter Web网站之最简方式实现暗黑主题无缝切换
Flutter Web网站之最简方式实现暗黑主题无缝切换
307 0
Flutter Web网站之最简方式实现暗黑主题无缝切换
|
前端开发 JavaScript API
借助 Web Animations API 实现一个鼠标跟随偏移动画
借助 Web Animations API 实现一个鼠标跟随偏移动画
315 0
借助 Web Animations API 实现一个鼠标跟随偏移动画
|
机器学习/深度学习 传感器 人工智能
web端实现AR人脸特效
直播、短视频、在线会议等应用越来越多地进入人们的生活,随之诞生的是丰富的各类创意玩法与新鲜体验,其中大量应用了以AI检测和图形渲染为基础的AR技术。
268 0
web端实现AR人脸特效
|
Java Maven 开发工具
毕业设计:基于Web实现多用户宿舍管理系统
毕业设计:基于Web实现多用户宿舍管理系统
145 0
毕业设计:基于Web实现多用户宿舍管理系统
|
前端开发 JavaScript Java
springboot实现web国际化
springboot实现web国际化
springboot实现web国际化
|
数据安全/隐私保护
实现Web端指纹登录(下)
实现Web端指纹登录(下)
实现Web端指纹登录(下)
|
存储 前端开发 生物认证
实现Web端指纹登录(上)
实现Web端指纹登录(上)
实现Web端指纹登录(上)
|
Web App开发 JavaScript 前端开发
实现Web端自定义截屏(原生JS版)
实现Web端自定义截屏(原生JS版)
实现Web端自定义截屏(原生JS版)