• linkedu视频
  • 平面设计
  • 电脑入门
  • 操作系统
  • 办公应用
  • 电脑硬件
  • 动画设计
  • 3D设计
  • 网页设计
  • CAD设计
  • 影音处理
  • 数据库
  • 程序设计
  • 认证考试
  • 信息管理
  • 信息安全
菜单
linkedu.com
  • 网页制作
  • 数据库
  • 程序设计
  • 操作系统
  • CMS教程
  • 游戏攻略
  • 脚本语言
  • 平面设计
  • 软件教程
  • 网络安全
  • 电脑知识
  • 服务器
  • 视频教程
  • dedecms
  • ecshop
  • z-blog
  • UcHome
  • UCenter
  • drupal
  • WordPress
  • 帝国cms
  • phpcms
  • 动易cms
  • phpwind
  • discuz
  • 科汛cms
  • 风讯cms
  • 建站教程
  • 运营技巧
您的位置:首页 > CMS教程 >建站教程 > 深入浅析Bootstrap中的自动定位浮标

深入浅析Bootstrap中的自动定位浮标

作者:站长图库 字体:[增加 减小] 来源:互联网 时间:2022-04-29

站长图库向大家介绍了Bootstrap,自动定位浮标等相关知识,希望对您有所帮助

本篇文章带大家详细了解一下Bootstrap中的自动定位浮标。有一定的参考价值,有需要的朋友可以参考一下,希望对大家有所帮助。


深入浅析Bootstrap中的自动定位浮标


Affix 插件主要功能就是通过插件给某个元素(需要固定的元素)添加或删除position:fixed,实现元素在浏览器窗口的粘性固定效果。


基本用法

首先,来看一个苹果官网对自动定位浮标的应用


深入浅析Bootstrap中的自动定位浮标


从上面的git图中可知,Macbook一栏滚动到一定高度时,固定在窗口顶部便不再移动

Affix 插件可以对任何元素进行固定定位,其中比较简单的方法,就是通过自定义属性data来触发。其主要包括两个参数:

1、data-spy:取值 affix,表示元素是固定不变的。

2、data-offset:整数值,比如 90,表示元素 top 和 bottom 的值都是 90px,其包括两种方式:data-offset-top和data-offset-bottom

data-offset-top用来设置元素距离顶部的距离。比如 90,表示元素距离顶部 90px,当用户从顶部向下拖动滚动条,当滚动的距离大于 90px 时,affix 元素不再滚动,就会固定在浏览器窗口顶部

data-offset-bottom刚好与 data-offset-top 相反

<div data-spy="affix" data-offset="90">affix元素</div><!-- 等价 --><div data-spy="affix" data-offset-top="90" data-offset-bottom="90">affix元素</div>

【设置CSS】

在使用Affix插件时,必须通过 CSS 定位内容。Affix插件在三种 class 之间切换,每种 class 都呈现了特定的状态:.affix、.affix-top 和 .affix-bottom

1、在开始时,插件添加.affix-top来指示元素在它的最顶端位置。这个时候不需要任何的 CSS 定位 

2、当滚动经过添加了Affix的元素时,应触发实际的Affix。此时.affix会替代.affix-top,同时设置position: fixed(由 Bootstrap 的 CSS 代码提供)

这时,需要手动设置.affix,如.affix{top:0;}表示停止在窗口顶部

3、如果定义了底部偏移,当滚动到达该位置时,应把.affix替换为.affix-bottom。由于偏移是可选的,假如设置了该偏移,则要求同时设置适当的 CSS。在这种情况下,请在必要的时候添加position: absolute;

<style>.test{width: 100%;height: 50px;background-color:lightgreen;}.affix{top:0px;}</style></head><body style="height:1000px;" >    <div style="height:100px"></div>    <div data-spy="affix" data-offset="100" class="test"></div></body>


深入浅析Bootstrap中的自动定位浮标


JS触发

有时候,使用该插件,其顶部和底部的高度不一定是固定的,所以在初始化时使用声明式用法不太合适。这时,使用javascript用法就显得比较灵活了,因为它不仅支持传入数字型的offset,还支持传入能够动态计算offset的function函数

<script>$('#myAffix').affix({    offset: {        top:100,        bottom: function () {            return (this.bottom = $('footer').outerHeight(true))        }    }})    </script>

【事件】

affix组件提供了6种事件,即affix和affixed各对应于3种状态(普通、top、bottom)时的事件

affix.bs.affix    在定位结束之前立即触发affixed.bs.affix    在定位结束之后立即触发affix-top.bs.affix    在定位元素应用affixed-top效果之前立即触发affixed-top.bs.affix    在定位元素应用affixed-top效果之后立即触发affix-bottom.bs.affix    在定位元素应用affixed-bottom效果之前立即触发affixed-bottom.bs.affix    在定位元素应用affixed-bottom效果之后立即触发
<style>.test{width: 100%;height: 50px;background-color:lightgreen;}header{height: 100px;}.affix{top:0px;}</style></head><body style="height:1000px;"><header></header><div data-spy="affix" class="test"></div><script>$(function(){    $('.test').affix({        offset:{            top:function(){                return (this.top = $('header').outerHeight(true))            }        }    }).on('affix.bs.affix',function(){        $(this).html('我被固定在窗口顶部');    }).on('affix-top.bs.affix',function(){        $(this).html('我正跟随滚动条滚动');    })})    </script>


深入浅析Bootstrap中的自动定位浮标


分享到:QQ空间新浪微博腾讯微博微信百度贴吧QQ好友复制网址打印

您可能想查找下面的文章:

  • Bootstrap中怎么实现加载效果?读取图标(Spinners)组件
  • Bootstrap-table表头固定导致错位怎么办?怎么彻底解决?
  • 聊聊Bootstrap中的导航条
  • 使用bootstrap怎么实现分页
  • 如何安装和使用BootstrapVue,构建项目界面
  • 浅谈Bootstrap中的自适应屏幕
  • 聊聊Bootstrap5中的断点与容器
  • 浅谈bootstrapTable+jstree插件对树列表条件和查询条件的处理
  • 聊聊Bootstrap4中的网格系统
  • 分享Laravel整合Bootstrap4的完整方案

相关文章

  • 2022-04-29手机批发网优化学习过程心态分享
  • 2022-04-29揭秘Photoshop图层样式与蒙版的一些技巧
  • 2022-04-29Photoshop绘制清新绿色立体桔子按钮
  • 2022-04-29CDR绘制立体图标入门教程
  • 2022-04-29Dedecms 发布文章时 Tag标签中文逗号自动变成英文
  • 2022-04-29浅析安卓app和微信授权登录及分享完整对接(代码分享)
  • 2022-04-29JavaScript事件之事件冒泡与时间捕获(总结分享)
  • 2022-04-29最简单的WordPress手动输入页号并跳转翻页的方法
  • 2022-04-29Thinkphp5中是如何自定义全局异常
  • 2022-04-29php中怎么实现ajax提交form表单

文章分类

  • dedecms
  • ecshop
  • z-blog
  • UcHome
  • UCenter
  • drupal
  • WordPress
  • 帝国cms
  • phpcms
  • 动易cms
  • phpwind
  • discuz
  • 科汛cms
  • 风讯cms
  • 建站教程
  • 运营技巧

最近更新的内容

    • Vue 和 Yii 怎么配合?
    • 20+个值得收藏的PHP常用小技巧
    • 如何运用layui数据添加页面的前端布局?(附源码)
    • 解决LNMP环境无法彻底删除原网站目录文件夹的方法
    • 实例详解thinkphp6搭建后端api接口
    • php base64如何进行URL字符串编码和解码?
    • 手把手教你使用ThinkPHP+phpExcel导入导出Excel数据
    • Photoshop制作逼真复古效果的黑胶唱片
    • Discuz论坛更换域名,详细文件修改步骤
    • PS打造线描风格舞者壁纸平面作品设计制作教程

关于我们 - 联系我们 - 免责声明 - 网站地图

©2020-2025 All Rights Reserved. linkedu.com 版权所有