CSS滑动翻页效果是一种很酷的页面设计,可以让你的访问者感到非常流畅和舒适。接下来,我们就来学习一下如何使用CSS实现这个效果。
/* 创建一个container的div,用来包裹我们的页面 */ .container { position: relative; height: 100vh; /*设置高度为视口高度*/ width: 100vw; /*设置宽度为视口宽度*/ overflow: hidden; /*隐藏超出容器的内容*/ /*使整个容器成为Flex容器*/ display: flex; flex-direction: column; justify-content: space-between; } /*创建一个滑动按钮,以便我们可以点击切换页面*/ .scroll-down { position: absolute; bottom: 0; /*将元素放置在容器的底部*/ left: 50%; /*放置在容器中央*/ transform: translateX(-50%); /*水平居中*/ } /*使按钮形状为箭头*/ .scroll-down:before { content: "\2193"; font-size: 30px; color: #fff; }
现在,我们已经创建好了一个基本的容器和按钮,接下来,我们需要添加滑动触发效果,以便可以滑动到下一页。
/*响应滚动事件,用来设置容器的位置*/ $(window).bind('mousewheel DOMMouseScroll', function(e) { var scrollTo = null; if (e.type === 'mousewheel') { scrollTo = (e.originalEvent.wheelDelta * -1); } else if (e.type === 'DOMMouseScroll') { scrollTo = 40 * e.originalEvent.detail; } if (scrollTo) { e.preventDefault(); $(this).scrollTop(scrollTo + $(this).scrollTop()); } }); /*创建CSS动画,实现页面的滑动效果*/ @keyframes slide-down { 0% { transform: translateY(-100%); } 100% { transform: translateY(0); } } /*为每个页面添加滑动效果*/ .page { height: 100vh; position: relative; animation: slide-down 0.5s ease forwards; /*向下滑动0.5秒*/ } .page:nth-child(even) { background-color: #000; color: #fff; } .page:nth-child(odd) { background-color: #fff; color: #000; }
好了!现在我们已经为页面创建了简单的HTML结构和基本的CSS设计,以便我们可以创建一个流畅的滑动翻页效果。
在这里,我们已经使用两个动态的CSS属性来创建完整的效果:
Flex:在容器中使用Flexbox结构的属性,这个属性让页面更易于设计和响应
Animation:使用CSS动画来实现滚动效果;这个属性可以使页面看起来更加流畅和自然
声明:本文来自网络,不代表【好得很程序员自学网】立场,转载请注明出处:http://www.haodehen.cn/did222031