码迷,mamicode.com
首页 > 其他好文 > 详细

position新属性sticky

时间:2014-12-04 19:35:35      阅读:259      评论:0      收藏:0      [点我收藏+]

标签:io   ar   os   使用   sp   strong   on   div   bs   

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

  使用起来也非常简单: 

代码如下:

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


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

浏览器兼容性: 
由于这是一个全新的属性,以至于到现在都没有一个规范,W3C也刚刚开始讨论它,而现在只有webkit nightly版本和chrome 开发版(Chrome 23.0.1247.0+ Canary)才开始支持它。 
另外需要注意的是,如果同时定义了left和right值,那么left生效,right会无效,同样,同时定义了top和bottom,top赢~~ 
fall back 
虽然其它浏览器尚不支持,但是实现起来其实不难,我们可以用js简单实现: 
HTML 

代码如下:

<div class="header"></div> 


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); 


嗯,对于前端来说,新技术用于提升用户体验才能体现其价值~~(可以应用到移动项目中哦)

position新属性sticky

标签:io   ar   os   使用   sp   strong   on   div   bs   

原文地址:http://www.cnblogs.com/leoy/p/4143379.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!