CSS, DIVs, positionnement : IE va me rendre fou ...

CSS, DIVs, positionnement : IE va me rendre fou ... - HTML/CSS - Programmation

Marsh Posté le 09-02-2004 à 00:24:59    

Jamais je n'avais vu un tel désastre. Tout ce que je peux faire pour faire entendre raison à ce foutu navigateur ne fait qu'enpirer les choses. (je parle de Internet Explorer la)
 
Voici : je fais un template qui n'utilise que des DIVs et une feuille de style (dans le but de permettre d'utiliser des "thèmes" pour plus tard). J'ai donc fait un template.
 
Le voici visible à cet endroit : >> le truc qui foire sous IE <<
 
Pour plus d'informations, voici la CSS utilisée :
 

Code :
  1. /*
  2. Style du weblog. Tout est dabs ce fichier. Pour changer d'apparence, il suffit juste
  3. de modifier ici (sans changements trop grands). Il ne sert à rien de toucher aux  
  4. autres fichiers. Sauf si on sait ce que l'on fait bien sur (rajout de modules par
  5. exemple) ...
  6. Fichier exemple à personaliser selon vos désirs.
  7. */
  8. body {
  9. background-color: #f9e6b1;
  10. margin: 0px;
  11. font-family: Verdana, Arial, Helvetica, sans-serif;
  12. }
  13. h2 {
  14. font-size: 15px;
  15. color: #000000;
  16. border: 1px solid #000000;
  17. margin-top: 0px;
  18. margin-bottom: 5px;
  19. }
  20. h3 {
  21. font-size: 9px;
  22. color: #000000;
  23. border: 1px solid #000000;
  24. margin-top: 0px;
  25. margin-bottom: 5px;
  26. }
  27. #main {
  28. margin-top: 5px;
  29. padding: 0px;
  30. width: 920px;
  31. text-align: left;
  32. }
  33. #header {
  34. background-image: url("header.png" );
  35. margin: 0px;
  36. padding: 0px;
  37. width: 920px;
  38. height: 343px;
  39. }
  40. #content {
  41. border-left: 2px solid #000000;
  42. border-right: 2px solid #000000;
  43. border-bottom: 2px solid #000000;
  44. width: 916px;
  45. margin: 0px;
  46. position: absolute;
  47. }
  48. #menu {
  49. float: top;
  50. float: right;
  51. margin-right: 2px;
  52. padding: 2px;
  53. width: 225px;
  54. border-left: 2px solid #000000;
  55. border-bottom: 2px solid #000000;
  56. background-color: #fcdc82;
  57. font-size: 10px;
  58. position: relative;
  59. text-align: right;
  60. }
  61. #blocs {
  62. float: top;
  63. float: left;
  64. position: relative;
  65. width: 684px;
  66. margin: 0px;
  67. }
  68. .blocs-index {
  69. margin-left: 20px;
  70. margin-right: 20px;
  71. margin-top: 0px;
  72. margin-bottom: 3px;
  73. padding: 2px;
  74. border: 1px solid #000000;
  75. font-size: 11px;
  76. color: #000000;
  77. }


 
Et la page HTML (au cas ou) :
 

Code :
  1. <?xml version="1.0" encoding="iso-8859-1"?>
  2. <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
  3. <html xmlns="http://www.w3.org/1999/xhtml">
  4. <head>
  5. <title>Le-Node :: &eacute;tude de template</title>
  6. <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
  7. <link rel="stylesheet" type="text/css" href="themes/lenode/style.css" />
  8. </head>
  9. <body>
  10. <div  align="center">
  11. <div id="main">
  12. <div id="header"></div>
  13. <div id="content">
  14. <div id="blocs">
  15. <div class="blocs-index"><h2>Titre</h2><br /><h3>Date - Auteur - Cat&eacute;gorie</h3><br />Lorem ipsum dolor sit amet, consectetuer adipiscing elit. Praesent cursus, est nec vehicula ornare, libero tellus gravida wisi, vel gravida orci nibh in ante. Etiam tincidunt auctor nulla. Aenean sit amet mi. Duis accumsan velit non elit. Maecenas at nisl non mauris sagittis porttitor. Fusce ut sem eget tortor mollis dignissim. Sed tellus. Vestibulum sit amet massa. Aenean ornare, mauris et iaculis congue, turpis eros tempus tortor, in aliquet turpis neque quis turpis. Aliquam nunc risus, sollicitudin et, vulputate at, gravida at, justo. Nunc a ante. Aliquam semper dui sed risus. Nulla scelerisque tempus velit.</div>
  16. <div class="blocs-index"><h2>Titre</h2><br /><h3>Date - Auteur - Cat&eacute;gorie</h3><br />Vestibulum id arcu ac magna commodo ornare. Ut sagittis vestibulum felis. Vestibulum vel risus vitae felis porttitor commodo. Etiam semper, nisl sed blandit facilisis, libero sem placerat dolor, et auctor purus risus sed nunc. Vestibulum arcu risus, sollicitudin in, iaculis ac, interdum nec, enim. Aenean rutrum. Mauris viverra, risus non viverra hendrerit, eros lacus malesuada mauris, id iaculis mauris tellus id ligula. Sed auctor ornare dolor. Curabitur pharetra erat at est adipiscing ornare. Vestibulum velit arcu, gravida vitae, dapibus facilisis, aliquam sed, urna. Nulla lacus leo, tincidunt at, sagittis sed, tempor nec, nisl. Aliquam erat volutpat. Morbi mi quam, lobortis quis, auctor eu, mattis nec, libero. Aenean egestas faucibus eros. Praesent libero nibh, dictum a, placerat eget, imperdiet ut, magna. Ut sapien.</div>
  17. <div class="blocs-index"><h2>Titre</h2><br /><h3>Date - Auteur - Cat&eacute;gorie</h3><br />Donec augue quam, porta vel, tristique porttitor, euismod eget, leo. Praesent gravida. Curabitur sodales. Integer quis libero. Integer quis dolor non ligula sodales elementum. Nulla dignissim interdum massa. Nullam arcu justo, consectetuer vel, convallis quis, facilisis a, pede. Donec pellentesque nunc quis lectus. Aenean sapien erat, iaculis eget, porttitor ac, fringilla non, diam. Nunc tempor turpis in purus. Maecenas condimentum ligula sollicitudin libero. Class aptent taciti sociosqu ad litora torquent per conubia nostra, per inceptos hymenaeos. Sed diam dolor, varius nec, varius id, molestie vel, est. Cras tortor eros, interdum eget, ornare vitae, adipiscing in, nunc. Fusce elementum felis id lacus. Phasellus ornare, magna et blandit viverra, dolor arcu porta mauris, placerat scelerisque lectus quam a justo.</div>
  18. </div>
  19. </div>
  20. <div id="menu"><br />Lorem ipsum dolor sit amet, consectetuer adipiscing elit. Praesent cursus, est nec vehicula ornare, libero tellus gravida wisi, vel gravida orci nibh in ante. Etiam tincidunt auctor nulla. Aenean sit amet mi. Duis accumsan velit non elit. Maecenas at nisl non mauris sagittis porttitor. Fusce ut sem eget tortor mollis dignissim. Sed tellus. Vestibulum sit amet massa. Aenean ornare, mauris et iaculis congue, turpis eros tempus tortor, in aliquet turpis neque quis turpis. Aliquam nunc risus, sollicitudin et, vulputate at, gravida at, justo. Nunc a ante. Aliquam semper dui sed risus. Nulla scelerisque tempus velit.</div>
  21. </div>
  22. </div>
  23. </body>
  24. </html>


 
Je précise que sous Mozilla le résultat correspond exactement à mes attentes ...


---------------
Tant que la couleur de la peau sera plus importante que celle des yeux, nous ne connaitrons pas la paix. ● L'écriture, c'est la mémoire du futur. ● Mods FO4
Reply

Marsh Posté le 09-02-2004 à 00:24:59   

Reply

Marsh Posté le 09-02-2004 à 00:26:25    

En fait, ce que je ne comprends pas, c'est que tout le bloc #content se déporte sur la droite sous Internet Explorer alors qu'il est cesé être dans un autre bloc centré ...


---------------
Tant que la couleur de la peau sera plus importante que celle des yeux, nous ne connaitrons pas la paix. ● L'écriture, c'est la mémoire du futur. ● Mods FO4
Reply

Marsh Posté le 09-02-2004 à 00:40:33    

Beaucoup de choses bizarres... Pourquoi #content est en positionnement absolu ? "float: left" et "position: relative" s'excluent. "float: top" est une invention. Attention, le prolog XML fait que IE 6 n'est plus en mode standard.


Message édité par gm_superstar le 09-02-2004 à 00:41:14

---------------
Incongru : une FAQ abandonnée sur les Standards du Web - FAQ périmée de blabla@Prog
Reply

Marsh Posté le 09-02-2004 à 00:52:49    

Effectivement pour le float:top : il aime pas le validateur ... http://jigsaw.w3.org/css-validator [...] medium=all
 
J'ai du mal comprendre cela : http://forum.hardware.fr/forum2.ph [...] =2#t234624


---------------
Tant que la couleur de la peau sera plus importante que celle des yeux, nous ne connaitrons pas la paix. ● L'écriture, c'est la mémoire du futur. ● Mods FO4
Reply

Marsh Posté le 09-02-2004 à 00:57:20    

gm_superstar a écrit :

Beaucoup de choses bizarres... Pourquoi #content est en positionnement absolu ? "float: left" et "position: relative" s'excluent. "float: top" est une invention. Attention, le prolog XML fait que IE 6 n'est plus en mode standard.

Bon pour le "absolute" de #content, c'est la seule possibilité que le content contienne bien le reste. Sinon c'est complètement en dehors ... J'ai supprimé le float:top ... Je regarde sous IE.


---------------
Tant que la couleur de la peau sera plus importante que celle des yeux, nous ne connaitrons pas la paix. ● L'écriture, c'est la mémoire du futur. ● Mods FO4
Reply

Marsh Posté le 09-02-2004 à 00:59:31    

La c'est à n'y rien comprendre : sous Mozilla, les blocs #menu et #blocs (et leurs contenus respectifs) sont en dehors du bloc #content alors que sous IE, le bloc #menu est encore en dehors du #content pendant que le #blocs est à l'intérieus du #content ...
 
J'ai remis le "absolute" sur le #content (et ça fait toujours déconner IE) ... Et ma CSS est valide. Qui peut m'aider à faire entendre raison à IE ? (je ne veux pas utiliser de tables)


Message édité par Gilbert Gosseyn le 09-02-2004 à 01:08:30

---------------
Tant que la couleur de la peau sera plus importante que celle des yeux, nous ne connaitrons pas la paix. ● L'écriture, c'est la mémoire du futur. ● Mods FO4
Reply

Marsh Posté le 09-02-2004 à 01:33:12    

Ouf j'ai réussi ...
 
La bonne solution était :
 
La CSS :

Code :
  1. /*
  2. Style du weblog. Tout est dabs ce fichier. Pour changer d'apparence, il suffit juste
  3. de modifier ici (sans changements trop grands). Il ne sert à rien de toucher aux  
  4. autres fichiers. Sauf si on sait ce que l'on fait bien sur (rajout de modules par
  5. exemple) ...
  6. Fichier exemple à personaliser selon vos désirs.
  7. */
  8. body {
  9. background-color: #f9e6b1;
  10. margin: 0px;
  11. font-family: Verdana, Arial, Helvetica, sans-serif;
  12. }
  13. h2 {
  14. font-size: 15px;
  15. color: #000000;
  16. border: 1px solid #000000;
  17. margin-top: 0px;
  18. margin-bottom: 5px;
  19. }
  20. h3 {
  21. font-size: 9px;
  22. color: #000000;
  23. border: 1px solid #000000;
  24. margin-top: 0px;
  25. margin-bottom: 5px;
  26. }
  27. #main {
  28. margin-top: 5px;
  29. padding: 0px;
  30. width: 920px;
  31. }
  32. #header {
  33. background-image: url("header.png" );
  34. margin: 0px;
  35. padding: 0px;
  36. width: 920px;
  37. height: 343px;
  38. }
  39. #content {
  40. border-left: 2px solid #000000;
  41. border-right: 2px solid #000000;
  42. border-bottom: 2px solid #000000;
  43. width: 916px;
  44. margin: 0px;
  45. }
  46. #menu {
  47. padding: 2px;
  48. width: 225px;
  49. border-left: 2px solid #000000;
  50. border-bottom: 2px solid #000000;
  51. background-color: #fcdc82;
  52. font-size: 10px;
  53. text-align: right;
  54. float: right;
  55. }
  56. #blocs {
  57. width: 684px;
  58. margin: 0px;
  59. text-align: left;
  60. float: left;
  61. }
  62. .blocs-index {
  63. margin-left: 20px;
  64. margin-right: 20px;
  65. margin-top: 0px;
  66. margin-bottom: 3px;
  67. padding: 2px;
  68. border: 1px solid #000000;
  69. font-size: 11px;
  70. color: #000000;
  71. }
  72. .spacer {
  73.   clear: both;
  74. }


 
Le fichier template lui-même :

Code :
  1. <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
  2. <html xmlns="http://www.w3.org/1999/xhtml">
  3. <head>
  4. <title>Le-Node :: &eacute;tude de template</title>
  5. <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
  6. <link rel="stylesheet" type="text/css" href="themes/lenode/style.css" />
  7. </head>
  8. <body>
  9. <div align="center">
  10. <div id="main">
  11. <div id="header"></div>
  12. <div id="content">
  13. <div id="blocs">
  14. <div class="blocs-index"><h2>Titre</h2><br /><h3>Date - Auteur - Cat&eacute;gorie</h3><br />Lorem ipsum dolor sit amet, consectetuer adipiscing elit. Praesent cursus, est nec vehicula ornare, libero tellus gravida wisi, vel gravida orci nibh in ante. Etiam tincidunt auctor nulla. Aenean sit amet mi. Duis accumsan velit non elit. Maecenas at nisl non mauris sagittis porttitor. Fusce ut sem eget tortor mollis dignissim. Sed tellus. Vestibulum sit amet massa. Aenean ornare, mauris et iaculis congue, turpis eros tempus tortor, in aliquet turpis neque quis turpis. Aliquam nunc risus, sollicitudin et, vulputate at, gravida at, justo. Nunc a ante. Aliquam semper dui sed risus. Nulla scelerisque tempus velit.</div>
  15. <div class="blocs-index"><h2>Titre</h2><br /><h3>Date - Auteur - Cat&eacute;gorie</h3><br />Vestibulum id arcu ac magna commodo ornare. Ut sagittis vestibulum felis. Vestibulum vel risus vitae felis porttitor commodo. Etiam semper, nisl sed blandit facilisis, libero sem placerat dolor, et auctor purus risus sed nunc. Vestibulum arcu risus, sollicitudin in, iaculis ac, interdum nec, enim. Aenean rutrum. Mauris viverra, risus non viverra hendrerit, eros lacus malesuada mauris, id iaculis mauris tellus id ligula. Sed auctor ornare dolor. Curabitur pharetra erat at est adipiscing ornare. Vestibulum velit arcu, gravida vitae, dapibus facilisis, aliquam sed, urna. Nulla lacus leo, tincidunt at, sagittis sed, tempor nec, nisl. Aliquam erat volutpat. Morbi mi quam, lobortis quis, auctor eu, mattis nec, libero. Aenean egestas faucibus eros. Praesent libero nibh, dictum a, placerat eget, imperdiet ut, magna. Ut sapien.</div>
  16. <div class="blocs-index"><h2>Titre</h2><br /><h3>Date - Auteur - Cat&eacute;gorie</h3><br />Donec augue quam, porta vel, tristique porttitor, euismod eget, leo. Praesent gravida. Curabitur sodales. Integer quis libero. Integer quis dolor non ligula sodales elementum. Nulla dignissim interdum massa. Nullam arcu justo, consectetuer vel, convallis quis, facilisis a, pede. Donec pellentesque nunc quis lectus. Aenean sapien erat, iaculis eget, porttitor ac, fringilla non, diam. Nunc tempor turpis in purus. Maecenas condimentum ligula sollicitudin libero. Class aptent taciti sociosqu ad litora torquent per conubia nostra, per inceptos hymenaeos. Sed diam dolor, varius nec, varius id, molestie vel, est. Cras tortor eros, interdum eget, ornare vitae, adipiscing in, nunc. Fusce elementum felis id lacus. Phasellus ornare, magna et blandit viverra, dolor arcu porta mauris, placerat scelerisque lectus quam a justo.</div>
  17. </div>
  18. <div id="menu"><br />Lorem ipsum dolor sit amet, consectetuer adipiscing elit. Praesent cursus, est nec vehicula ornare, libero tellus gravida wisi, vel gravida orci nibh in ante. Etiam tincidunt auctor nulla. Aenean sit amet mi. Duis accumsan velit non elit. Maecenas at nisl non mauris sagittis porttitor. Fusce ut sem eget tortor mollis dignissim. Sed tellus. Vestibulum sit amet massa. Aenean ornare, mauris et iaculis congue, turpis eros tempus tortor, in aliquet turpis neque quis turpis. Aliquam nunc risus, sollicitudin et, vulputate at, gravida at, justo. Nunc a ante. Aliquam semper dui sed risus. Nulla scelerisque tempus velit.</div>
  19. <div class="spacer"></div>
  20. </div>
  21. </div>
  22. </div>
  23. </body>
  24. </html>


 
(bon OK ça buggue encore un peu sous IE avec une largeur un peu trop faible mais ça marche au moins et n'est pas très génant ...)


---------------
Tant que la couleur de la peau sera plus importante que celle des yeux, nous ne connaitrons pas la paix. ● L'écriture, c'est la mémoire du futur. ● Mods FO4
Reply

Marsh Posté le 09-02-2004 à 20:59:21    


Qu'est ce que tu ne comprends pas ? Parce que là c'est un peu vague ce que tu dis...


---------------
Incongru : une FAQ abandonnée sur les Standards du Web - FAQ périmée de blabla@Prog
Reply

Marsh Posté le 14-02-2004 à 20:55:17    

Et c'est reparti mais ce coup-ci ce n'est que IE 6.0 qui me pose problème (pour ma part avec IE 5.01 SP3 j'ai quelques bugs d'aspect mineurs mais pas ce que sort IE 6 tout patché ...)
 
Je ne comprends pas du tout mon problème, mais alors pas du tout. Je vous invite à regarder ce topic :
http://forum.mon-forum.net/cheznou [...] t-54-1.htm
 
Et plus particulièrement cette page :
http://forum.mon-forum.net/cheznou [...] t-54-3.htm
 
 
Si quelqu'un peut m'aider à corriger par une ruse de sioux (c'est le cas de le dire) ces problèmes ...


Message édité par Gilbert Gosseyn le 14-02-2004 à 20:55:49

---------------
Tant que la couleur de la peau sera plus importante que celle des yeux, nous ne connaitrons pas la paix. ● L'écriture, c'est la mémoire du futur. ● Mods FO4
Reply

Marsh Posté le 14-02-2004 à 20:57:41    

en fait le bug provient de ça :  
h2 {  
    font-size: 15px;
    line-height:18px;  
    background-color: #fcdc8d;  
    color: #000000;  
    border-bottom: 1px solid #000000;
    margin: -2px;  
    padding-left: 10px;  
     }  
 
Apparament IE6 n'aime pas les marges négatives  :(


Message édité par Flyman30 le 14-02-2004 à 21:22:29
Reply

Marsh Posté le 14-02-2004 à 20:57:41   

Reply

Marsh Posté le 14-02-2004 à 21:03:35    

Sauf que j'en ai besoin pour question d'estétique (et vouloir faire la même chose en onservant une marge de 2 pixels pour mon texte à l'intérieur des divs bloc-nows m'imposerai la création d'un div supplémentaire).


---------------
Tant que la couleur de la peau sera plus importante que celle des yeux, nous ne connaitrons pas la paix. ● L'écriture, c'est la mémoire du futur. ● Mods FO4
Reply

Marsh Posté le 14-02-2004 à 21:04:50    

Flyman30 a écrit :

en fait le bug provient de ça :  
h2 {  
    font-size: 15px;
    line-height:18px;  
    background-color: #fcdc8d;  
    color: #000000;  
    border-bottom: 1px solid #000000;
    margin: -2px;  
    padding-left: 10px;  
     }  
 
Apparament IE6 n'aime pas les marges négatives  :(  

Ah oui je précise que pour une fois les navigateurs IE antérieurs gèrent la situation (enfin pas trop mal) : ils annulent la marge négative mais font le redimentionnement du bloc correctement ...


---------------
Tant que la couleur de la peau sera plus importante que celle des yeux, nous ne connaitrons pas la paix. ● L'écriture, c'est la mémoire du futur. ● Mods FO4
Reply

Marsh Posté le 15-02-2004 à 11:20:14    

Quelqu'un peut m'aider ?


---------------
Tant que la couleur de la peau sera plus importante que celle des yeux, nous ne connaitrons pas la paix. ● L'écriture, c'est la mémoire du futur. ● Mods FO4
Reply

Marsh Posté le 17-02-2004 à 12:27:06    

Un p'tit up  :)

Reply

Marsh Posté le 17-02-2004 à 18:45:44    

Bon c'est un bug d'IE. Donc soit tu ajoutes un DIV comme tu l'as dit, soit tu construis tes blocs comme ça :
 
<h2>...</h2>
<h3>...</h3>
<div class="blocs-index">...</div>
<h2>...</h2>
<h3>...</h3>
<div class="blocs-index">...</div>
...


---------------
Incongru : une FAQ abandonnée sur les Standards du Web - FAQ périmée de blabla@Prog
Reply

Marsh Posté le 17-02-2004 à 18:46:37    

Merci :jap:.


---------------
Tant que la couleur de la peau sera plus importante que celle des yeux, nous ne connaitrons pas la paix. ● L'écriture, c'est la mémoire du futur. ● Mods FO4
Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed