2009-09-21 5 views
1

Vous avez trouvé un bogue ennuyeux aujourd'hui qui a crashé chrome et safari (donc tous les navigateurs webkit?) Avec juste CSS.CSS Hover + Elément s'écraser dans webkit (Chrome, Safari)

Il s'agit d'un menu survolant, survolant un élément puis affichant le niveau de liste déroulante suivant. Fonctionne parfaitement dans tous les autres navigateurs.

Voir ici, en haut à gauche 'rn': http://test.davebowker.com/rn-hover/

quelqu'un Hope a des pensées, ou sait un peu plus sur webkit que moi. Je suis sûr que c'est CSS, car j'ai désactivé tous les javascript, et a également couru le menu déroulant dans une nouvelle page tout seul. Je sais aussi que c'est le hover + display: block qui le provoque. - Je ne sais pas comment le réparer. Peut-être que quelqu'un d'autre a rencontré ce bug?

Cheers, Dave

EDIT: Inclus changement fait par Emily ci-dessous. http://test.davebowker.com/rn-hover-fix/

+0

Lien vers la page avec la liste déroulante en elle-même, il y a donc moins de déchets à passer au crible tout en essayant de déboguer. – jimyi

Répondre

2

changement

.ukn-network-jumper strong:hover + ul, 
.ukn-network-jumper ul:hover { 
    display:block; 
} 

à

.ukn-network-jumper strong:hover + ul, 
.ukn-network-jumper:hover ul { 
    display:block; 
} 

Vous ne voulez pas afficher ul quand vous le vol stationnaire ul mais quand vous le vol stationnaire div parent.

+0

Bizarre. On pourrait penser que planer sur quelque chose avec l'affichage le garderait jusqu'à ce que mouseOut - et il le fasse dans tout sauf webkit. Votre correction fonctionne, mais présente un inconvénient. La zone parent active est maintenant augmentée à la largeur de l'élément enfant le plus large. (Mise à jour de la démo pour ceux qui sont intéressés.) Signification de la zone de frappe du mouseout est beaucoup plus grande, couvrant éventuellement le dessus de tous les éléments de navigation, à côté d'eux, ce qui rend impossible de cliquer sur la souris. En tout cas - je vais le prendre. Beaucoup mieux que d'avoir un accident. J'espère qu'ils vont le réparer. Merci Emily. :) – davebowker

Questions connexes