使用transform製作書本翻頁效果
transform
- transform屬於CSS屬性
- Transform屬性應用於元素的2D或3D轉換。這個屬性允許你將元素旋轉,縮放,移動,傾斜等。
在網頁中需要製作一些有立體感的3d效果,比如書本翻頁
tansform中有一個rotate旋轉屬性
屬性 | 功能 |
---|---|
rotate(angle) | 定義 2D 旋轉,在引數中規定角度。 |
rotate3d(x,y,z,angle) | 定義 3D 旋轉。 |
rotateX(angle) | 定義沿著 X 軸的 3D 旋轉。 |
rotateY(angle) | 定義沿著 Y 軸的 3D 旋轉。 |
rotateZ(angle) | 定義沿著 Z 軸的 3D 旋轉。 |
書本的翻頁主要圍繞書本軸線進行左右翻動書本
例子為書本從合起狀態到開啟狀態
首先定義一本書本div
<style>
.outbookPage {
margin: 100px auto;
width: 586px;
height: 632px;
perspective: 2000px;
background:gray ;
box-shadow: 0 0 10px #999;
}
</style>
<div class="outbookPage">
</div>
效果:
在此div中設定好perspective,這是使用者相對於螢幕的遠近距離,之後翻頁效果出現時perspective值越近,翻轉效果越明顯。
在outbookPage中編寫要進行旋轉的子div元素
<style>
.outbookPage {
margin: 100px auto;
width: 586px;
height: 632px;
perspective: 2000px;
background:gray ;
box-shadow: 0 0 10px #999;
}
.innerBookPage {
width: 100%;
height: 100%;
background-color: #333333;
/* 向外面旋轉 */
transform: rotateY(-40deg);
transform-origin: 0 0;
font-size: 40px;
text-align: center;
color: white;
z-index: 5;
}
</style>
<div class="outbookPage">
<div class="innerBookPage">
封面
</div>
</div>
效果: 當前為靜態效果,如果想要製作完整的動畫翻頁效果可以使用animation,但是需要注意的是animation只能支援IE10+。
tansform:rotateY( 定義的角度 ) 代表讓div元素繞Y軸進行3d旋轉。 rotateY也只支援IE10+
在封面div旋轉到背面之後可以使用backface-visibility: hidden; 對背面進行隱藏。
此時封面旋轉到一般就消失了
為了讓封面旋轉到一半後消失出現第一頁,可以給封面div新增兄弟元素,即第一頁的div。
注意此處第一頁的div需要進行180度翻轉,這樣旋轉之後才能正向顯示。
同樣需要進行背部隱藏: backface-visibility: hidden;
完整程式碼:
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title></title>
<style type="text/css">
.outbookPage {
margin: 100px auto;
width: 586px;
height: 632px;
perspective: 2000px;
background:gray ;
background-position: 100% 0%;
box-shadow: 0 0 10px #999;
}
.innerBookPage {
width: 100%;
height: 100%;
background-color: #333333;
/* 向外面旋轉 */
transform: rotateY(-20deg);
transform-origin: 0 0;
animation: openbook 3s forwards;
font-size: 40px;
text-align: center;
color: white;
backface-visibility: hidden;
z-index: 5;
}
.innerfirstPages {
width: 100%;
height: 100%;
background: burlywood;
background-size: 100% 100%;
position: absolute;
top: 0;
left: -100%;
font-size: 40px;
text-align: center;
animation: openbook2 3s forwards;
transform: rotateY(180deg);
transform-origin: 100% 0;
backface-visibility: hidden;
}
@keyframes openbook{
0%{
transform: rotateY(0deg) scaleX(1);
}
100%{
transform: rotateY(-180deg) scaleX(1);
}
}
@keyframes openbook2{
0%{
transform: rotateY(180deg) scaleX(1);
}
100%{
transform: rotateY(0deg) scaleX(1);
box-shadow: 0 0 10px #999;
}
}
</style>
</head>
<body>
<div class="outbookPage">
<div class="innerBookPage">
封面
</div>
<div class="innerfirstPages">
第一頁內容
1111111111111
222222222222222
</div>
</div>
</body>
</html>
效果:
相關文章
- html and css3 js製作翻頁書效果id1099-網頁前端設計HTMLCSSS3JS網頁前端
- PremierePro使用教程:如何在PremierePro中製作出翻頁效果?REM
- [翻譯] 用 CSS 背景混合模式製作高階效果CSS模式
- 使用css製作吊扇轉動的效果CSS
- 安卓觸控手勢翻頁製作電子相簿安卓
- 使用Urllib2製作有道翻譯器
- Blender 效果製作:製作起伏不平的路面
- Android自定義View——從零開始實現書籍翻頁效果(二)AndroidView
- Dreamweaver網頁元素怎麼製作漸隱漸現效果教程網頁
- 使用 acme.sh 製作 HTTPS 證書ACMHTTP
- Android 翻頁效果加蘋果桌面應用抖動效果Android蘋果
- [譯] 使用 Flutter 製作 3D 翻轉動畫Flutter3D動畫
- 一種巧妙的使用 CSS 製作波浪效果的思路CSS
- 揭祕《Sherman》:使用Unity製作影視級光照效果Unity
- 使用Unity製作起霧的窗戶效果著色器Unity
- PopupWindow使用詳解(二)Popwindow製作常見花哨效果
- ul>li*3 實現翻書動畫效果動畫
- CSS製作水滴波浪效果案例CSS
- css製作下拉框效果CSS
- [翻譯]CSS變數讓你輕鬆製作響應式網頁CSS變數網頁
- 《細說網頁製作》pdf電子書免費下載網頁
- 利用transform skewX製作平行四邊形導航選單ORM
- 編曲技巧:使用FL Studio來製作停頓的效果
- 實現報表滾動到底部翻頁效果
- 網頁製作時可以拿起就用的網頁製作小技巧總結網頁
- Flutter實戰動畫番外篇-翻頁效果實現Flutter動畫
- OneClock的翻頁時鐘效果是如何實現的
- 怎麼實現一個3d翻書效果3D
- HTML簡單網頁製作HTML網頁
- Web頁面製作基礎Web
- Mac 上製作 SSL 證書Mac
- PS動作快速製作可愛餅乾文字效果
- HDR照片效果製作軟體:iFoto HDR for MacMac
- 自己如何製作一個網頁網頁
- 製作首頁的顯示列表
- Ae怎麼製作下劃線字型輸入效果?After Effects製作下劃線字型輸入效果的方法
- 如何製作Java文件說明書Java
- 如何製作H5頁面?分享簡單實用H5頁面製作教程H5