侧边栏滚动跟随--兼容IE7 safari chrome firefox

CSS自定义滚动条:跨浏览器兼容实现与工程化实践 滚动条是网页中基础却关键的UI组件,其样式控制涉及CSS伪元素、浏览器渲染机制与兼容性策略等核心概念。原理上,滚动条并非DOM节点,而是由WebKit/Blink、Gecko等引擎动态生成的视觉层,需通过::-webkit-scrollbar(Chrome/Edge/Safari)和scrollbar-width/scrollbar-color(Firefox)等差异化语法干预。技术价值在于提升交互质感与设计一致性,尤其在卡片列表、侧边栏、模态框等overflow容器中不可或缺;典型应用场景包括响应式触控优 阅读详情

RT.

很多网站为了提高点击率,都会将最新的文章,或者是一些广告放在网页主体的侧边,当页面滑动到一定的位置之后,会固定在页面的顶部,保持不动.这种方式我们称之为侧边栏滚动跟随.

由于侧边栏不能够贴着屏幕边缘,所以不能够使用position:fixed来将其固定在屏幕边缘.

这里我搜到了一个方法,亲测可用且兼容:

(function(){
        var oDiv=document.getElementById("viewLeft");//此处传入需要定位的元素id,外面必须有一个侧边栏的最大的元素包住它
        var H=-41,iE6;//此处设置滑动到距离窗口顶部H距离之后固定该元素的高度值
        var Y=oDiv;
        while(Y){H+=Y.offsetTop;Y=Y.offsetParent;}
        iE6=window.ActiveXObject&&!window.XMLHttpRequest;
        if(!iE6){
            window.onscroll=function()
            {
                var s=document.body.scrollTop||document.documentElement.scrollTop;
                if(s>H){oDiv.className="viewLeft fixerer";if(iE6){oDiv.style.top=(s-H)+"px";}} //如果滑动到元素本身设定的位置,加上一个css样式,使其固定
                else{oDiv.className="viewLeft";}  //否则,还原其类名
            };
        }
    })();
当然,一般我们侧边栏都是在侧边,所以另一侧的内容,在滑动到相应位置后,必须将其css属性设置一个margin-right 或者margin-left值来保证其float属性不会让元素飞过去.插在飘起来的侧边栏元素下面.

可以在上面的onscroll函数中的if条件语句中如下设置$('.viewCenter').addClass('right');添加一个类名,然后在else条件语句下,移除加上的类名:$('.viewCenter').removeClass('right');

css文件设置:

.fixerer{
    position:fixed;
    _position:absolute;
    top:41px;
    z-index:250;
}
.right{
    margin-left:200px;
}
HTML代码
<!--左侧导航模块开始-->
<div class="leftView" id="leftView">
    <div class="viewLeft" id="viewLeft">
    <!--文章标题列表开始-->
    <div class="articleName">
        <span class="titleCN">{$name[0]['name']}</span>
        <br clear="all"/>
        <div id="articleTitleList1">
            <ul id="articleTitleList" name="articleTitleList" class="articleTitleList">
                <volist id="list" name="list" key="k">
                    <li class="articleItem" id="{$k}">
                        <a class="articleTitle" id="articleItem{$list['id']}" href="{$list['id']}.html">·  {$list['title']}</a>
                    </li>
                </volist>
            </ul>
        </div>
    </div>
    <!--文章标题列表结束-->
CSS

.leftView{
    float: left;
    position: relative;
}
.viewLeft{
    width:199px;
    border-left: 1px solid #eee;
    border-bottom: 1px solid #eee;
    height:auto;
    min-height: 553px;
    background: #f8faff;
}
.articleName{
    width:199px;
    height:300px;
    float:left;
    background: #f8faff;
    overflow: hidden;
}
.articleTitleList{
    min-height: 251px;
    list-style: none;
    display: block;
    border: none;
}
#articleTitleList1{
    overflow: hidden;
    height:250px;
    float: left;
    margin-left: 20px;
}
.articleItem{
    display: block;
    width:149px;
    margin:0 auto;
    padding:10px 0 10px 0;
    border-bottom: 1px dotted #ccc;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
    font-size: 12px;
}
.articleTitle{
    text-decoration: none;
   color: #777;
    font-size:12px;
}
.articleTitle:hover{
    color:#AA0000;
}

侧边栏最外层必须要设置position:relative,float:left两个属性值.然后里面包含主要内容的div的id作为参数传入上面的js中.


CSS自定义滚动条:从样式控制到UI系统设计 滚动条是网页中最常被交互却最易被忽视的UI组件,其本质是浏览器渲染管线中关键的视觉反馈与运动锚点。理解`::-webkit-scrollbar`伪元素体系、`scrollbar-width`的空间控制逻辑及`scrollbar-color`的无障碍语义,是构建一致、高性能、可访问界面的基础能力。现代CSS已支持滚动条过渡动画、`scrollbar-gutter`防抖动布局、触控热区优化等工程级特性,使其超越‘美化’范畴,成为UI系统节奏感与品牌语言的重要组成部分。本文聚焦跨浏览器兼容实践、性能避坑与设计哲学 阅读详情

相关推荐

CSS背景系统深度解析:四层渲染机制与生产级避坑指南

CSS background 并非简单‘贴图’,而是一套遵循严格绘制顺序的多层合成系统。其底层由 background-color(基底色)、background-image(内容层)、background-attachment(滚动行为)和 background-clip/background-origin(裁剪与定位边界)四层构成,共同决定最终视觉输出。理解各层原理,是解决背景错位、模糊、覆盖、响应失效等高频问题的关键。尤其在实现毛玻璃效果、SVG图标居中、视差滚动、Retina适配等现代UI需求时,必

weixin_30706691的博客 334

侧栏跟随滚动的一种简单实现

浏览网站时经常看到有的网站上,侧栏里的有些内容滚动到页面顶端以后就固定在那个位置,不再跟随滚动条而滚动。这种效果叫做“侧栏跟随滚动”。它对于那些不希望被滚动到页面之外的内容是非常有用的。 侧栏跟随滚动的实现方法有很多种,比较常见的有两种,这两种方法在NEOEASE写的一篇文章中介绍的很清楚,一种是借助jQuery来实现,这种方法对于那些平时不需要加载jQuery库的网站来说,显然是一种负担(jQ...

weixin_30576859的博客 174

Holy Grail 布局的范式升级:从 Flex 拼凑到 Grid 声明式布局

Holy Grail 布局是前端响应式开发中的经典三栏结构问题,本质是解决 header/footer 固定、main 自适应撑满、sidebar 与 main 等高、DOM 语义顺序合规四大刚性约束。传统 float 和 Flexbox 方案依赖 hack(如负 margin、嵌套容器、order 属性),易引发兼容性、可访问性和维护性问题;而 CSS Grid 通过 grid-template-areas、fr 单位和 minmax() 等原生能力,将布局从‘行为拼凑’升维为‘意图声明’。其技术价值在于

weixin_33847182的博客 354

滑动侧边栏

我想找一个jquery侧边栏控件,网上有许多,可惜的是,都是想当然的将侧边栏等同于菜单。我靠,侧边栏难道就只能用来放置菜单?其实更广泛的用途应该是侧边页签,选中一个就平移出来,里面显示不同的表单或内容。 并且这些侧边栏控件出来都是高度满屏。我叉啊,自定义高度行不行? 找来找去,最后找到一个,不知叫啥名字,demo地址如下: https://pupunzi.com/mb.c...

weixin_33920401的博客 169

超详细!动态规划详解分析(典型例题分析和对比,附源码)

为啥要使用动态规划?什么时候使用动态规划?以下是我的一些理解和心得,如果你感兴趣,就接着往下看吧。 对您有帮助的话记得给我点个赞哟! 动态规划的基本思想 动态规划(Dynamic Programming,DP)算法通常用于求解某种具有最优性质的问题。在这类问题中,可能会有许多可行解,每一个解都对应一个值,我们希望找到具有最优值的解。 动态规划算法与分治法类似,其基本思想也是将待求解的问题分解成若干个子问题,先求解子问题,然后从这些子问题的解中 得到原有问题的解。与分治法不同的是,动态规划经分解后得到的子问题

qq_44398094的博客 8万+

MCGS触摸屏Modbus TCP通讯实战:从寄存器写入到字符串处理的完整代码解析

本文详细解析了MCGS触摸屏通过Modbus TCP协议实现寄存器写入和字符串处理的完整代码,涵盖单寄存器写入、多寄存器写入及字符串传输等核心技术。文章还提供了MCGS组态环境中的实战配置步骤和常见问题排查方法,帮助开发者快速掌握工业自动化通讯的关键技术。

study的专栏 759

HTML——左侧边栏布局

<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd"> 上中下布局 body{ background: #42413C ; margin: 0;/*消除body中的留白*/ padding: 0; text-al

笨鸟 3万+

库卡C4控制柜首次上电

本文详细介绍了如何使新购的库卡机器人(以KRC4为例)达到正常运行状态。首先,必须正确连接机器人尾部和控制柜底部的各种线缆,包括动力线缆、编码器线、SmartPad线和安全回路线缆等。特别强调,电源线和蓄电池线的正确连接至关重要,避免硬插以防损坏。此外,机器人与控制柜之间需连接地线以防止漏电。文章还提到,开机前需检查电机保护器开关,并确保所有线路连接正确。开机后,需提升用户权限至安全维护员级别,通过系统配置激活安全相关通讯参数。最后,文章详细解释了X11安全回路的接线方式,强调双通道信号的重要性,并提醒不同

2202_75959322的博客 1846

sticky-js常见问题解答:让你的粘性元素兼容所有浏览器

sticky-js是一个用原生JavaScript编写的粘性元素库,它可以帮助你轻松实现页面滚动时元素的固定定位效果。无论你是前端新手还是经验丰富的开发者,sticky-js都能让你的网站导航栏、侧边栏或其他重要元素在滚动时保持可见,提升用户体验。本文将解答关于sticky-js的常见问题,帮助你解决浏览器兼容性问题,让粘性元素在所有主流浏览器中完美运行! ## 🔍 sticky-js是什么?

gitblog_00593的博客 334

AI Agent实战:WorkBuddy安装部署、任务执行与模型接入全教程

AI Agent是当前自动化办公与智能工作流的核心技术,它区别于传统问答式AI,能够理解目标、拆解任务并调用工具交付完整成果。其底层原理基于任务规划、工具调用与结果验证的循环机制,让机器从“提供建议”进化为“完成任务”。在工程实践中,合理配置模型服务(如接入DeepSeek)、设计标准化Skill(技能包)与自定义指令,可以显著提升Agent在报告生成、数据分析、竞品调研等场景中的稳定性与效率。WorkBuddy作为典型的任务式AI工作台,为运营、产品、开发等多角色提供了统一入口,覆盖安装部署、任务描述公式

weixin_26712075的博客 291

基于STM32F103C8T6的红外循迹避障小车

编程思路:控制核心板IO口的电平(即电机驱动模块的AIN1,AIN2,BIN1,BIN2)从而控制AO1、AO2、BO1、BO2的电平高低,进而控制电机使其正转、反转、不转。由于单纯地拉高拉低电平只能让电机在转与不转的状态切换,故决定利用TIM4的两个通道分别产生两路PWM信号来控制电机速度,四个电机两个一组,同一侧的两个连接在同一个PWM上。(#include "dianji.h"文件中同时写了对循迹模块引脚的初始化)

weixin_48743503的博客 1万+

告别jQuery依赖!sticky-js让元素粘性定位变得超级简单

sticky-js是一款基于原生JavaScript开发的轻量级元素粘性定位库,无需依赖jQuery,就能轻松实现网页元素的粘性定位效果。它不仅体积小巧(压缩后仅约7.0kb,gzip压缩后更是低至1.9kb),还具备响应式设计特性,让你的网站在各种设备上都能呈现出专业的粘性元素效果。 ## 🌟 为什么选择sticky-js? 传统的元素粘性定位实现往往需要依赖jQuery等重型库,或者编写

gitblog_00038的博客 366

28.Anaconda安装jupyter notebook、jupyterlab及体验

手贱,不小心将Anaconda自带得jupyter给卸载了,没法子了查了好多资料都比较麻烦,所以自己摸索着重新安装,记录一下心得。说明:Anaconda没有加入环境变量,Anaconda官方建议不要将Anaconda加入环境变量,这就意味着他和python是可以共存的。

迷逝 5031

sticky-js vs 传统粘性方案:为什么这个7KB库能脱颖而出?

在现代网页设计中,粘性元素(Sticky Elements)已成为提升用户体验的重要功能。无论是导航栏、侧边栏还是广告横幅,都需要在页面滚动时保持可见。sticky-js作为一款轻量级的原生JavaScript库,以仅7KB的体积(压缩后)和强大的功能,正在改变开发者实现粘性效果的方式。本文将深入对比sticky-js与传统粘性方案的差异,揭示这个小巧库如何在众多解决方案中脱颖而出。 ## 传统

gitblog_00202的博客 306

YOLOV5 自动刷图脚本实战(十五)之如何找到正确的门

DXF是一个2D游戏,我们所看到的人物移动,其实是后面的背景在移动,我们所看到的画面,不过是一个完整背景中的一个镜头视角而已想要正确找到门的坐标,我们需要对不同的地图中的每个房间做一些配置信息。

qq_38892949的博客 2812

语音信号的AGC自适应增益调整matlab仿真

语音信号的自动增益控制(Automatic Gain Control,AGC)是音频处理领域中的一项重要技术。其核心功能是实时调整输入信号的幅度,使其保持在一定范围内,以优化输出信号的质量。AGC广泛应用于语音通信、语音识别、音频录制和播放等领域,旨在解决输入信号幅度波动问题,确保输出信号的稳定性和清晰度。一、AGC的基本原理1.1 幅度调整自动增益控制的基本原理是根据输入信号的幅度动态地调整系统的增益。

平时工作较为繁忙,私信消息一般晚上回复,谢谢大家~~ 927

amazeui学习笔记一(开始使用3)--兼容性列表compatibility

amazeui学习笔记一(开始使用3)--兼容性列表compatibility 一、总结 1、不要用ie做前端测试,不要碰ie,尽量用google 浏览器:按照微软官方的说法,IE 开发者工具中的浏览器模式也不一定靠谱; 2、 amazeui的浏览器支持情况:amazeui对google浏览器的支持是最最最最好的:amaze ui也支持最新版的ie,特别老的版本6789支持不好 ...

weixin_30463341的博客 172

C# WinForm 基于DirectShow.dll编写的程序,可边预览边保存视频,音频和图片

基于微软的DirectShow.dll的二次开发1.自动识别连接的摄像头跟麦克风且可以对其进行选择(默认选中第一个)2.可录制wmv和avi两种格式的视频并且都带有音频,avi可以录制的分辨率和帧数进行选择,wmv默认进行了淸晰度优化如不喜欢可去除代码中有相关提示3.可在预览点开之后进行拍照,也可边录制视频边拍照4.添加了视频和音频的压缩功能(酌情使用)这次二次开发发现C#对DirectShow的相关信息太少,这次做完也不敢藏私共享出来,还望大家指正

10+个jQuery Sticky Scroll插件

今天的文章是好jQuery插件集合,其操作换元件,以保持它们在视图 (粘滚动)当您滚动网页了。 请享用。 1.置顶 jQuery插件,让你让你的页面上的任何元素始终保持可见的能力。 来源+演示 2. stickyMojo A含有粘侧边栏的jQuery插件通过MojoTech赞助。 它重量轻,速度快,灵活,有火狐,Chrome,Safari和IE8 +兼容。 资源 3.粘边栏...

296

Data-Structures-and-Algorithm-Analysis-in-Java.pdf

作者: Weiss, Mark A. 出版社: Addison Wesley Data Structures and Algorithm Analysis in Java is an “advanced algorithms” book that fits between traditional CS2 and Algorithms Analysis courses. In the old ACM Curriculum Guidelines, this course was known as CS7. This text is for readers who want to learn good programming and algorithm analysis skills simultaneously so that they can develop such programs with the maximum amo...

迈瑞BS系列全自动生化分析仪LIS协议接口手册(内含HL7和ASTM)

迈瑞BS系列全自动生化分析仪LIS协议接口手册,内含HL7和ASTM)

现代浏览器技术路线深度解析:从AI集成到开发实战

浏览器作为Web应用的核心运行环境,其技术架构已从单纯的网页渲染引擎演变为集成了AI能力、本地计算和复杂生态的操作系统级平台。其核心原理在于通过JavaScript引擎、渲染引擎和现代Web API(如WebGPU、Service Worker)构建高性能、可交互的应用容器。这一演进的技术价值在于极大地扩展了Web的能力边界,使其能够承载从复杂企业应用到图形密集型游戏的全场景需求。在应用场景上,现代浏览器不仅是内容消费工具,更成为开发调试、智能办公、隐私保护和跨平台应用开发的关键基础设施。本文聚焦Chrom

weixin_34127717的博客 866

sticky-js核心功能解析:从基础到高级的完整指南

sticky-js是一款基于原生JavaScript开发的轻量级粘性元素库,能够帮助开发者轻松实现网页元素的粘性定位效果,且完全响应式设计。本文将从基础使用到高级配置,全面解析这款实用工具的核心功能与应用技巧。 ## 🚀 为什么选择sticky-js?三大核心优势 作为一款专注于粘性定位的JavaScript库,sticky-js凭借以下特性在同类工具中脱颖而出: - **零依赖原生实现*

gitblog_01051的博客 374

sticky-js源码探秘:Vanilla JS实现粘性定位的核心原理

你是否曾经在浏览网页时遇到过那些随着滚动而"粘"在屏幕顶部的导航栏或侧边栏?这种粘性定位效果在现代网页设计中非常流行,而 **sticky-js** 就是一款用原生 JavaScript 实现的轻量级粘性定位库。本文将深入解析这个库的核心源码实现,帮助你理解粘性定位背后的技术原理。 ## 什么是sticky-js?🎯 **sticky-js** 是一个纯原生 JavaScript 实现的粘性

gitblog_00683的博客 1023

认识 jPages:一款基于 jQuery 与 CSS3 的免费客户端分页插件完全解读

jPages 是一款基于 jQuery 与 CSS3 的免费客户端分页插件,专为前端开发者解决大量数据在单页内的展示难题。它不仅能帮你把几十上百条项目优雅地分页展示,还内置了自动翻页、键盘浏览、滚轮翻页、延迟显示等丰富特性,并且可以与 Animate.css、Lazy Load 无缝集成。本文将从零开始,带你认识 jPages 的核心功能、快速上手方法、常用配置技巧以及真实应用场景,即使你完全没有

gitblog_00923的博客 1129

CSS shape-outside图文环绕排版实战指南

CSS图文环绕是网页排版的基础需求之一,其核心原理在于通过浮动元素(Floated Elements)触发文本流重排,并利用shape-outside属性定义文字避让的几何边界。该技术不依赖JavaScript或复杂布局模型,而是基于浏览器原生渲染机制,具备高性能与高可访问性。其技术价值体现在提升内容可读性、增强视觉叙事力,并支持响应式适配。典型应用场景包括数字杂志、产品介绍页、文学网站及创意展示页等需要深度图文融合的项目。polygon()函数作为关键能力,使开发者能以百分比坐标自由绘制任意轮廓,真正实现

weixin_30664051的博客 345

浏览器:浏览器底层原理全景深度解析(前端开发必备完整版)

全方位扩充、深度拆解、多表格结构化整理,覆盖浏览器发展史、市场格局、多进程架构、URL 全链路流程、渲染机制、回流重绘合成、V8 引擎、性能优化、浏览器识别、前端必备知识体系全模块,兼顾理论原理、对比表格、实战优化、面试考点,形成完整可落地的浏览器知识体系。

snow的博客 509
上一篇: 自定义滚动条插件--mCustomScrollbar
下一篇: 前台截取一定长度的后台返回文字,并在后面加省略号
GiantChan
博客等级 码龄16年 76粉丝 108原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值