Compare commits

..

No commits in common. "master" and "f1eeab55576a65b1679dfa63abbc27f9d07df571" have entirely different histories.

8 changed files with 172 additions and 172 deletions

Binary file not shown.

Before

Width:  |  Height:  |  Size: 11 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 684 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 575 KiB

BIN
book-page-devo-1.JPG Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 83 KiB

BIN
book-page-devo-2.JPG Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 89 KiB

BIN
book-page-intro-left.JPG Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 95 KiB

BIN
book-page-intro-right.JPG Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 59 KiB

View File

@ -2,193 +2,193 @@
<html> <html>
<head> <head>
<meta charset="utf-8"> <meta charset="utf-8">
<meta name="viewport" content="width=device-width, initial-scale=1" >
</head> </head>
<body> <body>
<main> <main>
<style>
.Shot
{
transform: perspective(1000px);
transform-style: preserve-3d;
width:500px;
height: 400px;
margin:20px auto 0 auto;
text-align:center;
transition: transform 1s;
}
.Shot[show="cover"]{ transform: perspective(800px) rotateX(-15deg) rotateY(110deg); }
.Shot[show="spine"]{ transform: perspective(2000px) rotateX(0deg) rotateY(180deg); }
.Shot[show="back" ]{ transform: perspective(1000px) rotateX(-30deg) rotateY(-60deg); }
.Shot[show="pages"]{ transform: perspective(800px) rotateX(-7deg) rotateY(0deg); }
.Book <style>
{ .Shot
height:100%; {
transform-style: preserve-3d; transform: perspective(1000px);
transform: translateZ(-100px); transform-style: preserve-3d;
position: relative; width:500px;
display:inline-block; height: 400px;
} margin:20px auto 0 auto;
.Spine text-align:center;
{ transition: transform 1s;
display:flex; }
justify-content:space-between; .Shot[show="cover"]{ transform: perspective(800px) rotateX(-15deg) rotateY(110deg); }
margin:0 auto; .Shot[show="spine"]{ transform: perspective(2000px) rotateX(0deg) rotateY(180deg); }
position:absolute; .Shot[show="back" ]{ transform: perspective(1000px) rotateX(-30deg) rotateY(-60deg); }
top:0; .Shot[show="pages"]{ transform: perspective(800px) rotateX(-7deg) rotateY(0deg); }
left:0;
width:100%;
height:100%;
}
.Page .Book
{ {
display: inline-block; height:100%;
position: relative; transform-style: preserve-3d;
transition: transform 1s; transform: translateZ(-100px);
transform-style: preserve-3d; position: relative;
} display:inline-block;
.Page[swing="closed"]{ transform: translateX(0px) rotateY(-90deg); } }
.Page[swing="right" ]{ transform: translateX(-3px) rotateY(-20deg); } .Spine
.Page[swing="left" ]{ transform: translateX(3px) rotateY(-160deg); } {
.Page .Front, .Page .Back display:flex;
{ justify-content:space-between;
float:left; margin:0 auto;
position:absolute; position:absolute;
top:0; top:0;
left:0; left:0;
height:100%; width:100%;
backface-visibility: hidden; height:100%;
transform-style: preserve-3d; }
transform: rotateY(180deg);
}
.Page .Back
{
transform: rotateY(0deg);
}
.Page img
{
height:100%;
width:auto;
}
.Page--Fill .Page
{ {
display: block; display: inline-block;
position:absolute; position: relative;
top:0; transition: transform 1s;
left:0; transform-style: preserve-3d;
width:100%; }
height:100%; .Page[swing="closed"]{ transform: translateX(0px) rotateY(-90deg); }
} .Page[swing="right" ]{ transform: translateX(-3px) rotateY(-20deg); }
.Page--Shrink .Page[swing="left" ]{ transform: translateX(3px) rotateY(-160deg); }
{ .Page .Front, .Page .Back
height:98%; {
top:1%; float:left;
} position:absolute;
.Shadow--Drop::before top:0;
{ left:0;
transform: rotateX(90deg) translateY(-100px) translateZ(-3px); height:100%;
box-shadow: 0px 100px 60px black, 0px 100px 17px black; backface-visibility: hidden;
display: block; transform-style: preserve-3d;
position: absolute; transform: rotateY(180deg);
top: 100%; }
content: " "; .Page .Back
width: 100%; {
height: 8px; transform: rotateY(0deg);
border-radius: 39px; }
} .Page img
{
height:100%;
width:auto;
}
.Shadow--Sheet::after .Page--Fill
{ {
content:" "; display: block;
position:absolute;
top:0;
left:0;
width:100%;
height:100%;
}
.Page--Shrink
{
height:98%;
top:1%;
}
.Shadow--Drop::before
{
transform: rotateX(90deg) translateY(-100px) translateZ(-3px);
box-shadow: 0px 100px 60px black, 0px 100px 17px black;
display: block;
position: absolute;
top: 100%;
content: " ";
width: 100%;
height: 8px;
border-radius: 39px;
}
background-size: 100% 100%; .Shadow--Sheet::after
background-position: 0px 0px; {
background-image: conic-gradient(from 0deg at 0% 0%, #00000000 33%, #000000FF 75%); content:" ";
display:block; background-size: 100% 100%;
position:absolute; background-position: 0px 0px;
z-index:100; background-image: conic-gradient(from 0deg at 0% 0%, #00000000 33%, #000000FF 75%);
top:0;
left:0;
width:100%;
height:100%;
backface-visibility: hidden; display:block;
transform:scaleX(-1); position:absolute;
} z-index:100;
.Shadow--Sheet--Flip::after top:0;
{ left:0;
transform:scaleX(1); width:100%;
} height:100%;
.Shadow--Radiosity::after backface-visibility: hidden;
{ transform:scaleX(-1);
content: " "; }
background-size: 100% 100%; .Shadow--Sheet--Flip::after
background-position: 0px 0px; {
background-image: radial-gradient(188% 24% at 50% 82%, #ffffff52 0%, #0000 100%); transform:scaleX(1);
display: block; }
position: absolute;
bottom: 0;
left: 0;
z-index:100;
width: 100%;
height: 100%;
}
</style>
<div class="Shot" show="cover">
<div class="Book">
<img style="display:block; height:100%; width:auto; visibility: visible;" src="book-panel-spine.jpg"/>
<div class="Page Page--Fill"> <div class="Front Shadow--Radiosity "><img src="book-panel-spine.jpg"/></div> <div class="Back Shadow--Radiosity"><img src="book-panel-spine.jpg"/></div> </div>
<div class="Spine">
<div class="Page" swing="closed"> <div class="Front Shadow--Radiosity "><img src="book-panel-front.jpg"/></div> <div class="Back Shadow--Radiosity"><img src="book-panel-front.jpg"/></div> </div>
<div class="Page Page--Shrink" swing="closed"> <div class="Front Shadow--Sheet Shadow--Drop"><img src="book-page-0.jpg"/></div> <div class="Back Shadow--Sheet Shadow--Sheet--Flip"><img src="book-page-0.jpg"/></div> </div>
<div class="Page Page--Shrink" swing="closed"> <div class="Front Shadow--Sheet Shadow--Drop"><img src="book-page-0.jpg"/></div> <div class="Back Shadow--Sheet Shadow--Sheet--Flip"><img src="book-page-0.jpg"/></div> </div>
<div class="Page Page--Shrink" swing="closed"> <div class="Front Shadow--Sheet Shadow--Drop"><img src="book-page-0.jpg"/></div> <div class="Back Shadow--Sheet Shadow--Sheet--Flip"><img src="book-page-0.jpg"/></div> </div>
<div class="Page Page--Shrink" swing="closed"> <div class="Front Shadow--Sheet Shadow--Drop"><img src="book-page-1.jpg"/></div> <div class="Back Shadow--Sheet Shadow--Sheet--Flip"><img src="book-page-0.jpg"/></div> </div> .Shadow--Radiosity::after
<div class="Page Page--Shrink" swing="closed"> <div class="Front Shadow--Sheet Shadow--Drop"><img src="book-page-3.jpg"/></div> <div class="Back Shadow--Sheet Shadow--Sheet--Flip"><img src="book-page-2.jpg"/></div> </div> {
<div class="Page Page--Shrink" swing="closed"> <div class="Front Shadow--Sheet Shadow--Drop"><img src="book-page-5.jpg"/></div> <div class="Back Shadow--Sheet Shadow--Sheet--Flip"><img src="book-page-4.jpg"/></div> </div> content: " ";
<div class="Page Page--Shrink" swing="closed"> <div class="Front Shadow--Sheet Shadow--Drop"><img src="book-page-0.jpg"/></div> <div class="Back Shadow--Sheet Shadow--Sheet--Flip"><img src="book-page-6.jpg"/></div> </div> background-size: 100% 100%;
background-position: 0px 0px;
background-image: radial-gradient(188% 24% at 50% 82%, #ffffff52 0%, #0000 100%);
display: block;
position: absolute;
bottom: 0;
left: 0;
z-index:100;
width: 100%;
height: 100%;
}
</style>
<div class="Shot" show="cover">
<div class="Book">
<img style="display:block; height:100%; width:auto; visibility: hidden;" src="book-panel-spine.jpg"/>
<div class="Page Page--Fill"> <div class="Front Shadow--Radiosity "><img src="book-panel-spine.jpg"/></div> <div class="Back Shadow--Radiosity"><img src="book-panel-spine.jpg"/></div> </div>
<div class="Spine">
<div class="Page" swing="closed"> <div class="Front Shadow--Radiosity "><img src="book-panel-front.jpg"/></div> <div class="Back Shadow--Radiosity"><img src="book-panel-front.jpg"/></div> </div>
<div class="Page Page--Shrink" swing="closed"> <div class="Front Shadow--Sheet Shadow--Drop"><img src="book-page-1.jpg"/></div> <div class="Back Shadow--Sheet Shadow--Sheet--Flip"><img src="book-page-2.jpg"/></div> </div>
<div class="Page Page--Shrink" swing="closed"> <div class="Front Shadow--Sheet Shadow--Drop"><img src="book-page-1.jpg"/></div> <div class="Back Shadow--Sheet Shadow--Sheet--Flip"><img src="book-page-2.jpg"/></div> </div>
<div class="Page Page--Shrink" swing="closed"> <div class="Front Shadow--Sheet Shadow--Drop"><img src="book-page-1.jpg"/></div> <div class="Back Shadow--Sheet Shadow--Sheet--Flip"><img src="book-page-2.jpg"/></div> </div>
<div class="Page Page--Shrink" swing="closed"> <div class="Front Shadow--Sheet Shadow--Drop"><img src="book-page-1.jpg"/></div> <div class="Back Shadow--Sheet Shadow--Sheet--Flip"><img src="book-page-2.jpg"/></div> </div>
<div class="Page Page--Shrink" swing="closed"> <div class="Front Shadow--Sheet Shadow--Drop"><img src="book-page-3.jpg"/></div> <div class="Back Shadow--Sheet Shadow--Sheet--Flip"><img src="book-page-4.jpg"/></div> </div>
<div class="Page Page--Shrink" swing="closed"> <div class="Front Shadow--Sheet Shadow--Drop"><img src="book-page-1.jpg"/></div> <div class="Back Shadow--Sheet Shadow--Sheet--Flip"><img src="book-page-2.jpg"/></div> </div>
<div class="Page Page--Shrink" swing="closed"> <div class="Front Shadow--Sheet Shadow--Drop"><img src="book-page-1.jpg"/></div> <div class="Back Shadow--Sheet Shadow--Sheet--Flip"><img src="book-page-2.jpg"/></div> </div>
<div class="Page Page--Shrink" swing="closed"> <div class="Front Shadow--Sheet Shadow--Drop"><img src="book-page-1.jpg"/></div> <div class="Back Shadow--Sheet Shadow--Sheet--Flip"><img src="book-page-2.jpg"/></div> </div>
<div class="Page" swing="closed"> <div class="Front Shadow--Radiosity"><img src="book-panel-back.jpg"/></div> <div class="Back Shadow--Radiosity"><img src="book-panel-back.jpg"/></div> </div>
</div>
<div class="Page Page--Shrink" swing="closed"> <div class="Front Shadow--Sheet Shadow--Drop"><img src="book-page-0.jpg"/></div> <div class="Back Shadow--Sheet Shadow--Sheet--Flip"><img src="book-page-0.jpg"/></div> </div>
<div class="Page Page--Shrink" swing="closed"> <div class="Front Shadow--Sheet Shadow--Drop"><img src="book-page-0.jpg"/></div> <div class="Back Shadow--Sheet Shadow--Sheet--Flip"><img src="book-page-0.jpg"/></div> </div>
<div class="Page Page--Shrink" swing="closed"> <div class="Front Shadow--Sheet Shadow--Drop"><img src="book-page-0.jpg"/></div> <div class="Back Shadow--Sheet Shadow--Sheet--Flip"><img src="book-page-0.jpg"/></div> </div>
<div class="Page Page--Shrink" swing="closed"> <div class="Front Shadow--Sheet Shadow--Drop"><img src="book-page-0.jpg"/></div> <div class="Back Shadow--Sheet Shadow--Sheet--Flip"><img src="book-page-0.jpg"/></div> </div>
<div class="Page" swing="closed"> <div class="Front Shadow--Radiosity"><img src="book-panel-back.jpg"/></div> <div class="Back Shadow--Radiosity"><img src="book-panel-back.jpg"/></div> </div>
</div> </div>
</div> </div>
</div>
<div>
<button onclick="bookPose('cover'); bookClose();">Front</button>
<button onclick="bookPose('spine'); bookClose();">Spine</button>
<button onclick="bookPose('back'); bookClose();">Back</button>
<button onclick="bookPose('pages'); bookOpen(4);">Intro</button>
<button onclick="bookPose('pages'); bookOpen(5);">Days 1 & 2</button>
<button onclick="bookPose('pages'); bookOpen(6);">Days 3 & 4</button>
</div>
<script>
let $ = query => Array.from(document.querySelectorAll(query));
let pages = $("[swing]");
let table = $(".Shot")[0];
let bookOpen = index =>
{
pages.forEach((p, i)=> p.setAttribute("swing", i>index ? "right" : "left") );
};
let bookClose = () =>
{
pages.forEach(p=>p.setAttribute("swing", "closed"));
};
let bookPose = inPanel =>
{
table.setAttribute("show", inPanel);
bookClose();
};
</script>
</main>
<div>
<button onclick="bookPose('cover'); bookClose();">Front</button>
<button onclick="bookPose('spine'); bookClose();">Spine</button>
<button onclick="bookPose('back'); bookClose();">Back</button>
<button onclick="bookPose('pages'); bookOpen(3);">Intro</button>
<button onclick="bookPose('pages'); bookOpen(4);">Spread 1</button>
<button onclick="bookPose('pages'); bookOpen(5);">Spread 2</button>
<button onclick="bookPose('pages'); bookOpen(6);">3</button>
<button onclick="bookPose('pages'); bookOpen(7);">4</button>
</div>
</main>
<script>
let $ = query => Array.from(document.querySelectorAll(query));
let pages = $("[swing]");
let table = $(".Shot")[0];
let bookOpen = index =>
{
pages.forEach((p, i)=> p.setAttribute("swing", i>index ? "right" : "left") );
};
let bookClose = () =>
{
pages.forEach(p=>p.setAttribute("swing", "closed"));
};
let bookPose = inPanel =>
{
table.setAttribute("show", inPanel);
bookClose();
};
</script>
</body> </body>
</html> </html>