URL: https://linuxfr.org/forums/programmationweb/posts/divers-probl%C3%A8mes-de-css Title: Divers problèmes de css.... Authors: Gyro Gearllose Date: 2004年08月07日T23:02:07+02:00 Tags: Score: 0 Hello ! Je suis en train de mettre en place un site destiné à la famille (pour l'instant), et je rencontre quelques soucis esthétiques et de compréhension du css, et c'est pourquoi je poste ici. D'abord, un aperçu de la page à cet entroit : [http://bouriaud.dyndns.org(...)](http://bouriaud.dyndns.org) Sous le titre Menu, il y a un menu pliable/dépliable codé en css+js. Ce que j'aimerai comprendre concernant le fonctionnement de cette fonctionnalité (réalisée par un click sur le lien référencé par le +) codée comme suit : dans le source html : <a href="#" onclick="return (change_class(this, document.getElementById ('SousMenu1')));">+</a> Le source du js : function change_class(link, elm) { elm.setAttribute('class', (elm.className.indexOf("O")> 0) ? 'SousMenu' : 'SousMenuOpen'); link.innerHTML = (elm.className.indexOf("O") > 0) ? ' - ' : ' + '; return (false); } Enfin, le css : .SousMenu { height:17px; font-size:12px; margin-left:10px; overflow:hidden; text-align:left; } .SousMenuOpen { height:auto; font-size:12px; margin-left:10px; text-align:left; } Voilà, tous les éléments sont réunis, passons aux questions ;c) 1) Comment se fait-il que ceci ne fonctionne **que** si on met un href vers # et un onclick. Normalement, on devrait pouvoir faire un a href="JavaScript:laFontction();". J'ai essayé sans succès. 2) Problème de typo : comment se fait-il que le changement de caractère (passage du + au -) décale vers la gauche ? Il semble pourtant que ces deux caractères font la même largeur ? Ce point n'est pas très gênant, mais dans certains cas, il faut bouger la souris pour re-cliquer.... 3) Je voulais changer l'apparence du + et du - (mettre une bordure, ce genre de choses), mais comme ça décale, c'est moche (cf. point 2). De plus, si on ne précise pas un display:block; pour le tag a utilisé, les précisions de largeur/hauteur, centrage, marges et padding restent sans effet sur cet élément, et de plus, le texte qui suit le lien se retrouve à la ligne. Pas top... Pour le texte qui passe à la ligne, j'ai bien essayé de le passer en display:bock; position: relative; et en précisant top:-15px; left:20px; ca fonctionne, c'est à peu près ce que je veux, mais alors les éléments de menus se trouvent décalés vers le bas par la place prise par cette boite avant qu'elle ne soit déplacée. C'est moche. Voilà, ce sont les questions que je me pose. Elle ne remettrons pas la condition humaine en jeu, ne changeront rien à votre vie de tous les jours. Par contre, si des réponses sont apportées, je me sentirais un peu moins con le prochain coup que je me coucherai, et j'en saurais un peu plus sur ces mystérieux points qui m'agacent. Ah, j'oubliais, les tests ont été effectués sur ma machine qui fait tourner un environnement sous KDE 3.2.3. J'utilise par conséquent konqueror, et uniquement lui (pour l'instant je ne vois aucune raison de changer). Voilà, merci à ceux qui pourront m'aider, et bon we aux autres !