je déterre un bug signalé notamment par chinon37 et que j’ai décrit comme « point bloquant » pour KompoZer 0.8. Il semblerait que la vérité soit plus complexe que je ne l’imaginais… petit résumé de la situation :
Je n’ai pas vraiment progressé sur la question, mais j’ai fait quelques tests. Il en ressort que :Collez le code suivant dans un fichier « menu.html » :C’est un menu en listes imbriquées comme je les affectionne. Firefox l’affiche très bien, mais KompoZer ajoute des <br> dès le chargement du document, ce qui crée des espaces disgracieux dans les menus déroulants. Merci Gecko 1.8.1… (Gecko 1.9.1 n’est pas affecté).Code : Tout sélectionner
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd"> <html> <head> <meta content="text/html; charset=UTF-8" http-equiv="content-type"> <title>menu</title> <style type="text/css"> #menuDeroulant { border: none; margin: 0 auto; padding: 0; width: 600px; text-align: center; list-style-type: none; position: relative; } #menuDeroulant li { border: none; margin: 0; padding: 0; float: left; } #menuDeroulant .sousMenu { border: none; margin: 0; padding: 0; display: none; list-style-type: none; background-color: #cccccc; } #menuDeroulant .sousMenu li { border: none; margin: 0; padding: 0; float: none; } #menuDeroulant li { border: none; margin: 0; padding: 0; float: left; width: 150px; } #menuDeroulant li a:link, #menuDeroulant li a:visited { border-right: 1px solid #ffffff; margin: 0; padding: 4px 8px; background: #3b4e77 none repeat scroll 0% 50%; display: block; height: 1%; color: #ffffff; text-decoration: none; } #menuDeroulant li a:hover { background-color: #f2462e; } #menuDeroulant li a:active { background-color: #5f879d; } #menuDeroulant .sousMenu li a:link, #menuDeroulant .sousMenu li a:visited { border: none; margin: 0; background: transparent url(fondTR.png) repeat scroll 0% 50%; display: block; color: #ffffff; text-decoration: none; } #menuDeroulant .sousMenu li a:hover { background-image: none; background-color: #f2462e; } #menuDeroulant .sousMenu li { border-style: solid solid none none; border-color: transparent transparent -moz-use-text-color -moz-use-text-color; border-width: 1px 1px 0 0; margin: 0; padding: 0; float: none; width: 149px; } #menuDeroulant li:hover > .sousMenu { display: block; } </style> </head> <body> <ul id="menuDeroulant"> <li> <a href="#">club</a> <ul class="sousMenu"> <li><a href="#">lien1</a></li> <li><a href="#">lien2</a></li> <li><a href="#">lien3</a></li> </ul> </li> <li> <a href="#">téléchargements</a> <ul class="sousMenu"> <li><a href="#">lien1</a></li> <li><a href="#">lien2</a></li> <li><a href="#">lien3</a></li> <li><a href="#">lien4</a></li> <li><a href="#">lien5</a></li> </ul> </li> <li> <a href="#">liens</a> <ul class="sousMenu"> <li><a href="#">lien1</a></li> <li><a href="#">lien2</a></li> <li><a href="#">lien3</a></li> </ul> </li> <li> <a href="#">album photos</a> <ul class="sousMenu"> <li><a href="#">lien1</a></li> <li><a href="#">lien2</a></li> <li><a href="#">lien3</a></li> <li><a href="#">lien4</a></li> <li><a href="#">lien5</a></li> </ul> </li> </ul> </body> </html>
Le nettoyeur de balises n’est pas capable de supprimer ces nœuds <br> ; pire, il en ajoute à chaque passage. Même chose quand on édite le contenu dans la vue splittée, de nouveaux <br> apparaissent à chaque fois.
Je n’ai aucune piste pour le résoudre pour l’instant. Néanmoins, je l’ajoute en « point bloquant », car c’est un vrai, gros problème de la version actuelle. La tuile…
- le problème ne se produit pas avec SeaMonkey Composer (v1.1.x et 2.0.x)
- le problème se produit aussi avec KompoZer 0.7.10, du moins sur ma distro Linux (Ubuntu Hardy)
Pouvez-vous me confirmer ça sur vos machines Windows et Mac SVP ? Si vous me confirmez la nature de ce bug (= hérité de Nvu), je pourrai chercher plus précisément pourquoi il ne se produit pas dans SeaMonkey Composer, et peut-être le résoudre. Si ce bug n’est pas hérité de Nvu, alors il faudra que je cherche ailleurs. Enfin, il est possible que ce bug dépende des options utilisées…
Merci d’avance pour votre aide.