Dites moi pourquoi ça marche pas avec NS4 ! [HTML] - Programmation
Marsh Posté le 04-04-2002 à 16:11:04
comme tu l'as dis toi même
Citation : (de toute façon il ne sait pas l'interpreter...) |
NS4 ne s'en sort pas bien du tout avec les styles CSS et les DIV lui posent parfois problème...
je pense que ce que tu as fais est très bien et je ne vois pas de solution simple autre que la tienne
Marsh Posté le 04-04-2002 à 16:25:06
de plus en plus fort :
Je me dis :"heyyy, mais au lieu de foutre un tableau avec ce style, j'ai qu'a mettre le style directement sur mon div !!".
Ce que je fais. Hop, je lance IE voir ce que ça donne. Bon, dommage, avec le tableau et la propriete cellspacing, j'avais une marge blanche (car ma cellule a un fond gris, ça ça passe sous NS) avec d'avant d'avoir mes bordures, et c'etait la classe. Là, du coup, ya plus la ptite marge bleu donc je me retrouve avec un div en fond gris avec la bordure orange. C'est pareil pour NS6 et opera.
(D'ailleurs si qqu connait quel style me permettrait de retrouver (pour IE, nS6 et opera ...) ma marge blanche tout autour ça serait bien).
Bon, un peu degouté, je lance a tout hasard NS4 : et là
SUUUUURPRIIISE, j'obtient enfin les bordures oranges, et tout marche !! Et là, de plus en plus fort grace a la magie de NS4, il met meme des marges blanches autour, exactement comme le faisait mon tableau sous IE, NS6 et Opera.
Alors, je peux feinter encore, en faisant le style sur le div si NS4, ou un tableau si pas NS4, mais là encore c un peu bidouille. N'y a-t-il pas un CSS pour faire ma marge blanche ? ça m'arrangerai vraiment !!
merci
Marsh Posté le 04-04-2002 à 16:33:43
euh, t'as pas une page qui montre tes différentes tentatives, parce que la, c'est un peu abscond pour moi comme explication.
Marsh Posté le 04-04-2002 à 17:04:32
gizmo a écrit a écrit : euh, t'as pas une page qui montre tes différentes tentatives, parce que la, c'est un peu abscond pour moi comme explication. |
ouais je m'attendais, bin non pas d'exemple en ligne encore a l'heure actuelle (car c pour un site pro). En plus, pas possible de ne mettre que le code de la page, car elle fait appel a des scripts eparpiller un peu partout dans le site. Si tu veux je t'envoies le site complet par mail (1 Mo je crois).
Mais bon c sur que c pas le pied...
Et dans la serie ça continue, ça continu.
Heu je v poster ça, et preparer une longue explication pour mon prochain post
Marsh Posté le 04-04-2002 à 17:26:57
C'est parti pour une longue explication du comment je voudrai que ça marche.
Allez zouuuu.
Je suis en train de faire un modele de page type pour chaque employé. Deja, on a en haut un tableau regroupant photo, nom, etc etc. Et tout autour, les liens vers les differentes rubirques (experiences, cursus scolaire etc etc). Donc voila ce que je vais faire :
Le tableau reste toujours affiché en haut. Si on passe sur un lien (meme pas besoin de cliquer, mais bon ça change pas grand chose), pouf! la section correspondante apparait en dessous.
Donc pour faire ça, je me suis servit de div, que je met en hidden. Ensuite, qd je passe au dessus d'un lien, je met tout les div en hidden, et le div correspondant en visible.
Jusque là pas de pb.
Bon, en mettant mes div a la suite de l'autre dans mon code, bin je me suis rendu compte que meme si ils etaient invisibles, ils prenaient qd meme leur place. Je m'explique :
j'ai 5 div pour 5 parties. La derniere partie etant experience. Si j'ecrit mon code HTML de la sorte :
Code :
|
alors, lorsque le div experience devient visible, il n'apparait pas juste au dessous de mon tableau.
Bon j'ai remédié a ça aussi en mettant les div en position absolute.
Seulement pb pour mettre les x et y : mon tableau ne fait pas toujours la meme hauteur.
Donc, j'avais trouvé un script pas mal, qui permet de fixer le x et y en fonction d'une balise "ancre". Je m'explique :
je met juste au dessous de mon tableau une balise <a> vide de la sorte :
Code :
|
et ensuite, par un script javascript (que j'execute sur le onLoad du body), je recupere l'ordonnée y de la balise <a> (c pour ça quelle a le nom d'ancre), et je l'attribue a tous mes div.
Là aussi, ça marche niquel, que ce soit IE, NS ou opera.
Bon, on avance petit a petit
Maintenant ce que je voudrai faire :
pour faire plus joli, je voulais mettre des styles CSS sur mes div. Au debut, je passait par un tableau auquel je rajoutai des bordures oranges. L'unique cellule du tableau avait la couleur #EEEEEE en backgroundcolour. Grace a la propiete cellspacing, j'obtenais donc un paragraphe gris, avec une marge blanche (cellspacing) puis une marge orange (CSS). ça fonctionne tres bien avec NS6, IE et opera.
Le gros pb qui se pose en faisant ça, c avec NS4.x : comme il interprete mal les CSS, ça part en live : j'ai un div qui s'affiche, mais il ne disparait plus. Les autres n'apparaissent plus. Si j'enleve les CSS du tableau, pas de pb ça marche. Donc le pb vient bien de là.
Donc, je voulais feinter en faisant, grace a du JS, un test pour savoir sur quel NS on est :
-si c le 4.x, j'ecris l'en-tete du tableau sans CSS
-sinon, j'ecris l'en tete avec les CSS.
ça marche, mais ce qui est dommage c'est que je n'ai pas la jolie bordure orange sous ns4.
Ensuite j'ai eu une idée terrible : pourquoi ne pas appliquer le style directement sur mon div, et supprimer le tableau ?!!
donc j'essaie : Hop, je lance IE voir ce que ça donne. Bon, dommage, avec le tableau et la propriete cellspacing, j'avais une marge blanche avant d'avoir mes bordures, et c'etait la classe. Là, du coup, ya plus la ptite marge blanche donc je me retrouve avec un div en fond gris avec la bordure orange. C'est pareil pour NS6 et opera.
Bon, un peu degouté, je lance a tout hasard NS4 : et là
SUUUUURPRIIISE, j'obtient enfin les bordures oranges, et tout marche !! Et là, de plus en plus fort grace a la magie de NS4, il met meme des marges blanches autour, exactement comme le faisait mon tableau sous IE, NS6 et Opera.
Donc je me dis; bon je vais faire la feinte ultime :
je fais un script (qu'on va appelle scriptQuiTue) qui verifie si c ns 4:
-si c vrai, j'ecris mon div avec le style
-sinon, j'ecris mon div, je rajoute un tableau avec style CSS. Ensuite avant la fin du div, je reteste et je met la fin du code pour le tableau.
Là je me dis c bon, je le masterise ce NS, tu vas voir ça va etre du gateau.
Mais non, misere de misere, il y a pb : plus rien ne s'affiche !!!
Je crois en connaitre la cause : l'ancrage de mes div !!
en effet, au onLoad du body, j'appelle un script pour fixer les coordonnées de mes div. Or, ceux-ci etant ecrit chez le client (a cause de mon script sciprtQuiTue), il ne les trouve pas pour fixer les coordonnées et plante.
heuuuu, j'ai ete clair ?
Marsh Posté le 05-04-2002 à 10:38:25
Je continu ma recherche longue et perilleuse
j'ai eu une new idée.
Je comptais faire un script JS (a l'interieur de chacun de mes div) qui :
-fait le tableau avec style pour tout ce qui est pas NS4.x
-creer un div avec style pour NS
puis a la fin du div :
-ferme le tableau pour tout ce qui est pas NS4.x
-ferme le div pour NS4
Donc comme d'hab ça marche partout sauf sur NS4 : il n'affiche plus un seul de mes div ....
J'ai regroupé au sein d'une meme page HTML tout le code. C super long, mais ya qu'a faire un copier/Coller. Lancer le souss qq chose qui n'est pas NS4 pour voir ce que ça doit faire. Et apres avec NS4 bin ça fait rien
Si qqu peut m'aider please, parce que là je craaaque.
Code :
|
[jfdsdjhfuetppo]--Message édité par petoulachi--[/jfdsdjhfuetppo]
Marsh Posté le 05-04-2002 à 12:33:17
argh! moi et ma grande g"@#le!
Bon je vais voir le truc, mais je garrantis rien, c'est vachement tordu ton bazar mais tu peux toujours me l'envoyer par mail si tes patrons sont d'accord.
Marsh Posté le 05-04-2002 à 13:13:33
gizmo a écrit a écrit : argh! moi et ma grande g"@#le! Bon je vais voir le truc, mais je garrantis rien, c'est vachement tordu ton bazar mais tu peux toujours me l'envoyer par mail si tes patrons sont d'accord. |
bah normalement avec le code au dessus ça suffit
Marsh Posté le 04-04-2002 à 10:40:51
Bonjour a tous,
je realise un site web, et sur une page, j'ai des <div> en position absolue (avec un x et un y donnés). Ils sont tous en invisible (propriete visibility des CSS). Ensuite, lorsque je passe la sourie sur un lien, ça met en visible le div concerné.
Jusque là, rien de bien sorcier et ça marche partout (IE4, IE5+, NS4.x, NS6, opera).
Par contre, dans les div, je voulais mettre des tableaux utilisant les CSS pour mettre des bords exterieurs uniquement :
Mais, une fois que je fais ça, dans NS4.x (et uniquement celui là) ça bug ; je me retourve avec un div affiché en permanence, et les autres ne s'affichent plus, bref ça plante complet !! Et sur NS6, opera ou IE, pas de pb ??
Alors pour l'instant, j'ai feinté en utilisant des javascripts :
Donc du coup, si c NS4.x et uniquement celui là, je ne met pas de style au tableau (de toute façon il ne sait pas l'interpreter...)
mais bon ça fait bidouille, et j'aimerai comprendre pourquoi ça plante ?
merci
[jfdsdjhfuetppo]--Message édité par petoulachi--[/jfdsdjhfuetppo]