css特效
翻页特效
html:
<p class="book preserve-3d">
<p class="now_page point">
<p class="book-page">
<p>第三页</p>
</p>
</p>
<p class="now_page point">
<p class="book-page">
<p>第二页</p>
</p>
</p>
<p class="now_page point">
<p class="book-page ">
<p>第一页</p>
</p>
</p>
<!--封面-->
<p class="point now_page">
<p class="book-page first-page">
<p>封面</p>
</p>
</p>
</p>
css:
.book{
height: 10rem;
width: 40%;
background: #FFF;
position: absolute;
right:10%;
top:4rem;
transform: rotateX(30deg);
-webkit-transform: rotateX(30deg);
-ms-transform: rotateX(30deg);
-o-transform: rotateX(30deg);
}
/*每页的公共样式*/
.book-page {
position: absolute;
top: 0;
left: 0;
width: 100%;
height:10rem;
border: 1px solid #1976D2;
text-align: center;
background-color: #fff;
}
.book-page p{
font-size: 1.2rem;
margin-top: 2rem;
color: #ff6300;
backface-visibility:hidden;
-webkit-backface-visibility:hidden;
}
/*首页样式*/
.first-page{
background-color: #1976D2;
}
/*动画部分*/
/*I'm the home page动画*/
.flip-animation-start {
animation: flipBook1 3s forwards;
-moz-animation: flipBook1 3s forwards; /* Firefox */
-webkit-animation: flipBook1 3s forwards; /* Safari and Chrome */
-o-animation: flipBook1 3s forwards; /* Opera */
}
.flip-animation-end {
animation: flipBook2 3s forwards;
-moz-animation: flipBook2 3s forwards; /* Firefox */
-webkit-animation: flipBook2 3s forwards; /* Safari and Chrome */
-o-animation: flipBook2 3s forwards; /* Opera */
}
@keyframes flipBook1 {
0% {
-webkit-transform: rotateY(0deg);
-ms-transform: rotateY(0deg);
-o-transform: rotateY(0deg);
transform: rotateY(0deg);
}
100% {
-webkit-transform: rotateY(-160deg);
-ms-transform: rotateY(-160deg);
-o-transform: rotateY(-160deg);
transform: rotateY(-160deg);
}
}
/*关闭书页*/
@keyframes flipBook2 {
0% {
-webkit-transform: rotateY(-160deg);
-ms-transform: rotateY(-160deg);
-o-transform: rotateY(-160deg);
transform: rotateY(-160deg);
}
100% {
-webkit-transform: rotateY(0deg);
-ms-transform: rotateY(0deg);
-o-transform: rotateY(0deg);
transform: rotateY(0deg);
}
}
js:
$('.now_page').click(function(){
if($(this).hasClass('flip-animation-start')){
$(this).removeClass('flip-animation-start').addClass('flip-animation-end');
}else{
$(this).removeClass('flip-animation-end').addClass('flip-animation-start');
}
})
这样写出来的翻页效果在正反面都可看见,如果想要隐藏反面可见,需要用到css3属性:backface-visibility:hidden;这个属性可以在元素在反面是隐藏。
反面隐藏
加入backface-visibility属性,注意:此条属性要搭配父级拥有属性transform-style: preserve-3d才可生效,必要时可以给所有父级添加。
.book-page p{
font-size: 1.2rem;
margin-top: 2rem;
color: #ff6300;
backface-visibility:hidden;
-webkit-backface-visibility:hidden;
}
效果:
双面展示不同内容
如果想在同一页的正反面展示不同的内容,此时将上一条的backface-visibility属性灵活运用一下即可。即先将背面的内容倒转,这样背面的内容在正面时隐藏,在反面时显示。
<!--封面-->
<p class="point now_page preserve-3d">
<p class="book-page first-page preserve-3d">
<p>封面</p>
</p>
<p class="back_book_page preserve-3d">
<p>反面</p>
</p>
</p>
css:
/*反面*/
.back_book_page{width:100%;background:#ff6300;height:10rem;position:absolute;top:0;left:0;transform:rotateY(180deg);}
.back_book_page>p{color:white;font-size:1.2rem;text-align:center;margin-top:2rem;}
效果:
注意:如果反面皆是一样,则可以使用上面写法,如果不一样,则会出现封面在上的情况,那是因为元素虽然翻转,但是层级关系仍未改变,所以当动画结束时封面会在上(我也是后来才发现这个问题)。错误展示如下:
此时如果想展示双面效果,需要在翻页后设置层级关系。
var active_z=0;
$('.now_page').click(function(){
console.log($(this));
if($(this).hasClass('flip-animation-start')){
$(this).removeClass('flip-animation-start').addClass('flip-animation-end').css('z-index',0);
active_z--;
}else{
$(this).removeClass('flip-animation-end').addClass('flip-animation-start').css('z-index',active_z);
active_z++;
}
})
为活动的页面设置z-index即可。
结果:
相关阅读
骁龙636和麒麟970哪款好?CPU作为手机最核心的硬件,它关乎运算速度、图形(游戏)性能,同时还与手机功耗、发热、续航、网络支持等方面息
还记得以前那篇《超强验证码》?其实这个世界变态的验证码还有很多,下面是一个列表向像展示了各种稀奇古怪的验证码。不过本文并不
本文来源站长网(www.admin5.com)转载请注明出处 hao3gp 又一个hao123式的草根站长传奇故事,初进论坛,如果不是仔细看到注册会员数
产品经理周报第39期|抖音永久封禁了2万余账号;滴滴10月1
早吖各位小伙伴们周五的早晨适合来一份轻松的阅读~以下为本周的精选内容,欢迎各位尽情品味~☟☟☟Step 1:好看产品动态(1)滴滴10月18
在Excel众多版本之中,相信很多朋友对2013版本的界面相当的陌生,因为是最新版本嘛,下面是seo实验室小编整理的excel2013工作界面介绍