Pb de mise en forme + pb IE - HTML/CSS - Programmation
Marsh Posté le 21-01-2009 à 13:31:26
Bonjour.
Je viens de tester :
Je ne vois aucune différence (enfin, aucune différence majeure) entre IE 6 et FF 2...
Une petite remarque :
Tu utilises beaucoup de DIV à mon goût :
Rien que le DIV id="body" est de trop ! Il suffit de mettre les propriétés directement dans le body {}
En gros, tu as une liste qui contient (a priori) des onglets.
C'est après que j'ai du mal :
- Chaque onglet contient un ongletTextEna. Mais c'est le titre de l'onglet, non ?
=> Tu pourrais remplacer le div ongletTextEna par un Hx
- Chaque onglet contient une ou des liste_onglet ? si cette liste_onglet ne contient qu'une table cadre, tu peux peut-être supprimer le div liste_onglet.
En général, les "onglets" sont plutôt gérés sous forme de liste que dans des DIV.
Une des causes du problème peut être que les DIV ne sont pas imbriqués. En imbriquant onglets et liste_onglet, ça irait peut-être mieux ?
Je sais que ce n'est pas la réponse attendue, mais plus tu simplifieras ta page, moins tu risque de problèmes de mise en page...
Marsh Posté le 21-01-2009 à 13:53:53
macgawel a écrit : Bonjour. Je viens de tester : |
Non y en a pas, mais comme je l'ai dit le contenu du div #liste_onglet sort du div #liste alors qu'il est imbriqué dedans.
Du coup comme tu le vois l'onglet ne vas pas jusqu'au bout du cadre.
macgawel a écrit :
|
Non le div #body est juste mal nommé, il représente le corp de ma page sans entete et pied de page.
macgawel a écrit :
|
div #onglet contient 1 ou plusieurs onglets dont la classe est soit ongletTextEna, soit ongletTextDis (si on vient de cliquer sur un onglet, sa classe devient ongletTextDis... pour ne pas pouvoir le recliquer)
Qu'est ce que "Hx"?
macgawel a écrit :
En général, les "onglets" sont plutôt gérés sous forme de liste que dans des DIV. |
Chaque onglet ne contient qu'une liste_onglet (pour l'instant ...je sais pas si ça va être comme ça après)
Pour les onglets sous forme de liste, je sais mais je suis pas sur que cela règlera mon probleme.
macgawel a écrit :
|
Le probleme est que j'utilise les taglib en java et que sur certains écran je n'ai pas d'onglets mais j'utilise aussi liste_onglet, donc j'ai du faire en sorte de ne pas les imbriquer...
macgawel a écrit :
|
Ca je sais, mais le plus dur est de gérer un minimum de tag en java pour gérer mes différentes mise en page.
Bref le seul problème que je rencontre c'est que le contenu div #liste_onglet sort du div #liste, suffit avec firebug d'inspecter le code pour le voir immédiatement, en se positionant sur div #liste, puis sur div #liste_onglet on voit bien que le div #liste_onglet déborde de 2cm sur la droite, du coup div#liste n'est plus vraiment centré...
J'ai trouvé la solution en enlevant le style="width:100%" de div #liste_onglet mais cela fout la mise en page en l'air sous IE6! (sous firefox c'est nickel)... je cherche à avoir ce rendu en trouvant la vraie solution..
Merci quand même pour tes réfléxions.
Marsh Posté le 21-01-2009 à 15:15:16
Alisteroid a écrit : Non y en a pas, mais comme je l'ai dit le contenu du div #liste_onglet sort du div #liste alors qu'il est imbriqué dedans. |
L'onglet, c'est la "barre bleue qui contient Liste des installations" ?
Alisteroid a écrit : div #onglet contient 1 ou plusieurs onglets dont la classe est soit ongletTextEna, soit ongletTextDis (si on vient de cliquer sur un onglet, sa classe devient ongletTextDis... pour ne pas pouvoir le recliquer) |
Hx = H1 à H6 = Les titres (bon, je reconnais que la notation n'était pas forcément évidente )
Alisteroid a écrit : Bref le seul problème que je rencontre c'est que le contenu div #liste_onglet sort du div #liste, suffit avec firebug d'inspecter le code pour le voir immédiatement, en se positionant sur div #liste, puis sur div #liste_onglet on voit bien que le div #liste_onglet déborde de 2cm sur la droite, du coup div#liste n'est plus vraiment centré... |
J'avais bien compris le problème... Mais je ne vois pas de différence de mise en page entre IE6 et FF2, avec ou sans le width=100%.
en particulier, je n'ai pas l'impression que ça foute la mise en page en l'air...
Pour ce qui est du décalage, il est dû à :
Code :
|
en gros :
Tu as ton div onglets qui fait 100% (de liste.
Ton div liste_onglet qui fait aussi 100% de liste.
Ils ont donc la même taille.
Mais ton div liste_onglet a un padding de 20px. Du coup, le navigateur rajoute 20 pixels de chaque côté, en plus de le taille normale.
Du coup, forcément, le div liste_onglet est plus long (de 40 pixels) que le div onglets. (Accessoirement, suivant les navigateurs, la bordure de 1px dans liste_onglet est à rajouter)
D'où l'impression que l'onglet ne vas pas jusqu'au bout du cadre.
Pour la solution, ça va dépendre de pas mal de choses...
Entre autres, tu peux enlever le padding, fixer les tailles (en pixels ou - mieux - en em, au lieu de %ages).
Marsh Posté le 21-01-2009 à 15:40:57
macgawel a écrit : |
Oui, la y en a qu'un (en gros j'utilise mon onglet pour faire une entete du cadre, mais normalement y a 2 ou 3 onglet de 50px environ qui vont donc pas jusqu'au bout)
macgawel a écrit : Hx = H1 à H6 = Les titres (bon, je reconnais que la notation n'était pas forcément évidente ) |
ok j'avais pas compris
macgawel a écrit :
|
arf je trouvais que le décalage etait pile = au padding, le problème est que je veux pas fixer ma largeur en px, mais vraiment en %, tout en gardant ce padding
Bref , bizarre que ma solution ne foute pas la mise en page en l'air sou sIE6 chez toi, ça serait donc la solution, mais bon si ça marche pas chez moi c'est qu'il y a un pb quelque part.
Marsh Posté le 21-01-2009 à 15:42:40
Bon je sais pas ce qu'il se passe, mais ça marche en enlevant le width=100% comme je le disais, pourtant j'ai bien vidé mon cache, rien touché depuis
Marsh Posté le 21-01-2009 à 15:44:02
En tout cas merci de t'être pris la tête à regarder ce code, qui je sais n'est pas franchement excellent, mais la faible souplesse que j'ai avec les tag, la mise en forme qu'on m'impose, et le peu de temps qu'on m'attribue me limite beaucoup.
Marsh Posté le 19-01-2009 à 17:37:53
Bonjour,
J'ai un petit problème de mise en forme (je vous invite à copier coller le code dans un fichier et de tester chez vous en local)
Sous cette forme, le bloc qui est dessous de la ligne "Liste des installations", ne devrait pas être plus large (normalement il y a d'autres onglet que "Liste des installations", mais cela ne change pas le pb)
La solution que j'ai donc trouvé est de remplacer
par
Le problème est que sous IE6 ça fout tout en l'air mes onglets (ils se retrouvent dans le bloc du dessous, bref c'est pas facile à expliquer mais vous comprendrez vite )
Je suis conscient que ça fait un paquet de code, mais avec firebug ça devrait aller pour trouver d'ou vient le pb.
J'en chie depuis plusieurs heures, donc si une ame charitable pouvait m'aider
Message édité par Alisteroid le 19-01-2009 à 17:40:10