Safari Bug
by jdanyow
HTML
<ul>
</ul>
CSS
ul:not(:has(*)) {
display: none;
}
JavaScript
setTimeout(() => {
const li = document.createElement('li');
li.textContent = 'I should be visible';
const ul = document.querySelector('ul');
ul.append(li);
// hack to workaround bug:
// ul.style.zoom = '1'; // force styles to re-evaluate.
});