Result:Implementation code:html <!-- Please heart it if you like! --> <div id='book'> <div id='top'></div> <div id='front'></div> <div id='right'></div> <div id='bottom'></div> <div id='shadow'></div> <div id='bookmark'> <div> <div> <div> <div></div> </div> </div> </div> </div> <div id='bookmark-shadow'></div> </div> <div id='flip'> <div id='front'> <div> <div> <div> <div> <div> <div> <div> <div> <div> <div></div> </div> </div> </div> </div> </div> </div> </div> </div> </div> </div> <div id='back'> <div> <div> <div> <div> <div> <div> <div> <div> <div> <div></div> </div> </div> </div> </div> </div> </div> </div> </div> </div> </div> </div> <h4>CSS 3D Bending Effect - Page Flip</h4> CSS3 /* remember to use - transform-style: preserve-3d; */ html,body { height:100%; overflow: hidden; } body { background: radial-gradient(#E4CEA6, #9C8763); perspective: 900px; margin: 0; } #flip { animation: wrapper 6s ease-in-out infinite; height: 350px; width: 253px; position: absolute; left: 50%; top: 30%; transform: translateZ(-10px) rotateX(60deg) rotateZ(29deg) rotateY(0deg)!important; transform-style: preserve-3d; transform-origin: 0 0 0; } @keyframes wrapper { 50% { transform: translateZ(-10px) rotateX(60deg) rotateZ(29deg) rotateY(-180deg); } } #flip div { height: 350px; width: 24px; position: absolute; left: calc(100% - 1px); transform-origin: 0 100%; transform-style: preserve-3d; background-size: 253px 350px; } #flip #front, #flip #front div { background-image: url(http://blogs.slj.com/afuse8production/files/2012/06/Hobbit1.jpg); box-shadow: inset rgba(255,255,255,0.3) 0px -1px 0 0,#35582C 0px 1px 0px 0px; } #flip #front > div > div > div > div > div > div > div > div > div > div { box-shadow: inset rgba(255,255,255,0.3) -1px -1px 0 0, #35582C 1px 1px 0px 0px; } #flip #back { transform: rotateY(.4deg); transform-origin: -100% 0; } /* avoid pages overlap */ #flip #back, #flip #back div { background-image: url(https://s3-us-west-2.amazonaws.com/s.cdpn.io/164210/map1_.jpg); } #flip > div { left: 0; background-position-x: 0; } #flip div > div { background-position-x: -23px; animation: page 6s ease-in-out infinite; } #flip div > div > div { background-position-x : -46px; } #flip div > div > div > div { background-position-x : -69px; } #flip div > div > div > div > div { background-position-x : -92px; } #flip div > div > div > div > div > div { background-position-x : -115px; } #flip div > div > div > div > div > div > div { background-position-x : -138px; } #flip div > div > div > div > div > div > div > div { background-position-x : -161px; } #flip div > div > div > div > div > div > div > div > div { background-position-x : -184px; } #flip div > div > div > div > div > div > div > div > div > div { background-position-x : -207px; } #flip div > div > div > div > div > div > div > div > div > div { background-position-x : -229px; } /* the more pieces you have, the smoother the bend is */ @keyframes page { 15% { transform: rotateY(-10deg); } 50% { transform: rotateY(-2deg); } 65% { transform: rotateY(10deg); } 100% { transform: rotateY(0deg); } } #book { width: 248px; height: 350px; position: absolute; left:50%; top: 30%; transform: translate3d(0px,0px,-10px) rotateX(60deg) rotateZ(29deg); transform-style: preserve-3d; -webkit-transform-origin: 0 0 0; } @keyframes book { 25% { box-shadow: inset rgba(0,0,0,.2) 0px 0 50px -140px; } 50% { box-shadow: inset rgba(0,0,0,.2) 0px 0 50px -140px; } 100% { box-shadow: inset rgba(0,0,0,.2) 510px 0 50px -140px; } } #book #top { animation: book 6s ease-in-out infinite; background: url(https://s3-us-west-2.amazonaws.com/s.cdpn.io/164210/map2.jpg); background-size: 100% 100%; background-position: 100%; box-shadow: inset rgba(0,0,0,0.2) 510px 0 50px -140px; height: 350px; width: 248px; position: absolute; left: 0; top: 0; } #book #bottom { background: #E7DED1; box-shadow: rgba(83, 53, 13, 0.2) 4px 2px 1px, #35582C 1px 1px 0px 0px; height: 350px; width: 253px; position: absolute; transform: translateZ(-40px); left: 0; top: 0; } #book #shadow animation: shadow 6s ease-in-out infinite; box-shadow: inset rgba(83, 53, 13, 0) -200px 0 150px -140px; height: 350px; width: 248px; position: absolute; left: -100%; top: 0; transform: translateZ(-40px); } @keyframes shadow { 20% { box-shadow: inset rgba(83, 53, 13, 0) -200px 0 150px -140px; } 50% { box-shadow: inset rgba(83, 53, 13, 0.3) -350px 0 150px -140px; } 60% { box-shadow: inset rgba(83, 53, 13, 0) -200px 0 150px -140px; } } #book #front { background: -webkit-linear-gradient(top,#FCF6EA, #D8D1C3); background-size: 100% 2px; box-shadow: inset #C2BBA2 3px 0 0px, #35582C -2px 1px 0px 0px; height: 40px; width: 251px; left: -3px; position: absolute; bottom: -40px; transform: rotateX(-90deg); transform-origin: 50% 0; border-top-left-radius: 5px; border-bottom-left-radius: 5px; } #book #right { background: -webkit-linear-gradient(left,#DDD2BB, #BDB3A0); background-size: 2px 100%; box-shadow: inset rgba(0,0,0,0) 0 0 0 20px; height: 100%; width: 40px; position: absolute; right: -40px; top: 0; transform: rotateY(90deg); transform-origin: 0 50%; } h4 { position: absolute; bottom: 20px; left: 20px; margin: 0; font-weight: 200; opacity: 1; font-family: sans-serif; color: rgba(0,0,0,0.3); } /* bookmark */ #bookmark { position: absolute; transform: translate3d(20px,350px,-16px); transform-style: preserve-3d; } #bookmark div { background: rgb(151, 88, 88); box-shadow: rgb(133,77,77) 1px 0; height: 10px; width: 20px; position: absolute; top: 9px; transform: rotateX(-14deg); transform-origin: 50% 0; transform-style: preserve-3d; } #bookmark > div > div { background: linear-gradient(top, rgb(151, 88, 88), rgb(189, 123, 123), rgb(151, 88, 88)); } #bookmark > div > div > div { background: linear-gradient(top,rgb(151, 88, 88),rgb(133, 77, 77)); } #bookmark > div > div > div > div { background: none; border-top: 0px solid transparent; border-right: 10px solid rgb(133, 77, 77); border-bottom: 10px solid transparent; border-left: 10px solid rgb(133, 77, 77); height: 0; width: 0; } #bookmark-shadow { background: linear-gradient(top,rgba(83, 53, 13, 0.25),rgba(83, 53, 13, 0.11)); height: 15px; width: 20px; position: absolute; transform: translate3d(12px,350px,-25px) rotateX(-90deg) skewX(20deg); transform-origin: 0 0; } The above is the details of the book page turning effect made by CSS3. For more information about CSS3 book page turning effects, please pay attention to other related articles on 123WORDPRESS.COM! |
<<: Docker deployment and installation steps for Jenkins
>>: Three principles of efficient navigation design that web designers must know
Download the compressed version of MySQL-5.7.11-w...
Table of contents Preface Generate SVG Introducti...
The MySQL version used in this example is mysql-8...
1. Download and unzip to: /Users/xiechunping/Soft...
This article shares the installation and configur...
Install Docker Desktop Download address: Docker D...
Today I happened to be helping a friend move his ...
The transaction log records the operations on the...
1. Favicon.cc To create ico icon websites online,...
DIV background is semi-transparent, but the words ...
1|0MySQL (MariaDB) 1|11. Description MariaDB data...
The main symptom of the conflict is that the FLASH...
I recently wrote a mobile page at work, which was...
Use wget command to download the entire subdirect...
Recently, the project uses kubernetes (hereinafte...