实现logo居中
有两种方法
- 利用子元素默认继承父级的宽度,设置text-align: center;
- margin: 0 auto
第一种方法见
那样设置后,图片在div中水平居中,由于100%继承父级宽度,呈现的效果就是在整个网页居中
第二种方法,会计算装logo的div有多宽,然后左右margin平均了,所以效果也是水平居中
html
1 | <div id="fullpage"> |
less
1 | /*第一屏*/ |
效果
至于text,info水平居中和logo做法一样
实现动画
动态实现动画的前提是我拿到了section,怎么拿?
1 | afterLoad: function (origin, destination, direction) { |
结果如下图
可以看到,第一次载入的时候,afterLoad也会执行,只不过origin为null,direction也为null,只有destination有信息,并且鼠标放上item,会选中了section-one,这样子通过destination我们可以拿到section了
想实现的效果:滚进屏幕的时候,文字图片从有margin到为0,图片是逐渐由无到有的
需要用到transtion和afterLoad
首先我们在afterLoad回调函数这样设置
1 | afterLoad: function (origin, destination, direction) { |
origin !== null 因为第一次加载时afterLoad也会触发,且origin为空,用replace方法将字符串current替换掉,设置为空,因为从第一屏滚出去的时候null不为空,且之前已经设置了current类,我们要在滚出去的时候把它清除掉
destination.item.className 这样设置,让current类作用在section-one
less
1 | /*第一屏*/ |
效果:主要看第一屏

