隐藏的侧边导航栏

【前端经典】隐藏的侧边导航栏,侧边导航条,css实现弹出导航栏,网页

ctrl+alt+方向键,同时控制多行内容更改

难点:

解决块状显示时,圆角也变成块状,形状改变:nav标签添加overflow: hidden; 

当点击按钮时,右侧弹出,需要label与动作响应标签(此例中nav)是同级元素且为下一个元素

最终效果:

源代码如下:


<!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;
            text-decoration: none;
            list-style: none;
        }
        .nav{
            width: 150px;
            height: 400px;
            background-color: orange;
            /* 固定定位 */
            position: fixed;
            /* 定位后的位置,先把导航栏隐藏起来*/
            right: -150px;
            border-radius: 12px 0 0 12px;
            /* 把导航栏隐藏起来 */
            overflow: hidden;
            /* 让点击有个过渡,效果是从右平滑进入*/
            transition: 0.5s;
        }
        /* 点击=*/
        #cb:checked ~ .nav{      
            right: 0px;
        }
        .nav li{
            width: 150px;
            height: 40px;
            /* 水平垂直居中 */
            text-align: center;
            line-height: 40px;
        }
        .nav a:hover{
            background-color: #fc0;
        }
        .nav a{
            color: #000;
            display: block;
        }
        #cb{
            display: none;
        }
        label{
            width: 40px;
            height: 40px;
            background-color: orange;
            border-radius: 12px;
            display: inline-block;
            color: #fff;
            font-size: 40px;
            text-align: center;
            line-height: 40px;
            /* 绝对定位 */
            position: fixed;
            right: 150px;
            cursor: pointer;
        }
    </style>
</head>
<body>
    <!-- 弹出的按钮要两个标签来配合实现 -->
    <input type="checkbox" id="cb">
    <label for="cb">≡</label>
    <div class="nav">
        <ul>
            <li><a href="#">我是菜单项</a></li>
            <li><a href="#">我是菜单项</a></li>
            <li><a href="#">我是菜单项</a></li>
            <li><a href="#">我是菜单项</a></li>
            <li><a href="#">我是菜单项</a></li>
        </ul>
    </div>
    <p>我是换行</p>
    <p>我是换行</p>
    <p>我是换行</p>
    <p>我是换行</p>
    <p>我是换行</p>
    <p>我是换行</p>
    <p>我是换行</p>
    <p>我是换行</p>
    <p>我是换行</p>
    <p>我是换行</p>
    <p>我是换行</p>
    <p>我是换行</p>
    <p>我是换行</p>
    <p>我是换行</p>
    <p>我是换行</p>
    <p>我是换行</p>
    <p>我是换行</p>
    <p>我是换行</p>
    <p>我是换行</p>
    <p>我是换行</p>
    <p>我是换行</p>
    <p>我是换行</p>
    <p>我是换行</p>
    <p>我是换行</p>
    <p>我是换行</p>
    <p>我是换行</p>
    <p>我是换行</p>
    <p>我是换行</p>
    <p>我是换行</p>
    <p>我是换行</p>
    <p>我是换行</p>
    <p>我是换行</p>
    <p>我是换行</p>
    <p>我是换行</p>
    <p>我是换行</p>
    <p>我是换行</p>
    <p>我是换行</p>
    <p>我是换行</p>
    <p>我是换行</p>
    <p>我是换行</p>
    <p>我是换行</p>
    <p>我是换行</p>
    <p>我是换行</p>
    <p>我是换行</p>
    <p>我是换行</p>
    <p>我是换行</p>
    <p>我是换行</p>
    <p>我是换行</p>
    <p>我是换行</p>
    <p>我是换行</p>
    <p>我是换行</p>
    <p>我是换行</p>
    <p>我是换行</p>
    <p>我是换行</p>
    <p>我是换行</p>
    <p>我是换行</p>
    <p>我是换行</p>
    <p>我是换行</p>
    <p>我是换行</p>
    <p>我是换行</p>
    <p>我是换行</p>
</body>
</html>

  • 1
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
要在Vue2中实现侧边导航栏隐藏,可以使用条件渲染的方式来实现。具体的方法如下: 1. 首先,在组件的data中定义一个变量,用来表示导航栏的显示与隐藏状态,比如可以定义一个名为`showSidebar`的变量,并初始化为`true`。 2. 在模板中,使用`v-if`指令根据`showSidebar`的值来决定是否渲染导航栏的内容。例如,可以将导航栏的内容包裹在一个`<div>`元素中,并使用`v-if="showSidebar"`来指定只有在`showSidebar`为`true`时才渲染该`<div>`。 3. 在需要隐藏导航栏的时候,可以通过改变`showSidebar`的值来实现。比如,可以在某个事件触发时,调用一个方法来改变`showSidebar`的值为`false`,从而隐藏导航栏。 以下是一个简单的示例代码: ```html <template> <div> <button @click="hideSidebar">隐藏导航栏</button> <div v-if="showSidebar" class="sidebar"> <!-- 导航栏的内容 --> </div> <div class="main-content"> <!-- 主要内容区域 --> </div> </div> </template> <script> export default { data() { return { showSidebar: true } }, methods: { hideSidebar() { this.showSidebar = false; } } } </script> ``` 在上述代码中,点击"隐藏导航栏"按钮时,会调用`hideSidebar`方法,将`showSidebar`的值改为`false`,从而隐藏导航栏。<span class="em">1</span><span class="em">2</span><span class="em">3</span> #### 引用[.reference_title] - *1* [在vue中实现某一些路由页面隐藏导航栏的功能操作](https://download.csdn.net/download/weixin_38711740/12923170)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_2"}}] [.reference_item style="max-width: 33.333333333333336%"] - *2* [vue实现中部导航栏布局功能](https://download.csdn.net/download/weixin_38694343/12938553)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_2"}}] [.reference_item style="max-width: 33.333333333333336%"] - *3* [vue2 + webpack5相适配的 能成功打包的 package.json 文件](https://download.csdn.net/download/weixin_43405300/88252148)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_2"}}] [.reference_item style="max-width: 33.333333333333336%"] [ .reference_list ]
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值