From 725b1c1f5e8a440e9e0fde87ebbf22ccae35b6da Mon Sep 17 00:00:00 2001 From: Ardis Lu Date: Wed, 29 May 2024 22:54:54 -0700 Subject: [PATCH] Use starting-style to transition from display: none instead of using visibility: hidden This is more semantically correct, concise, and removes the unintentional margin around the no-events message. --- index.html | 30 +++++++++++++++--------------- 1 file changed, 15 insertions(+), 15 deletions(-) diff --git a/index.html b/index.html index 805d075..eb0f399 100644 --- a/index.html +++ b/index.html @@ -126,8 +126,18 @@ border: 1px solid hsl(216deg 50% 80%); } - .no-events { + .button-container, + .no-events, + table { display: none; + transition: opacity 300ms; + + @starting-style { + opacity: 0; + } + } + + .no-events { text-align: center; font-size: 1.2rem; font-weight: 700; @@ -140,10 +150,7 @@ } .button-container { - visibility: hidden; - opacity: 0; justify-content: center; - transition: opacity 300ms; } .button-container p { @@ -151,11 +158,8 @@ } table { - visibility: hidden; - opacity: 0; border-collapse: collapse; margin: auto; - transition: opacity 300ms; } tr { @@ -373,10 +377,8 @@ const buttonContainer = document.querySelector('.button-container'); textarea.addEventListener('input', debounce(() => { noEventsMessage.style.setProperty('display', 'none'); - table.style.setProperty('visibility', 'hidden'); - table.style.setProperty('opacity', 0); - buttonContainer.style.setProperty('visibility', 'hidden'); - buttonContainer.style.setProperty('opacity', 0); + table.style.setProperty('display', 'none'); + buttonContainer.style.setProperty('display', 'none'); tableBody.innerHTML = ''; // Input has been cleared, reset back to default state @@ -397,10 +399,8 @@ tableBody.insertAdjacentHTML('beforeend', `${event}${hash}`); } buttonContainer.querySelector('p').textContent = `${events.length} event${events.length === 1 ? '' : 's'} found${events.length === uniqueEvents.length ? '' : ' (' + uniqueEvents.length + ' unique)'}`; - table.style.setProperty('visibility', 'visible'); - table.style.setProperty('opacity', 1); - buttonContainer.style.setProperty('visibility', 'visible'); - buttonContainer.style.setProperty('opacity', 1); + table.style.setProperty('display', 'revert'); + buttonContainer.style.setProperty('display', 'flex'); }, 250)); // Set up buttons -- 2.47.3