通过添加类和媒体查询实现侧边导航栏的显示隐藏效果

实现效果:

bootstrap中:AdminLTE主页的侧边栏显示隐藏的效果

目的:让页面适用移动端设备

内容:

html结构:

<body>
  <div class="wrapper">
    <aside class="main-sidebar">//侧面导航栏
      <section class="sidebar">
        <ul class="sidebar-menu">
          <li>
            全部文件
          </li>
        </ul> 
      </section>
    </aside>
      <div class="content-wrapper">//右侧主要展示内容
        <!-- toggle切换按钮 -->
        <div class=" icon-btn sr-only" style="background-color:#3c8dbc;padding:10px;">
           <i class=" fa fa-fw fa-align-justify" style="font-size:px;color:#fff;"></i>
        </div>
        <section class="content">   //内容
        </section>
      </div>
  </div>
</body>



js部分:


// 监听浏览器窗口小于767px,左侧导航隐藏,toggle按钮出现
  $(window).resize(function(){
     if($(document.body).width() < 767){
      $('.icon-btn').removeClass('sr-only').addClass('show');
      $('li').on('click', function(){ $('body').removeClass('sidebar-open');})
     }else{
       $('.icon-btn').addClass('sr-only');
     }                     
  })



css部分(主要是媒体查询):


.wrapper {
  min-height: 100%;
  position: relative;
  overflow: hidden;
}

.main-sidebar {
  position: absolute;
  top: 0;
  left: 0;
  padding-top: 50px;
  min-height: 100%;
  width: 230px;
  z-index: 810;
}

content-wrapper{

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
如果你想通过class去实现antd侧边导航栏收起之后隐藏插槽的内容,可以使用CSS样式来实现。你可以在CSS文件中定义一个,然后在需要隐藏插槽内容的地方添加这个。具体实现步骤如下: 1. 在CSS文件中定义一个,如`.hidden-slot`,并设置`display: none;`属性,这样就可以隐藏插槽的内容。 ```css .hidden-slot { display: none; } ``` 2. 在需要隐藏插槽内容的地方,使用`className`属性添加这个。例如,在导航栏收起时隐藏插槽内容,可以在`collapsed`为`true`时添加这个。 ```jsx import { Layout, Menu } from 'antd'; import { UserOutlined, VideoCameraOutlined, UploadOutlined } from '@ant-design/icons'; import './styles.css'; const { Sider } = Layout; function MySider() { const [collapsed, setCollapsed] = useState(false); const onCollapse = (collapsed) => { setCollapsed(collapsed); }; return ( <Sider collapsible collapsed={collapsed} onCollapse={onCollapse}> <div className="logo" /> <Menu theme="dark" defaultSelectedKeys={['1']} mode="inline"> <Menu.Item key="1" icon={<UserOutlined />}> Option 1 </Menu.Item> <Menu.Item key="2" icon={<VideoCameraOutlined />}> Option 2 </Menu.Item> <Menu.Item key="3" icon={<UploadOutlined />}> Option 3 </Menu.Item> </Menu> <div className={collapsed ? 'hidden-slot' : ''}>插槽内容</div> </Sider> ); } ``` 在这个示例中,当导航栏收起时,判断`collapsed`属性是否为`true`,如果是,就在插槽内容的`div`元素上添加`.hidden-slot`,这样插槽的内容就会被隐藏。当导航栏展开时,判断`collapsed`属性是否为`false`,如果是,就在插槽内容的`div`元素上移除`.hidden-slot`,这样插槽的内容就会显示出来。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值