Flexbox:响应式导航栏

来源:1-1 课程导学

慕后端1189009

2021-10-13

第一张:图片描述
第二章:max-width:1022px
图片描述
第三张:
图片描述
第四张:按下绿色按钮,菜单隐藏
图片描述
第五张:
图片描述
第六张:按下绿色按钮,菜单隐藏
图片描述

用Flexbox做的布局,发现一个问题,就是第三张截图,随着宽度减少,About Us导航栏没办法覆盖在logo上面,尝试用position:absolute,但就会脱离文档流,没办法撑开父级header高度。尝试了很多方法,就是遇到一堆问题,想请教下老师,第三张截图效果,应该怎么实现?

以上截图是官网截取的,以下是我代码实现的:
图片描述
最多只能到这个宽度,如果继续缩小,就会出现下面这张截图样式:
图片描述
整个导航栏被挤下去了,无法像上面第二张截图,覆盖在logo上

写回答

1回答

西门老舅

2021-10-14

你好同学。简单写了一下,不知道是不是你希望的效果。

<!DOCTYPE html>

<html lang="en">

<head>

    <meta charset="UTF-8">

    <meta http-equiv="X-UA-Compatible" content="IE=edge">

    <meta name="viewport" content="width=device-width, initial-scale=1.0">

    <title>Document</title>

    <style>

        *{

            margin: 0;

            padding: 0;

        }

        li{

            list-style: none;

        }

        .head{

            display: flex;

            border-bottom:1px black solid;

        }

        .menu{

            display: flex;

            margin-left: auto;

        }

        .sub-menu{

            display: flex;

        }

        @media screen and (max-width: 1022px) {

            .head{

                flex-wrap: wrap;

            }

            .menu{

                width: 100%;

                order: 2;

                justify-content: flex-end;

            }

            .sub-menu{

                margin-left: auto;

            }

        }

        @media screen and (max-width: 768px) {

            .menu{

                display: block;

            }

        }

    </style>

</head>

<body>

    <div class="head">

        <div class="logo">LOGO</div>

        <ul class="menu">

            <li>xxx</li>

            <li>xxx</li>

            <li>xxx</li>

            <li>xxx</li>

            <li>xxx</li>

        </ul>

        <ul class="sub-menu">

            <li>icon</li>

            <li>icon</li>

            <li>icon</li>

        </ul>

    </div>

</body>

</html>


0
0

前端内功修炼 5大主流布局系统进阶

前端内功修炼:5大主流布局系统进阶

758 学习 · 231 问题

查看课程