Si effettivamente non mi ero accorto, è un piccolo problema relativo al testo mancante nell'anchor che crea una sorta di spazio non voluto. Ti mando anche delle modifiche relative all'effetto di apertura e chiusura dell'imagine con un effetto di fade-in fade-out che rende il tutto più gradevole alla vista.
Modifiche CSS:
codice:#gallery { user-select: none; } #gallery a { font-size: 0; } #preview { position: absolute; background-color: rgba(0, 0, 0, 0.5); user-select: none; align-items: center; justify-content: center; opacity: 0; transition: opacity .2s ease; }
JS
codice:const gallery = document.getElementById('gallery') const preview = document.getElementById('preview') const previewClose = document.getElementById('previewClose') const imgPreview = document.createElement('img') gallery.addEventListener('click', (e) => { e.preventDefault() imgPreview.setAttribute('src', e.target.parentElement.attributes[0].value) preview.appendChild(imgPreview) preview.style.setProperty('display', 'flex') preview.style.setProperty('opacity', '1') }) previewClose.addEventListener('click', () => { preview.style.setProperty('opacity', '0') setTimeout(() => { preview.removeChild(imgPreview) }, 200) })

Rispondi quotando