Direkt zur Hauptnavigation springen Direkt zum Inhalt springen

CSS-animiertes Magazin mit 16 SeitenCSS snippet

Die responsive CSS-Broschüre hat 16 Seiten (Bilder). Das Seitenformat ist 3:4, kann aber beliebig angepasst werden.

Broschüre ausprobieren

Der Code

CSS

Mit SCSS und Co. kann der Code natürlich extrem gekürzt werden... aber hier gibt es nur CSS ;-)
.brochure .container {
width: 100%;
max-width:500px;
height:100%;
aspect-ratio: 1.5;
position: relative;
margin: 0 auto;
perspective: 2800px;
overflow:visible;
}

.brochure img {
max-width:100%;
height:auto;
}

.brochure input{
display:none;
}

[class^="brochure-page"]{
transform-style: preserve-3d;
transition: transform 1s;
position: absolute;
top:0;
width:50%;
aspect-ratio: 0.75;
}


/*------------1f------------*/
.brochure-page1{
left:50%;
transform-origin: left;
}

[id^=flip1]:not(:checked) ~ .brochure-page1 {
transform:rotateY(0deg) ;
transform-style: preserve-3d;
transition: transform 1s;
transition-delay: 1s;
z-index:1;
}

[id^=flip1]:checked ~ .brochure-page1{
transform: rotateY(-90deg) ;
transform-style: preserve-3d;
transition: transform 1s;
z-index:1;
}
/*------------1f------------*/

/*------------2b------------*/
.brochure-page2{
left:0;
transform-origin: right;
}

[id^=flip1]:not(:checked) ~ .brochure-page2 {
transform: rotateY(90deg) ;
transform-style: preserve-3d;
transition: transform 1s;
z-index:1;
}

[id^=flip1]:checked ~ .brochure-page2{
transform: rotateY(0deg) ;
transform-style: preserve-3d;
transition: transform 1s;
transition-delay: 1s;
z-index:1;
}
/*------------2b------------*/

/*------------3f------------*/
.brochure-page3{
left:50%;
transform-origin: left;
}

[id^=flip2]:not(:checked) ~ .brochure-page3 {
transform:rotateY(0deg) ;
transform-style: preserve-3d;
transition: transform 1s;
transition-delay: 1s;
z-index:1;
}

[id^=flip2]:checked ~ .brochure-page3{
transform: rotateY(-90deg) ;
transform-style: preserve-3d;
transition: transform 1s;
z-index:1;
}
/*------------3f------------*/
/*------------4b------------*/
.brochure-page4{
left:0;
transform-origin: right;
}

[id^=flip2]:not(:checked) ~ .brochure-page4 {
transform: rotateY(90deg) ;
transform-style: preserve-3d;
transition: transform 1s;
z-index:2;
}

[id^=flip2]:checked ~ .brochure-page4{
transform: rotateY(0deg) ;
transform-style: preserve-3d;
transition: transform 1s;
transition-delay: 1s;
z-index:2;
}
/*------------4b------------*/

/*------------5f------------*/
.brochure-page5{
left:50%;
transform-origin: left;
}

[id^=flip3]:not(:checked) ~ .brochure-page5 {
transform:rotateY(0deg) ;
transform-style: preserve-3d;
transition: transform 1s;
transition-delay: 1s;
z-index:1;
}

[id^=flip3]:checked ~ .brochure-page5{
transform: rotateY(-90deg) ;
transform-style: preserve-3d;
transition: transform 1s;
z-index:1;
}
/*------------5f------------*/
/*------------6b------------*/
.brochure-page6{
left:0;
transform-origin: right;
}

[id^=flip3]:not(:checked) ~ .brochure-page6 {
transform: rotateY(90deg) ;
transform-style: preserve-3d;
transition: transform 1s;
z-index:3;
}

[id^=flip3]:checked ~ .brochure-page6{
transform: rotateY(0deg) ;
transform-style: preserve-3d;
transition: transform 1s;
transition-delay: 1s;
z-index:3;
}
/*------------6b------------*/

/*------------7f------------*/
.brochure-page7{
left:50%;
transform-origin: left;
}

[id^=flip4]:not(:checked) ~ .brochure-page7 {
transform:rotateY(0deg) ;
transform-style: preserve-3d;
transition: transform 1s;
transition-delay: 1s;
z-index:1;
}

[id^=flip4]:checked ~ .brochure-page7{
transform: rotateY(-90deg) ;
transform-style: preserve-3d;
transition: transform 1s;
z-index:1;
}
/*------------7f------------*/
/*------------8b------------*/
.brochure-page8{
left:0;
transform-origin: right;
}

[id^=flip4]:not(:checked) ~ .brochure-page8 {
transform: rotateY(90deg) ;
transform-style: preserve-3d;
transition: transform 1s;
z-index:4;
}

[id^=flip4]:checked ~ .brochure-page8{
transform: rotateY(0deg) ;
transform-style: preserve-3d;
transition: transform 1s;
transition-delay: 1s;
z-index:4;
}
/*------------8b------------*/

/*------------9f------------*/
.brochure-page9{
left:50%;
transform-origin: left;
}

[id^=flip5]:not(:checked) ~ .brochure-page9 {
transform:rotateY(0deg) ;
transform-style: preserve-3d;
transition: transform 1s;
transition-delay: 1s;
z-index:1;
}

[id^=flip5]:checked ~ .brochure-page9{
transform: rotateY(-90deg) ;
transform-style: preserve-3d;
transition: transform 1s;
z-index:0;
}
/*------------9f------------*/
/*------------10b------------*/
.brochure-page10{
left:0;
transform-origin: right;
}

[id^=flip5]:not(:checked) ~ .brochure-page10 {
transform: rotateY(90deg) ;
transform-style: preserve-3d;
transition: transform 1s;
z-index:5;
}

[id^=flip5]:checked ~ .brochure-page10{
transform: rotateY(0deg) ;
transform-style: preserve-3d;
transition: transform 1s;
transition-delay: 1s;
z-index:5;
}
/*------------10b------------*/

/*------------11f------------*/
.brochure-page11{
left:50%;
transform-origin: left;
}

[id^=flip6]:not(:checked) ~ .brochure-page11 {
transform:rotateY(0deg) ;
transform-style: preserve-3d;
transition: transform 1s;
transition-delay: 1s;
z-index:0;
}

[id^=flip6]:checked ~ .brochure-page11{
transform: rotateY(-90deg) ;
transform-style: preserve-3d;
transition: transform 1s;
z-index:0;
}
/*------------11f------------*/
/*------------12b------------*/
.brochure-page12{
left:0;
transform-origin: right;
}

[id^=flip6]:not(:checked) ~ .brochure-page12 {
transform: rotateY(90deg) ;
transform-style: preserve-3d;
transition: transform 1s;
z-index:6;
}

[id^=flip6]:checked ~ .brochure-page12{
transform: rotateY(0deg) ;
transform-style: preserve-3d;
transition: transform 1s;
transition-delay: 1s;
z-index:6;
}
/*------------12b------------*/

/*------------13f------------*/
.brochure-page13{
left:50%;
transform-origin: left;
}

[id^=flip7]:not(:checked) ~ .brochure-page13 {
transform:rotateY(0deg) ;
transform-style: preserve-3d;
transition: transform 1s;
transition-delay: 1s;
z-index:0;
}

[id^=flip7]:checked ~ .brochure-page13{
transform: rotateY(-90deg) ;
transform-style: preserve-3d;
transition: transform 1s;
z-index:0;
}
/*------------13f------------*/
/*------------14b------------*/
.brochure-page14{
left:0;
transform-origin: right;
}

[id^=flip7]:not(:checked) ~ .brochure-page14 {
transform: rotateY(90deg) ;
transform-style: preserve-3d;
transition: transform 1s;
z-index:7;
}

[id^=flip7]:checked ~ .brochure-page14{
transform: rotateY(0deg) ;
transform-style: preserve-3d;
transition: transform 1s;
transition-delay: 1s;
z-index:7;
}

/*------------14b------------*/

/*------------15f------------*/

.brochure-page15{
left:50%;
transform-origin: left;
}

[id^=flip8]:not(:checked) ~ .brochure-page15 {
transform:rotateY(0deg) ;
transform-style: preserve-3d;
transition: transform 1s;
transition-delay: 1s;
z-index:0;
}

[id^=flip8]:checked ~ .brochure-page15{
transform: rotateY(-90deg) ;
transform-style: preserve-3d;
transition: transform 1s;
z-index:0;
}
/*------------15f------------*/
/*------------16b------------*/
.brochure-page16{
left:0;
transform-origin: right;
}

[id^=flip8]:not(:checked) ~ .brochure-page16 {
transform: rotateY(90deg) ;
transform-style: preserve-3d;
transition: transform 1s;
z-index:8;
}

[id^=flip8]:checked ~ .brochure-page16{
transform: rotateY(0deg) ;
transform-style: preserve-3d;
transition: transform 1s;
transition-delay: 1s;
z-index:8;
}
/*------------16b------------*/

#flip1 {
position:absolute;
top:-20px;
left:20px;
z-index:1000;
}

#flip2 {
position:absolute;
top:-20px;
left:40px;
z-index:1000;
}

#flip3 {
position:absolute;
top:-20px;
left:60px;
z-index:1000;
}

#flip4 {
position:absolute;
top:-20px;
left:80px;
z-index:1000;
}

#flip5 {
position:absolute;
top:-20px;
left:100px;
z-index:1000;
}

#flip6 {
position:absolute;
top:-20px;
left:120px;
z-index:1000;
}

#flip7 {
position:absolute;
top:-20px;
left:140px;
z-index:1000;
}

#flip8 {
position:absolute;
top:-20px;
left:160px;
z-index:1000;
}

.brochure-page1 img,.brochure-page3 img,.brochure-page5 img,.brochure-page7 img {
box-shadow: 3px 0 5px rgba(0,0,0,0.1);
}

.brochure-page2 img,.brochure-page4 img,.brochure-page6 img,.brochure-page8 img {
box-shadow: -3px 0 5px rgba(0,0,0,0.1);
}

.brochure label{
display:block;
text-align:center;
position:absolute;
bottom:50%;
}

.brochure .back  {
left:1%;
padding: 3px 5px 1px 0px;
}

.brochure .front  {
right:1%;
padding: 3px 0px 1px 5px;
}

.brochure .back,.brochure .front  {
padding: 3px 0 1px 0;
background-color:rgba(255,255,255,1);
font-size:30px;
color:#eaeaea;
border-radius:5px;
box-shadow: 0 0 10px rgba(0,0,0,0.3);
opacity:0.7;
}

.brochure .back:hover, .brochure .front:hover {
transition: color 0.5s;
color:rgba(0,0,0,0.5);
}

HTML

<div class="brochure">
<div class="container">

<input type="checkbox" id="flip8" />
  <div class="brochure-page15">
      <label class="front" for="flip8">►</label>
      <img src="brochure/page-15.jpg" />
  </div>
  <div class="brochure-page16">
      <label class="back" for="flip8">◄</label>
      <img src="brochure/page-16.jpg" />
  </div>

  <input type="checkbox" id="flip7"/>
  <div class="brochure-page13">
      <label class="front" for="flip7">►</label>
      <img src="brochure/page-13.jpg"/>
  </div>
  <div class="brochure-page14">
      <label class="back" for="flip7">◄</label>
      <img src="brochure/page-14.jpg"/>
  </div>

  <input type="checkbox" id="flip6"/>
  <div class="brochure-page11">
      <label class="front" for="flip6">►</label>
      <img src="brochure/page-11.jpg"/>
  </div>
  <div class="brochure-page12">
      <label class="back" for="flip6">◄</label>
      <img src="brochure/page-12.jpg"/>
  </div>

  <input type="checkbox" id="flip5"/>
  <div class="brochure-page9">
      <label class="front" for="flip5">►</label>
      <img src="brochure/page-9.jpg"/>
  </div>
  <div class="brochure-page10">
      <label class="back" for="flip5">◄</label>
      <img src="brochure/page-10.jpg"/>
  </div>

  <input type="checkbox" id="flip4"/>
  <div class="brochure-page7">
      <label class="front" for="flip4">►</label>
      <img src="brochure/page-7.jpg"/>
  </div>
  <div class="brochure-page8">
      <label class="back" for="flip4">◄</label>
      <img src="brochure/page-8.jpg"/>
  </div>

  <input type="checkbox" id="flip3"/>
  <div class="brochure-page5">
      <label class="front" for="flip3">►</label>
      <img src="brochure/page-5.jpg"/>
  </div>
  <div class="brochure-page6">
      <label class="back" for="flip3">◄</label>
      <img src="brochure/page-6.jpg"/>
  </div>

  <input type="checkbox" id="flip2"/>
  <div class="brochure-page3">
      <label class="front" for="flip2">►</label>
      <img src="brochure/page-3.jpg"/>
  </div>
  <div class="brochure-page4">
      <label class="back" for="flip2">◄</label>
      <img src="brochure/page-4.jpg"/>
  </div>

  <input type="checkbox" id="flip1"/>
  <div class="brochure-page2">
      <label class="back" for="flip1">◄</label>
      <img src="brochure/page-2.jpg"/>
  </div>
  <div class="brochure-page1">
      <label class="front" for="flip1">►</label>
      <img src="brochure/page-1.jpg"/>
  </div>
</div>
</div>
back to top