前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >CSS 侧边栏在小屏设备中进行隐藏

CSS 侧边栏在小屏设备中进行隐藏

作者头像
Nian糕
修改2024-03-16 17:06:06
1.9K0
修改2024-03-16 17:06:06

侧边栏的作用应该就不用多说了吧,能够很方便我们回到网页的指定位置,在大屏设备中,侧边栏往往是悬浮于屏幕右侧,很方便用户的使用,但在小屏设备中,屏幕空间有限,所以我们会通过隐藏侧边栏的方式,来节省视口空间的使用

我们先来看下,在大屏设备中,侧边栏如何显示,继而再讲述,从大屏设备切换到小屏设备,侧边栏如何隐藏,国际惯例,先看 HTML 结构代码

代码语言:javascript
复制
<div id="nav_1">
    <img src="img/1.jpg">
</div>
<div id="nav_2">
    <img src="img/2.jpg">
</div>
<div id="nav_3">
    <img src="img/3.jpg">
</div>
<div id="nav_4">
    <img src="img/4.jpg">
</div>

<div class="c_nav_tips"></div>
<div class="c_nav_side">
    <ul>
        <li>
            <a href="#nav_1" class="c_nav_1"></a>
        </li>
        <li>
            <a href="#nav_2" class="c_nav_2"></a>
        </li>
        <li>
            <a href="#nav_3" class="c_nav_3"></a>
        </li>
        <li>
            <a href="#nav_4" class="c_nav_4"></a>
        </li>
    </ul>
</div>

CSS 媒体查询代码如下

代码语言:javascript
复制
@media screen and (min-width: 1410px) {
    .c_nav_side{
        position: absolute;             
        top: 1000px;
        left: 80%;
    }
    .c_nav_fix{
        position: fixed;
        top: 140px;
    }
    .c_nav_tips {
        display: none;
    }
}

JS 滚动条事件代码如下

代码语言:javascript
复制
$(window).on('scroll', function(){
    if($(this).scrollTop() > 855){
        $navSide.addClass('c_nav_fix');
    }else{
        $navSide.removeClass('c_nav_fix');
    }
});
min-width:1410px 运行结果
min-width:1410px 运行结果

而在一些小屏设备中,如笔记本电脑,屏幕空间有限,我们通常选择将侧边栏进行隐藏,只有在浏览者需要用到侧边栏中的时候,再将侧边栏显示出来,在宽度小于等于 1410 px 的设备中,侧边栏将会在屏幕右侧进行隐藏,并会出现一个提示图片,当鼠标移至图片上时,提示图片隐藏,侧边栏出现;当鼠标从侧边栏上移开时,侧边栏隐藏,提示图片出现

CSS 媒体查询代码如下

代码语言:javascript
复制
@media screen and (max-width: 1410px) {
    .c_nav_side {
        right: -240px;
        position: fixed;
        top: 140px;
    }
    .c_nav_tips {
        display: block;
    }
}

JS 鼠标事件代码如下

代码语言:javascript
复制
$('.c_nav_tips').on('mouseenter', function(){
    $('.c_nav_tips').animate({'right': '-120px'});
    $('.c_nav_side').animate({'right': '10px'});
});
$('.c_nav_side').on('mouseleave', function(){
    $('.c_nav_tips').animate({'right': '0px'});
    $('.c_nav_side').animate({'right': '-240px'});
})
max-width:1410px 运行结果
max-width:1410px 运行结果

本篇的内容到这里就全部结束了,源码我已经发到了 GitHub Source_code 上了,有需要的同学可自行下载,预览效果可点击 effect

本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2017.11.02 ,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档