@visualdenniss
Posted
Hello Hira,
To answer few of your questions: Pseudo-classes: define a special state of an element (e.g., :hover, :first-child). Pseudo-elements: style specific parts of an element (e.g., ::before, ::first-line).
For mobile and general avoid giving fixed widths like 35px for the individual bar. they should be like 100%, and you can use display:grid for the #bars. E.g.: display: grid; grid-template-columns: repeat(7, 1fr); /* Create 7 equal columns */ and remove the fixed widths from the grid-items. And also add a max-width if you want for the bars so that they don't get too wide.
as for the JS part. couldn't look in depth but, e.g. const popups = document.querySelectorAll(".popup"); is declared but not used since it is locally scoped inside the event listener func of DOMContentLoaded. Also I think instead of all those mouseOut event listeners, a simple :hover in CSS could suffice. Leading to cleaner and concise code.
Hope this helps and keep up the great work! :)