博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
position:sticky布局
阅读量:6587 次
发布时间:2019-06-24

本文共 1059 字,大约阅读时间需要 3 分钟。

  用户的屏幕越来越大,而页面太宽的话会不宜阅读,所以绝大部分网站的主体宽度和之前相比没有太大的变化,于是浏览器中就有越来越多的空白区域,所以你可能注意到很多网站开始在滚动的时候让一部分内容保持可见,比如,侧边栏的部分区域。position:sticky为此而生。

position:sticky用法

  position:sticky 是一个新的css3属性,它的表现类似 position:relative 和 position:fixed 的合体,在目标区域在屏幕中可见时,它的行为就像 position:relative ; 而当页面滚动超出目标区域时,它的表现就像 position:fixed,它会固定在目标位置。

使用起来也非常简单:

.sticky {    position: -webkit-sticky; position:sticky; top: 15px; }

  目前来说还需要用私有前缀

浏览器兼容性:

  由于这是一个全新的属性,以至于到现在都没有一个规范。

  Chrome已经不再支持sticky属性,Safari 从 6.1开始支持,但表现也不太完美,Firefox 从版本 32开始支持了。IE一直不支持。

另外需要注意的是,如果同时定义了leftright值,那么left生效,right会无效,同样,同时定义了topbottomtop赢。

fall back

  虽然其它浏览器尚不支持,但是实现起来其实不难,我们可以用js简单实现:

HTML
CSS
.sticky {    position: fixed; top: 0; } .header { width: 100%; background: #F6D565; padding: 25px 0; }
JS
var header = document.querySelector('.header');  var origOffsetY = header.offsetTop;  function onScroll(e) { window.scrollY >= origOffsetY ? header.classList.add('sticky') : header.classList.remove('sticky'); } document.addEventListener('scroll', onScroll);

转载于:https://www.cnblogs.com/jarvisen/p/4483656.html

你可能感兴趣的文章
使用流的方式往页面前台输出图片
查看>>
LAMP,安装脚本
查看>>
易语言 --什么情况下 用许可证
查看>>
建属于自己的网站
查看>>
boost库之智能指针
查看>>
我的友情链接
查看>>
我来自CSDN
查看>>
怎么给电脑设置IP地址和DNS地址,各系统设置IP/DNS几种方法
查看>>
必 备 习 题 集 (一)
查看>>
转:模态对话框的支持 (IE,Firefox,Chrome)
查看>>
关于图片或者文件在数据库的存储方式归纳
查看>>
Project Euler 345: Matrix Sum
查看>>
.htaccess 基础教程(四)Apache RewriteCond 规则参数
查看>>
Laravel 学习笔记5.3之 Query Builder 源码解析(下)
查看>>
2012CSDN年度博客之星评选http://vote.blog.csdn.net/item/blogstar/xyz_lmn
查看>>
BZOJ3668:[NOI2014]起床困难综合症(贪心)
查看>>
LightOJ 1245(Harmonic Number (II))
查看>>
图片转流
查看>>
HTML 标签说明
查看>>
java笔记八:IO流之字符流与字符缓冲流
查看>>