Skip to content

Commit d3092a7

Browse files
committedJun 13, 2018
20 - CSS Grid Image Gallery Finished
1 parent cf03933 commit d3092a7

File tree

1 file changed

+57
-2
lines changed

1 file changed

+57
-2
lines changed
 

‎20 - CSS Grid Image Gallery/image-gallery-START.html

+57-2
Original file line numberDiff line numberDiff line change
@@ -47,7 +47,7 @@
4747

4848
.close {
4949
background: none;
50-
color: white;
50+
color: black;
5151
border: 0;
5252
}
5353

@@ -60,6 +60,41 @@
6060

6161
.item {
6262
overflow: hidden;
63+
display: grid;
64+
grid-template-columns: 1;
65+
grid-template-rows: 1;
66+
}
67+
68+
.item img {
69+
grid-column: 1 / 1;
70+
grid-row: 1 / -1;
71+
width: 100%;
72+
height: 100%;
73+
object-fit: cover;
74+
}
75+
76+
.item__overlay {
77+
background: #ffc60032;
78+
grid-column: 1 / -1;
79+
grid-row: 1 / -1;
80+
position: relative;
81+
display: grid;
82+
justify-items: center;
83+
align-items: center;
84+
transition: 0.3s;
85+
transform: translateY(100%);
86+
}
87+
88+
.item__overlay button {
89+
background: none;
90+
border: 2px solid white;
91+
color: white;
92+
text-transform: uppercase;
93+
padding: 5px;
94+
}
95+
96+
.item:hover .item__overlay {
97+
transform: translateY(0);
6398
}
6499

65100
.item.v2 {
@@ -99,9 +134,11 @@
99134

100135
.overlay.open {
101136
display: grid;
137+
align-items: center;
138+
justify-items: center;
102139
}
103140

104-
.overlay figure {
141+
.overlay .overlay-inner {
105142
background: white;
106143
width: 700px;
107144
padding: 20px;
@@ -133,11 +170,29 @@
133170
return Math.floor(Math.random() * limit + 1);
134171
}
135172

173+
function handleClick(e) {
174+
const src = e.currentTarget.querySelector('img').src;
175+
overlayImage.src = src;
176+
overlay.classList.add('open');
177+
// console.log(e.currentTarget);
178+
// console.log(src);
179+
}
180+
181+
function close() {
182+
overlay.classList.remove('open');
183+
}
184+
136185
const digits = Array.from({ length: 50}, () => [randomNumber(4), randomNumber(4)]).concat([[1,1],[1,1],[1,1],[1,1],[1,1],[1,1],[1,1],[1,1],[1,1],[1,1],[1,1],[1,1],[1,1]]);
137186

138187
const html = digits.map(generateHTML).join('');
139188
gallery.innerHTML = html;
140189

190+
const items = document.querySelectorAll('.item');
191+
192+
items.forEach(item => item.addEventListener('click', handleClick));
193+
194+
overlayClose.addEventListener('click', close);
195+
141196
</script>
142197
</body>
143198

0 commit comments

Comments
 (0)