|
24 | 24 | .panels {
|
25 | 25 | min-height:100vh;
|
26 | 26 | overflow: hidden;
|
| 27 | + display: flex; |
27 | 28 | }
|
28 | 29 |
|
29 | 30 | .panel {
|
|
41 | 42 | font-size: 20px;
|
42 | 43 | background-size:cover;
|
43 | 44 | background-position:center;
|
| 45 | + flex:1; |
| 46 | + justify-content: center; |
| 47 | + align-items: center; |
| 48 | + display: flex; |
| 49 | + flex-direction: column; |
44 | 50 | }
|
45 | 51 |
|
46 | 52 |
|
|
54 | 60 | margin:0;
|
55 | 61 | width: 100%;
|
56 | 62 | transition:transform 0.5s;
|
| 63 | + flex:1 0 auto; |
| 64 | + display:flex; |
| 65 | + justify-content:center; |
| 66 | + align-items:center; |
57 | 67 | }
|
58 | 68 |
|
| 69 | + .panel > *:first-child {transform:translateY(-100%);} |
| 70 | + .panel.open-active > *:first-child {transform:translateY(0);} |
| 71 | + .panel > *:last-child {transform:translateY(100%);} |
| 72 | + .panel.open-active > *:last-child {transform:translateY(0);} |
| 73 | + |
59 | 74 | .panel p {
|
60 | 75 | text-transform: uppercase;
|
61 | 76 | font-family: 'Amatic SC', cursive;
|
|
68 | 83 |
|
69 | 84 | .panel.open {
|
70 | 85 | font-size:40px;
|
| 86 | + flex: 5; |
71 | 87 | }
|
72 | 88 |
|
73 | 89 | .cta {
|
|
80 | 96 |
|
81 | 97 | <div class="panels">
|
82 | 98 | <div class="panel panel1">
|
83 |
| - <p>Hey</p> |
84 |
| - <p>Let's</p> |
85 |
| - <p>Dance</p> |
| 99 | + <p>Also</p> |
| 100 | + <p>Think</p> |
| 101 | + <p>About Others</p> |
86 | 102 | </div>
|
87 | 103 | <div class="panel panel2">
|
88 |
| - <p>Give</p> |
89 |
| - <p>Take</p> |
90 |
| - <p>Receive</p> |
| 104 | + <p>Work</p> |
| 105 | + <p>Hard</p> |
| 106 | + <p>Most Days</p> |
91 | 107 | </div>
|
92 | 108 | <div class="panel panel3">
|
93 |
| - <p>Experience</p> |
94 |
| - <p>It</p> |
95 |
| - <p>Today</p> |
| 109 | + <p>Think</p> |
| 110 | + <p>About</p> |
| 111 | + <p>The World</p> |
96 | 112 | </div>
|
97 | 113 | <div class="panel panel4">
|
98 |
| - <p>Give</p> |
99 |
| - <p>All</p> |
100 |
| - <p>You can</p> |
| 114 | + <p>It's</p> |
| 115 | + <p>Your</p> |
| 116 | + <p>Future</p> |
101 | 117 | </div>
|
102 | 118 | <div class="panel panel5">
|
103 |
| - <p>Life</p> |
104 |
| - <p>In</p> |
105 |
| - <p>Motion</p> |
| 119 | + <p>The</p> |
| 120 | + <p>Future</p> |
| 121 | + <p>Is Change</p> |
106 | 122 | </div>
|
107 | 123 | </div>
|
108 | 124 |
|
109 | 125 | <script>
|
110 | 126 |
|
| 127 | + const panels = document.querySelectorAll('.panel'); |
| 128 | + |
| 129 | + var toggleOpen = function(){ |
| 130 | + this.classList.toggle('open'); |
| 131 | + }; |
| 132 | + |
| 133 | + var toggleActive = function(e){ |
| 134 | + if (e.propertyName.includes('flex')) { |
| 135 | + this.classList.toggle('open-active'); |
| 136 | + } |
| 137 | + }; |
| 138 | + |
| 139 | + panels.forEach(function(pan){ |
| 140 | + pan.addEventListener('click', toggleOpen); |
| 141 | + pan.addEventListener('transitionend', toggleActive); |
| 142 | + }); |
| 143 | + |
111 | 144 | </script>
|
112 | 145 |
|
113 | 146 |
|
|
0 commit comments