纯css实现三级菜单显示

先上效果图

今天又童鞋问我多级菜单的问题,使用了offset来获取位置,但是chrome的offset和IE的offset获取的的结果并不一样,我觉得这样的问题不需要在使用javascript获取位置,直接使用css的定位就可以很方便的实现

于是写了一个简单的多级菜单,在此贴出来

<!DOCTYPE html>
<html lang="en">

<head>
    <meta charset="UTF-8">
    <title>Document</title>
</head>
<style>
* {
    margin: 0;
    padding: 0;
}

ul,
li {
    list-style: none;
}

li {
    position: relative;
    width: 200px;
    height: 30px;
    line-height:30px;
    text-align: center;
    background-color: #ccc;
    border: 1px solid #f00;
}

li:hover {
    background-color: #369;
}

li>ul {
    display:none;
    position: absolute;
    left: 100%;
    top: 0;
}
li:hover>ul{
    display:block;
}
.main-ul {
    margin: 100px 100px;
}
</style>

<body>
    <ul class="main-ul">
        <li>
            <span>1</span>
        </li>
        <li>
            <span>2</span>
            <ul>
                <li>
                    <span>2-1</span>
                </li>
                <li>
                    <span>2-2</span>
                </li>
                <li>
                    <span>2-3</span>
                </li>
                <li>
                    <span>2-4</span>
                    <ul>
                        <li>
                            <span>3</span>
                        </li>
                        <li>
                            <span>3</span>
                        </li>
                        <li>
                            <span>3</span>
                        </li>
                        <li>
                            <span>3</span>
                        </li>
                        <li>
                            <span>3</span>
                        </li>
                    </ul>
                </li>
                <li><span>2-5</span></li>
            </ul>
        </li>
        <li>3</li>
        <li>4</li>
        <li>5</li>
    </ul>
</body>

</html>

demo地址

时间: 2024-08-25 19:49:03

纯css实现三级菜单显示的相关文章

CSS+JS下拉菜单和纯CSS下拉菜单

一.CSS+JS下拉菜单 原理:一级菜单的li中包含二级菜单ul.在鼠标没有移上去时,二级菜单的ul是display:none的状态,鼠标一移上去变成display:block.改变这个display属性值是通过JS来实现.鼠标hover时,把整个二级菜单的ul给display出来,用到的事件onmouseonver.鼠标移出又把整个二级菜单的ul 给隐藏掉. nav-js.html文件 <!DOCTYPE html > <html> <head> <meta c

web中用纯CSS实现筛选菜单

web中用纯CSS实现筛选菜单 本文我们来用纯css实现像淘宝宝贝筛选菜单那样的效果,例子虽然没有淘宝那样强大,不过原理差不多,如果花点心思也可以实现和淘宝一样的. 内容过滤是一个在Web上常见的一个功能,特别是在电商网站,为了让用户过滤内容,仅显示符合自己的要求的内容.截个图来说,能更好的说明这样的功能,比如淘宝网: 如上图所示,用户想购买一件裙子,在整个产品列表中,显示的产品数量太多了.顾客不知道如何选择自己所需要的裙子.在顶部提供了一个分类,顾客选择需要的选项,产品中就会过滤掉不符合条件的

支持多种浏览器的纯css下拉菜单

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"><html><head><meta http-equiv="Content-Type" content="text/html; charset=gb2312

纯CSS下拉菜单代码

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"><html xmlns="http://www.w3.org/1999/xhtml"><head><meta http-equiv="Content-Typ

【CSS】纯CSS实现三级导航(模板)

以前觉得级联导航实现应该很简单,就是使用css的hover属性来实现就可以了,于是也没有过多地留意实践.可是在最近的面试当中,当被问到这个问题的时候才明白,很多东西不能想当然地以为这样做就可以了,不单只是知道大概的思路就认为OK了,更需要实际的动手能力. 后来就实际操作了级联菜单的实现,借此机会把它弄成一个模板来和大家一起学习. 以下是HTML部分: <!DOCTYPE html> <html> <head> <meta charset="utf-8&q

如何用纯 CSS 创作一个菜单反色填充特效

效果预览 在线演示 按下右侧的"点击预览"按钮可以在当前页面预览,点击链接可以全屏预览.https://codepen.io/comehope/pen/qYMoPo 可交互视频教程 此视频是可以交互的,你可以随时暂停视频,编辑视频中的代码. 请用 chrome, safari, edge 打开观看. https://scrimba.com/p/pEgDAM/cE833h6 源代码下载 本地下载 每日前端实战系列的全部源代码请从 github 下载: https://github.com

23.纯 CSS 创作一个菜单反色填充特效

原文地址:https://segmentfault.com/a/1190000014876348 HTML代码: <nav> <ul> <li><span>Home</span></li> </ul> </nav> CSS代码: html, body { margin: 0; padding: 0; width: 100%; height: 100%; display: flex; justify-conten

23.1纯 CSS 创作一个菜单反色填充特效

交互效果地址:https://scrimba.com/c/cEwREJs6 HTML代码: <nav> <ul> <li><span>Home</span></li> </ul> </nav> CSS代码: html, body { margin: 0; padding: 0; width: 100%; height: 100%; display: flex; justify-content: center;

纯CSS二级导航菜单

<!DOCTYPE ><html> <head>     <meta http-equiv="content-type" content="text/html; charset=gbk" /> <style type="text/css"> .nav{float:left; width:900px; height:40px; border:none; background-color: