Я изменил код, чтобы показать непрозрачность псевдоэлемента элемента, над которым находится мышь.
const menuDropdown = document.querySelector('.menu-dropdown');
const about = document.querySelector('#about');
about.addEventListener('mouseover', function () {
menuDropdown.classList.add('make-visible');
});
about.addEventListener('mouseout', function () {
menuDropdown.classList.remove('make-visible');
});
.menu-dropdown:before {
content: '';
position: absolute;
background-color: black;
display: block;
top: -15px;
left: 50%;
transform: translateX(-50%) rotate(45deg);
height: 30px;
width: 30px;
opacity: 0;
visibility: hidden;
}
.make-visible:before {
opacity: 1;
visibility: visible;
}
<div id="about">
<ul class="menu-dropdown">
<li><a href="#">Aktualności</a></li>
<li><a href="#">Nasz team</a></li>
<li><a href="#">Historia</a></li>
</ul>
</div>