Mise en page avec des <div>

Mise en page avec des <div> - HTML/CSS - Programmation

Marsh Posté le 09-01-2003 à 17:38:14    

Bonjour,
 
J'ai un petit problème pour mettre un site en page avec des <div>. J'utilse le XHTML 1.1 strict. Non gm_superstar, ce n'est pas le même site que la dernière fois, cette fois, c'est pour mon boulot.
 
code xhtml:

Code :
  1. <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
  2. <html>
  3. <!-- Date de création: 9/01/2003 -->
  4. <head>
  5. <title>Open iT E-Direct</title>
  6. <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
  7. <link rel="stylesheet" type="text/css" href="template.css"/>
  8. </head>
  9. <body>
  10. <div id="main">
  11. <!-- header -->
  12. <div id="header">
  13.  <div id="inheader">
  14.   <img src="../images/logo.gif" width="100" height="56" alt="logo"/> <a id="header" href="../asp/about.asp">E-Direct</a>
  15.   <form id="search" method="post" action="search.asp">
  16.   <input name="keywords" id="keywords" size="17" value=""/>
  17.   <input type="submit" id="submit_search" name="submit_search" value="search" class="buttonstyle"/>
  18.   </form>
  19.  </div>
  20. </div>
  21. <!-- upper menu -->
  22. <div id="uppermenu">
  23.  <div id="inuppermenu">
  24.   <a href="#" class="uppermenu">Accueil</a>
  25.    | 
  26.   <a href="#" class="uppermenu">Accueil</a>
  27.    | 
  28.   <a href="#" class="uppermenu">Accueil</a>
  29.    | 
  30.   <a href="#" class="uppermenu">Accueil</a>
  31.  </div>
  32. </div>
  33. <!-- body -->
  34. <div id="body">
  35.  <div id="leftcontent">
  36.   left
  37.  </div>
  38.  <div id="content">
  39.   middle
  40.  </div>
  41.  <div id="rightcontent">
  42.   right
  43.  </div>
  44. </div>
  45. <!-- lower menu -->
  46. <div id="lowermenu">
  47.  <div id="inlowermenu">
  48.   <a href="#" class="lowermenu">Accueil</a>
  49.    | 
  50.   <a href="#" class="lowermenu">Accueil</a>
  51.    | 
  52.   <a href="#" class="lowermenu">Accueil</a>
  53.    | 
  54.   <a href="#" class="lowermenu">Accueil</a>
  55.  </div>
  56. </div>
  57. <div id="footer">
  58.  (c) Open iT Data Management Team
  59. </div>
  60. </div>
  61. </body>
  62. </html>


 
J'ai 2 problèmes:
1/ je voudrais que le logo, le texte "E-Direct" et le formulaire de recherche soit sur la même ligne et centrer verticalement.
2/ Il faudrait que les 3 div rightcontent, content et leftcontent soit côte à côte au lieu d'un au dessous des autres.
 
Je me demandais aussi si il était possible de mettre une marge entre le bord d'un div et son contenu. Car pour le faire, j'ai du passer par un autre div et appliquer les margin à ce deuxième div.
 
code css:

Code :
  1. /* Date de création: 9/01/2003 */
  2. /* main design */
  3. body {
  4. margin-top: 10px; margin-right: 10px; margin-bottom: 10px; margin-left: 10px;
  5. background-color: #0099CC; background-image: url(../images/BGHR_336699_6699CC.gif);
  6. color: #000000;
  7. }
  8. div#main {
  9. width: 100%;
  10. text-align: left;
  11. }
  12. /* header design */
  13. div#header {
  14. width: 100%;
  15. background-color: #cccccc;
  16. vertical-align: middle;
  17. border-bottom-style: solid; border-bottom-width: 6px; border-bottom-color: #808080;
  18. }
  19. div#inheader {
  20. margin-top: 5px; margin-right: 20px; margin-bottom: 5px; margin-left: 20px;
  21. }
  22. form#search {
  23. float: right;
  24. }
  25. a#header:link {
  26. color: #ffffff;
  27. }
  28. a#header:hover {
  29. color: #0000ff;
  30. background: #ffffcc;
  31. }
  32. a#header:visited {
  33. color: #ffffff;
  34. }
  35. a#header {
  36. font-weight: bold; font-size: x-large; font-style: italic; text-decoration: underline;
  37. }
  38. /* upper menu */
  39. div#uppermenu {
  40. width: 100%;
  41. background-color: #003399;
  42. border-style: solid; border-width: 1px; border-color: #cccccc;
  43. text-align: center; color: #ff9900; font-size: 12px;
  44. margin-bottom: 10px;
  45. }
  46. div#inuppermenu {
  47. margin-top: 2px; margin-right: 0px; margin-bottom: 2px; margin-left: 0px;
  48. }
  49. a.uppermenu:link {
  50. font-weight: bold; text-decoration: underline; font-size: 12px;
  51. color: #ffffff;
  52. }
  53. a.uppermenu:hover {
  54. font-weight: bold; text-decoration: underline; font-size: 12px;
  55. color: #0000ff;
  56. background: #ffffcc;
  57. }
  58. a.uppermenu:visited {
  59. font-weight: bold; text-decoration: underline; font-size: 12px;
  60. color: #ffffff;
  61. }
  62. /* body */
  63. div#body {
  64. width: 100%;
  65. margin-bottom: 6px;
  66. }
  67. /* left content */
  68. div#leftcontent {
  69. width: 150px;
  70. background-color: #eeeeee;
  71. border-style: solid; border-width: 1px; border-color: #eeeeee;
  72. }
  73. /* middle content */
  74. div#content {
  75. background-color: #ffffff;
  76. border-style: solid; border-width: 1px; border-color: #ffffff;
  77. }
  78. /* right content */
  79. div#rightcontent {
  80. width: 150px;
  81. background-color: #eeeeee;
  82. border-style: solid; border-width: 1px; border-color: #eeeeee;
  83. }
  84. /* lower menu */
  85. div#lowermenu {
  86. width: 100%;
  87. background-color: #cccccc;
  88. text-align: center; color: #ff9900; font-size: 12px;
  89. margin-bottom: 6px;
  90. }
  91. div#inlowermenu {
  92. margin-top: 2px; margin-right: 0px; margin-bottom: 2px; margin-left: 0px;
  93. }
  94. a.lowermenu:link {
  95. font-weight: bold; text-decoration: underline; font-size: 12px;
  96. color: #0000ff;
  97. }
  98. a.lowermenu:hover {
  99. font-weight: bold; text-decoration: underline; font-size: 12px;
  100. color: #ff0000;
  101. }
  102. a.lowermenu:visited {
  103. font-weight: bold; text-decoration: underline; font-size: 12px;
  104. color: #0000ff;
  105. }
  106. /* footer */
  107. div#footer {
  108. width: 100%;
  109. text-align: center; font-family: Verdana,Arial,Helvetica; font-size: 10px; color: #ffffff;
  110. }
  111. /* other */
  112. .buttonstyle {
  113. font-family: Verdana,Arial,Helvetica; font-weight: bold; font-size: 10px; color: black;
  114. }


 
Le tout est visionnable à l'adresse http://guillaume.lesur.free.fr/openit/template.html (je n'ai pas uploader les images). Le tout doit ressembler à peu près à ça: http://www.openit.be/asp/ à part que j'aimerais que ça tienne sur toutes la largeur d'une page et adaptable selon la résolution.
 
Merci pour votre aide.

Reply

Marsh Posté le 09-01-2003 à 17:38:14   

Reply

Marsh Posté le 09-01-2003 à 18:20:21    

Merde, je l'avais oublier le padding.

Reply

Marsh Posté le 09-01-2003 à 19:08:43    

Bon on va corriger pas à pas le CSS :
 

SoulJacker a écrit :

Bonjour,
/* Date de création: 9/01/2003 */
 
/* main design */
body {  
 margin: 10px; /*C'est plus court*/
 background-color: #0099CC; background-image: url(../images/BGHR_336699_6699CC.gif);
 color: #000000;
}
 
div#main {
 width: 100%; /*Inutile, par défaut un DIV fait 100%*/
 text-align: left; /*Soit...*/
}
 
/* header design */
div#header {
 width: 100%; /*Idem*/
 position: relative; /*Pour pouvoir placer en position absolue le formulaire après*/

 background-color: #cccccc;
 vertical-align: middle; /*Ca ne marche que sur les TD et les éléments en-ligne*/
 border-bottom: solid 6px #808080; /*plus court*/
 padding: 5px 20px 5px 20px /*pour virer ton div#inheader*/

}

div#inheader {
 margin-top: 5px; margin-right: 20px; margin-bottom: 5px; margin-left: 20px;
}

 
/*Pour center verticalement le texte dans le header. Ajouter un id="logo" à l'image*/
img#logo {
  vertical-align: middle;  
}

 
form#search {
 float: right;
 position: absolute;
 height: 26px;
 right: 0;
 top: 20px; /*C'est une méthode pour pouvoir positionner le forumulaire au milieu du DIV et à droite.*/

}
 
/*Il est interdit d'avoir plusieur id="header" dans un document. Si tu veux modifier le style de liens qui se trouvent dans ton <div id="header"> fais comme ça :
a#header:link div#header a:link {
 color: #ffffff;
}
 
div#header a:hover {
 color: #0000ff;  
 background: #ffffcc;
}
 
div#header a:visited {
 color: #ffffff;
}
 
div#header a {
 font-weight: bold; font-size: x-large; font-style: italic; text-decoration: underline;
}
 
/* upper menu */
div#uppermenu {
 width: 100%;
 background-color: #003399;
 border-style: solid; border-width: 1px; border-color: #cccccc;
 text-align: center; color: #ff9900; font-size: 12px;
 margin-bottom: 10px;  
}
 
div#inuppermenu {
 margin-top: 2px; margin-right: 0px; margin-bottom: 2px; margin-left: 0px;
}
 
a.uppermenu:link {
 font-weight: bold; text-decoration: underline; font-size: 12px;
 color: #ffffff;
}
 
a.uppermenu:hover {
 font-weight: bold; text-decoration: underline; font-size: 12px;
 color: #0000ff;  
 background: #ffffcc;
}
 
a.uppermenu:visited {
 font-weight: bold; text-decoration: underline; font-size: 12px;
 color: #ffffff;
}
 
/* body */
div#body {
 width: 100%;
 margin-bottom: 6px;
 position: relative /*Comme pour le formulaire, ça va permettre de positionner les colonnes de gauche et de droite en absolu
}
 
/* left content */
div#leftcontent {
 position: absolute;
 top: 0;
 left: 0;

 width: 150px;
 background-color: #eeeeee;
 border-style: solid; border-width: 1px; border-color: #eeeeee;
}
 
/* middle content */
div#content {
 margin-left: 150px;
 margin-right: 150px;

 background-color: #ffffff;
 border-style: solid; border-width: 1px; border-color: #ffffff;
}
 
/* right content */
div#rightcontent {
 position: absolute;
 top: 0;
 right: 0;

 width: 150px;
 background-color: #eeeeee;
 border-style: solid; border-width: 1px; border-color: #eeeeee;
}
 
/* lower menu */
div#lowermenu {
 width: 100%;
 background-color: #cccccc;
 text-align: center; color: #ff9900; font-size: 12px;
 margin-bottom: 6px;
}
 
div#inlowermenu {
 margin-top: 2px; margin-right: 0px; margin-bottom: 2px; margin-left: 0px;
}
 
a.lowermenu:link {
 font-weight: bold; text-decoration: underline; font-size: 12px;
 color: #0000ff;
}
 
a.lowermenu:hover {
 font-weight: bold; text-decoration: underline; font-size: 12px;
 color: #ff0000;  
}
 
a.lowermenu:visited {
 font-weight: bold; text-decoration: underline; font-size: 12px;
 color: #0000ff;
}
 
/* footer */
div#footer {
 width: 100%;
 text-align: center; font-family: Verdana,Arial,Helvetica; font-size: 10px; color: #ffffff;
}
 
/* other */
.buttonstyle {  
 font-family: Verdana,Arial,Helvetica; font-weight: bold; font-size: 10px; color: black;
}


 
Les 3 colonnes c'est inspiré de http://www.glish.com/css/7.asp
 
Voili, voilou :)


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

Marsh Posté le 09-01-2003 à 19:09:50    

Ah et bien sûr dans le CSS il faut virer le <div id="inheader">


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

Marsh Posté le 09-01-2003 à 19:14:16    

gm putain t malade, t'as vraiment rien de mieux à foutre que macher le boulot aux gars ? :/ Surtout que bon, comme disait un célèbre gars, vaut mieux apprendre à qqn à pecher que lui filer du poisson tout cuit...

Reply

Marsh Posté le 09-01-2003 à 19:21:45    

Indiana Jones a écrit :

gm putain t malade, t'as vraiment rien de mieux à foutre que macher le boulot aux gars ? :/ Surtout que bon, comme disait un célèbre gars, vaut mieux apprendre à qqn à pecher que lui filer du poisson tout cuit...


Bah j'avais 10 minutes à perdre avant de partir du boulot... Cela dit je ne sais pas si ça marche j'ai fait ça à l'aveugle :D
J'ai pas fait tout le boulot, il reste des erreurs de validation et d'autres nettoyages à faire. Les conseils donnés ici seront un point de départ pour lui ;)
 
Allez, c'est ma semaine de bonté.


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

Marsh Posté le 09-01-2003 à 19:22:20    

Y a qu'une lettre de différence entre "trop bon" et...
 
 [:gugus2000]

Reply

Marsh Posté le 09-01-2003 à 19:44:20    

Citation :

Les 3 colonnes c'est inspiré de http://www.glish.com/css/7.asp

 
 
Merciiiiiiiiiiiiiii  :love:  :love:  :love:  :love:  :love:
 
(ca fait un mois que je casse la tête a chercher comment reussir ca)


Message édité par panchopa le 09-01-2003 à 19:46:12
Reply

Marsh Posté le 09-01-2003 à 22:36:08    

Merci  :jap:  gm_superstar  :love:  (tiens il convient bien le superstar). Grace a tous les commentaires, j'espère comprendre encore un peu plus.
 
Au fait, tu ne connaitrais pas un site où on expliquerait le xhtml en profondeur, cad, qui expliquerait pour la mise en page, les éléments de types blocs, les éléments de types en-ligne, ... (avec si possible des exemples)? Parce que j'ai déjà été voir sur le w3school, mais je trouve que cela manque car le principe, je l'ai compris, mais la mise en application n'est pas toujours évidente.
 
Indiana: ca serait pour un autre projet, ça ne me dérangerais pas de patauger et de chercher un bon coup, mais malheureusement (ou heureusement  :) ) c'est pour mon travail et mon patron risque de ne pas apprécier le fait que je cherche pendant 1 mois  :D .
 
Pancopha: je me disais aussi que je devais pas être le seul à chercher :lol: .

Reply

Marsh Posté le 09-01-2003 à 22:39:58    

Bah il y'a beaucoup de liens dans la FAQ...


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

Marsh Posté le 09-01-2003 à 22:39:58   

Reply

Marsh Posté le 09-01-2003 à 22:46:52    

oui, mais généralement je les trouve pas assé complexe. Bah, je ferais le mien quand j'aurrais bien compris (dans 1 an  ;)  :lol: ).
 
Au fait, il serait possible de mettre la FAQ comme post-it, parce que tout à l'heure je ne l'ai pas trouvé et ca serait plus pratique de l'avoir comme 1er message en permanence.

Reply

Marsh Posté le 09-01-2003 à 22:48:56    

Bah non parce que c'est pas la seule FAQ du forum Progra (y'a aussi  Java, PHP, XML...). Par contre en haut à droite tu as un lien "Liens & sujets utiles" qui regroupe tous les topics intéressants


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

Marsh Posté le 09-01-2003 à 22:54:46    

mici :jap:

Reply

Marsh Posté le 10-01-2003 à 15:18:23    

Et bien non, je viens de passer la matiné et le début de l'après-midi à essayer de régler le problème d'alignement et ce n'est toujours pas bon. Je ne comprends pas trop, j'ai suivi le truc sur glish et rien.
 
J'ai un comportement différent selon les navigateurs:
- Mozilla et Netscape: le div de gauche mord sur celle du centre. Ou je devrais plutôt dire que le centre n'est pas bien placé car les deux colonnes ont la bonne dimensions. (http://www.iis.hrnet.fr/pluton/mozilla.jpg)
- IE6: Il m'aligne le div de gauche et celui du centre sur la même position (http://www.iis.hrnet.fr/pluton/ie6.jpg)
- IE5: apparement il ne prend pas en compte les div généraux (http://www.iis.hrnet.fr/pluton/ie5.jpg)
- Opera: toujours un problème avec la colonne de gauche et aussi avec le formulaire de recherche.
 
Le design est dispo à l'adresse: http://www.iis.hrnet.fr/pluton/template.html
 
et le css: http://www.iis.hrnet.fr/pluton/template.css
 

Code :
  1. /* Date de création: 9/01/2003 */
  2. /* main design */
  3. body {
  4. margin: 10px; padding: 0px;
  5. background-color: #0099CC; background-image: url(../images/BGHR_336699_6699CC.gif);
  6. color: #000000;
  7. }
  8. /* header design */
  9. div#header {
  10. position: relative;
  11. background-color: #cccccc;
  12. color: #000000;
  13. border-bottom: solid 6px #808080;
  14. padding: 5px 20px 5px 20px;
  15. }
  16. div#header a {
  17. font-weight: bold; font-size: x-large; font-style: italic; text-decoration: underline;
  18. position: absolute;
  19. height: 26px; left: 125px; top: 23px;
  20. }
  21. form#search {
  22. position: absolute;
  23. height: 26px; right: 20px; top: 23px;
  24. }
  25. /* upper menu */
  26. div#uppermenu {
  27. background-color: #003399;
  28. border: solid 1px #cccccc;
  29. text-align: center; color: #ff9900; font-size: 12px;
  30. margin-bottom: 10px;
  31. padding: 2px;
  32. }
  33. div#uppermenu a {
  34. font-family: Verdana,Arial,Helvetica,sans-serif; font-weight: bold; text-decoration: underline; font-size: 10px;
  35. }
  36. /* main content */
  37. div#maincontent {
  38. position: relative;
  39. margin-bottom: 6px;
  40. }
  41. div#leftcontent {
  42. position: absolute;
  43. top: 0px; left: 0px;
  44. width: 150px;
  45. padding: 2px;
  46. background-color: #eeeeee;
  47. color: #000000;
  48. border: solid 1px #000000;
  49. }
  50. div#centercontent {
  51. margin-left: 150px; margin-right: 150px;
  52. padding: 2px;
  53. background-color: #ffffff;
  54. color: #000000;
  55. border: solid 1px #000000;
  56. }
  57. div#rightcontent {
  58. position: absolute;
  59. top: 0px; right: 0px;
  60. width: 150px;
  61. background-color: #eeeeee;
  62. color: #000000;
  63. border: solid 1px #000000;
  64. padding: 2px;
  65. }
  66. /* lower menu */
  67. div#lowermenu {
  68. background-color: #cccccc;
  69. text-align: center; color: #ff9900; font-size: 12px;
  70. margin-bottom: 6px;
  71. padding: 2px;
  72. }
  73. div#lowermenu a {
  74. font-family: Verdana,Arial,Helvetica,sans-serif; font-weight: bold; text-decoration: underline; font-size: 10px;
  75. }
  76. /* footer */
  77. div#footer {
  78. text-align: center;
  79. font-family: Verdana,Arial,Helvetica,sans-serif; font-size: 10px; color: #ffffff;
  80. background-color: inherit;
  81. }
  82. /* other */
  83. .buttonstyle {
  84. font-family: Verdana,Arial,Helvetica,sans-serif; font-weight: bold; font-size: 10px; color: black;
  85. background-color: inherit;
  86. }
  87. /* link style */
  88. a.upper:link { color: #ffffff; background-color: inherit; text-decoration: underline; }
  89. a.upper:hover { color: #0000ff; background: #ffffcc; text-decoration: underline; }
  90. a.upper:visited { color: #ffffff; background-color: inherit; text-decoration: underline; }
  91. a.lower:link { color: #0000ff; background-color: inherit; text-decoration: underline; }
  92. a.lower:hover { color: #ff0000; background-color: inherit; text-decoration: underline; }
  93. a.lower:visited { color: #0000ff; background-color: inherit; text-decoration: underline; }


Reply

Marsh Posté le 10-01-2003 à 15:32:25    

Bon il faut remettre width: 100%; à ton div#maincontent. Vu qu'il est en positionnement relatif, IE bugge s'il n'y a pas de largeur déclarée...
 
Pour le problème de chevauchement c'est sans doute parce que tu as ajouté une bordure à tes DIV, il font donc que tu ajustes les marges du DIV central.
 
Pour IE 5 il faudra peut-être appliquer le hack suivant : http://www.tantek.com/CSS/Examples/boxmodelhack.html


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

Marsh Posté le 10-01-2003 à 16:47:05    

Oki merci.
 
Pour les marges du centre, il fallait que je compte le padding que j'avais ajouté de chaque côté (+ les bords).
 
Pour IE5, j'ai changé le code en:
 

Code :
  1. div#centercontent {
  2. margin-left: 150px; margin-right: 150px;
  3. padding: 2px;
  4. width: *;
  5. background-color: #ffffff;
  6. color: #000000;
  7. voice-family: "\"}\""; /* for the IE5 CSS bug */
  8. voice-family: inherit;
  9. margin-left: 154px;
  10. margin-right: 154px;
  11. }


 
Pour être sur d'avoir bien compris:
IE5, ne va interprété que:

Code :
  1. div#centercontent {
  2. margin-left: 150px; margin-right: 150px;
  3. padding: 2px;
  4. width: *;
  5. background-color: #ffffff;
  6. color: #000000;
  7. }


tandis que les autres navigateurs compatible CSS2 vont interprétés l'entièreté du code. Et donc ne prendre en compte que les deuxièmes valeurs. C'est bien ça?
 
Par contre pour Opera, c pas encore ça  :pt1cable: .
 
(j'y arriverais, j'y arriverais, j'y arriverais, ...
jes les aurais tous  :na:  ;) )

Reply

Marsh Posté le 10-01-2003 à 16:54:22    

Non tu n'as pas compris, le hack pour IE 5 agit sur la largeur (et uniquement elle). Donc il ne doit concerner que tes colonnes de gauche et de droite pour lesquelles tu as spécifié une largeur. Ta colonne centrale n'a pas de largeur explicite donc elle n'est pas concernée.


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

Marsh Posté le 10-01-2003 à 17:04:53    

ah bon, pourtant ma solution fonctionne et sur glish, c'est comme ça qu'ils ont fait.
 

Code :
  1. #leftcontent {
  2. position: absolute;
  3. left:10px;
  4. top:50px;
  5. width:200px;
  6. background:#fff;
  7. border:1px solid #000;
  8. }
  9. #centercontent {
  10. background:#fff;
  11. margin-left: 199px;
  12. margin-right:199px;
  13. border:1px solid #000;
  14. voice-family: "\"}\"";
  15. voice-family: inherit;
  16. margin-left: 201px;
  17. margin-right:201px;
  18. }
  19. html>body #centercontent {
  20. margin-left: 201px;
  21. margin-right:201px;
  22. }
  23. #rightcontent {
  24. position: absolute;
  25. right:10px;
  26. top:50px;
  27. width:200px;
  28. background:#fff;
  29. border:1px solid #000;
  30. }


 
La, j'ai du mal à suivre alors  :??:

Reply

Marsh Posté le 10-01-2003 à 17:15:57    

Ah oui effectivement, j'ai pas pris le temps de lire attentivement. Effectivement ça revient au même et c'est mieux d'ailleurs car ça évite d'appliquer la hack pour 2 colonnes.
Désolé c'est la fin de la semaine :sleep:  
 
Par contre tu devrais ajouter la deuxième partie du hack pour Opera  5 :
 
html>body div#centercontent {
...
}


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

Marsh Posté le 10-01-2003 à 22:16:34    

Je vais craquer, je le sens  :cry: .
 
J'ai réussi à contourner le problème de l'header en mettant tous les éléments en position: absolute et en supprimant le padding pour le <div id="header"> (IE 5 est vraiment une grosse merde).
 
Par contre dans Opera, je m'en sors pas. J'essaye avec Opera 6.05 fr, mais les positions sont zarbi. Pour mon formulaire, il n'a pas l'air de prendre en compte le champ right: 20px. Et le div gauche est collé à mon menu alors que j'ai définit un écart de 6px en dessous du menu.
 
Screenshot: http://www.iis.hrnet.fr/pluton/opera.jpg
 
Quelqu'un a-t-il une idée???
 
Merci.

Reply

Marsh Posté le 10-01-2003 à 22:32:13    

Tu devrais faire tes screenshots en PNG, c'est mieux [:antpng]


---------------
mes programmes ·· les voitures dans les films ·· apprenez à écrire
Reply

Marsh Posté le 10-01-2003 à 23:10:59    

d'un autre côté faire un site qui passe bien partout c'est pas gagné. Si déjà c'est bon sur IE et mozilla/netscape bin laisse tomber non ?

Reply

Marsh Posté le 10-01-2003 à 23:15:44    

Chuis de genre perfectionniste. Puis ca dépend surtout de mon patron ;) , je lui en toucherais deux mots. Mais si c'était possible, j'aimerais que ca tourne sur Opera. Note que je n'ai pas tester sous Mac, ni sous Linux.

Reply

Marsh Posté le 11-01-2003 à 01:02:12    

HotShot a écrit :


 
<mode excuse bidon>
Ouais mais bon le Png c pas encore bien supporté partout...
</mode>
<mode vraie raison>
Ca te fait les pieds [:jergoku-2]
</mode>


 
Tu es sûr que tu ne veux pas que je bannisse ce pseudo-ci ? [:dawa]


---------------
mes programmes ·· les voitures dans les films ·· apprenez à écrire
Reply

Marsh Posté le 11-01-2003 à 01:09:17    


 
pas besoin de motif :p


---------------
mes programmes ·· les voitures dans les films ·· apprenez à écrire
Reply

Marsh Posté le 11-01-2003 à 11:50:08    

SoulJacker a écrit :

Je vais craquer, je le sens  :cry: .
 
J'ai réussi à contourner le problème de l'header en mettant tous les éléments en position: absolute et en supprimant le padding pour le <div id="header"> (IE 5 est vraiment une grosse merde).
 
Par contre dans Opera, je m'en sors pas. J'essaye avec Opera 6.05 fr, mais les positions sont zarbi. Pour mon formulaire, il n'a pas l'air de prendre en compte le champ right: 20px. Et le div gauche est collé à mon menu alors que j'ai définit un écart de 6px en dessous du menu.
 
Screenshot: http://www.iis.hrnet.fr/pluton/opera.jpg
 
Quelqu'un a-t-il une idée???
 
Merci.


Bon ben sinon pour Opéra, tu mets le logo et le texte dans 1 DIV et le formulaire tu le mets en flottant à droite.


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

Marsh Posté le 11-01-2003 à 12:32:16    

SoulJacker a écrit :

Bonjour,
 
J'ai un petit problème pour mettre un site en page avec des <div>. J'utilse le XHTML 1.1 strict. Non gm_superstar, ce n'est pas le même site que la dernière fois, cette fois, c'est pour mon boulot.


 
Juste pour savoir ça existe le xhtml 1.1 strict ?
Parce que moi j'ai entendu parler du xhtml 1.0 strict et du xhtml 1.1 ?
Alors c'est quoi la différence entre le xhtml 1.1 et le xhtml 1.1 strict ??
 :??:

Reply

Marsh Posté le 11-01-2003 à 12:35:55    

ChiCOToS a écrit :


Parce que moi j'ai entendu parler du xhtml 1.0 strict et du xhtml 1.1 ?


 
Parceque le transitionnal sert pour la phase de transition (comme son nom l'indique). Pour le xhtml 1.1, on considère que la transition est terminée et il ne reste donc plus que le strict.


---------------
brisez les rêves des gens, il en restera toujours quelque chose...  -- laissez moi troller sur discu !
Reply

Marsh Posté le 11-01-2003 à 12:46:16    

kadreg a écrit :


 
Parceque le transitionnal sert pour la phase de transition (comme son nom l'indique). Pour le xhtml 1.1, on considère que la transition est terminée et il ne reste donc plus que le strict.


Donc xhtml 1.1 = xhtml 1.1 strict ??

Reply

Marsh Posté le 11-01-2003 à 12:48:03    

Reply

Marsh Posté le 11-01-2003 à 19:04:41    

Bon, mon patron est d'accord pour laisser tomber Opera  :D [:pronucleus69] [:dams86] .
 
Merci pour votre aide  :jap: [:pronucleus69]


Message édité par souljacker le 11-01-2003 à 19:05:11
Reply

Marsh Posté le 11-01-2003 à 19:15:27    

Citation :

Une baffe à ton patron, de la part de W3C Compliant :ange:


 
Pas compris???
 
Faudrait peut-être commencer par avoir des navigateurs W3C Compliant tel que Mozilla.
 
Quand je vois le merdier qu'il faut pour faire un site compatible avec la plupart des navigateurs (anciens surtout), j'ai presque envie d'arreter le développement web et me redirigier vers les applications stand alone ou en réseau.

Reply

Marsh Posté le 11-01-2003 à 19:57:12    

Non non, je dois pas descendre en deca de IE5 et NS6. d'après ces stats, les autres navigateurs sont que très peu utilisé pour visiter son site.

Reply

Marsh Posté le 13-01-2003 à 19:19:08    

J'ai encore un petit problème.
 
Dans le div de droite, j'ai mis plusieurs div imbriqués.
 

Code :
  1. <div id="mailinglistdiv">
  2. <div class="contentheader">
  3.  Lettre d'informations
  4. </div>
  5. <div id="mailinglistcontent">
  6.  Envoyez votre adresse Email pour vous inscrire:<br/>
  7.  <br/>
  8.  <form id="mailinglist" action="" method="post">
  9.  <input type="text" id="email" size="13" value=""/> <input type="submit" id="ok" value="ok" class="buttonstyle"/><br/>
  10.  <input type="checkbox" id="inhtml" value="html"/> Email en HTML.<br/>
  11.  <br/>
  12.  <input type="submit" id="" value="Se désabonner" class="buttonstyle"/>
  13.  </form>
  14. </div>
  15. </div>
  16. <br/>
  17. <div id="basketdiv">
  18. <div class="contentheader">
  19.  Votre panier
  20. </div>
  21. <div id="basketcontent">
  22.  <div class="basketnb">Nbre d'éléments: 0</div>
  23.  <div class="basketproduct">Votre panier est vide.</div>
  24.  <div class="baskettotal">total:  ?0.00</div>
  25.  <div class="basketttc">ttc:  ?0.00</div>
  26.  <a href="basket.asp?V=refresh"><img src="../images/basket_empty.gif" alt="Voir le contenu du panier" width="25" height="22"/>Voir le panier</a><br/>
  27.  <a href="save_basket.asp?callmode=recover"><img src="../images/savedisk.gif" alt="Recupérer un panier sauvegardé" width="25" height="22"/>Récupérer le panier</a><br/>
  28. </div>
  29. </div>


 
Pour qu'ils s'alignent correctment dans IE, j'ai fixé le width à 150px pour basketdiv et mailinglistdiv (qui me servent en plus à mettre un bord gris autour de l'ensemble). Malheureusement, avec Mozilla (et donc NS), au lieu de garder l'alignement qu'il devrait avoir, les div sont repoussé vers la droite (de 4 pixels).
 
J'ai fait deux screenshots pour illustrer le problème:
- IE: http://users.skynet.be/bk372655/ie.png
- NS: http://users.skynet.be/bk372655/ns.png
 
Si je ne mets pas de valeur au width, j'ai un espace entre les div latéraux et le div central.


Message édité par souljacker le 13-01-2003 à 19:32:38
Reply

Marsh Posté le 13-01-2003 à 20:48:26    

Comment sont positionnés les DIVs ? Le BODY a-t-il une marge ? du padding ? Bref, donne un peu plus de code...


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

Marsh Posté le 13-01-2003 à 22:11:48    

ca ne va pas être bref, désolé:
 

Code :
  1. <body>
  2. <div id="main">
  3. <!-- header -->
  4.   <div id="headerdiv">
  5.   // logo + moteur recherche
  6.   </div>
  7. <!-- upper menu -->
  8.   <div id="uppermenu">
  9.   // generation menu
  10.   </div>
  11. <!-- main content -->
  12.   <div id="maincontent">
  13.     <div id="leftcontent">
  14.        <!--#include file="../includes/leftmenu.asp"-->
  15.     </div>
  16.     <div id="centercontent">
  17.     </div>
  18.     <div id="rightcontent">
  19.       <!--#include file="../includes/rightmenu.asp"-->
  20.     </div>
  21.   </div>
  22. <!-- lower menu -->
  23.   <div id="lowermenu">
  24.   // generation menu
  25.   </div>
  26.   <div id="footer">
  27.     (c) Open iT Data Management Team
  28.   </div>
  29. </div>
  30. </body>


 
rightmenu.asp

Code :
  1. <div id="mailinglistdiv">
  2.   <div class="contentheader">
  3.     Lettre d'informations
  4.   </div>
  5.   <div id="mailinglistcontent">
  6.   // formulaire d'inscription
  7.   </div>
  8. </div>
  9. <br/>
  10. <div id="basketdiv">
  11.   <div class="contentheader">
  12.     Votre panier
  13.   </div>
  14.   <div id="basketcontent">
  15.   // le panier
  16.   </div>
  17. </div>


 
pour leftmenu.asp, c'est la même idée
 
un exemple de contenu de la colonne du milieu

Code :
  1. <!-- Display the news -->
  2. <p class="default_contentheader">
  3. News
  4. </p>
  5. <div id="newslist">
  6. // generation via base de données
  7. </div>
  8. <!-- Display the categories -->
  9. <p class="default_contentheader">
  10. Catégories
  11. </p>
  12. <table cellpadding="0" cellspacing="0" id="default_categorylist">
  13. <tr><td id="default_categorylist_left">
  14. // generation via base de données
  15. </td><td id="default_categorylist_right">
  16. // generation via base de données
  17. </td></tr>
  18. </table>


 
Les css:

Code :
  1. /* main design */
  2. body {
  3. margin: 10px;
  4. padding: 0px;
  5. background-color: #0099CC; background-image: url(../images/BGHR_336699_6699CC.gif);
  6. color: #000000;
  7. }
  8. /* header design */
  9. div#headerdiv {
  10. position: relative;
  11. background-color: #cccccc;
  12. color: #000000;
  13. border-bottom: solid 6px #808080;
  14. height: 76px;
  15. }
  16. /* upper menu */
  17. div#uppermenu {
  18. background-color: #003399;
  19. border: solid 1px #cccccc;
  20. text-align: center; color: #ff9900; font-size: 12px;
  21. margin-bottom: 10px;
  22. padding: 2px;
  23. }
  24. /* main content */
  25. div#maincontent {
  26. position: relative;
  27. margin-bottom: 6px;
  28. width: 100%;
  29. }
  30. div#leftcontent {
  31. position: absolute;
  32. top: 0px; left: 0px;
  33. width: 150px;
  34. color: #000000;
  35. }
  36. div#centercontent {
  37. margin-left: 150px; margin-right: 150px;
  38. padding: 5px;
  39. background-color: #ffffff;
  40. color: #000000;
  41. voice-family: "\"}\""; /* for the IE5 CSS bug */
  42. voice-family: inherit;
  43. margin-left: 152px; margin-right: 154px;
  44. }
  45. html>body div#centercontent {
  46. margin-left: 154px;
  47. margin-right: 154px;
  48. }
  49. div#rightcontent {
  50. position: absolute;
  51. top: 0px; right: 0px;
  52. width: 150px;
  53. color: #000000;
  54. }
  55. /* lower menu */
  56. div#lowermenu {
  57. background-color: #cccccc;
  58. text-align: center; color: #ff9900; font-size: 12px;
  59. margin-bottom: 6px;
  60. padding: 2px;
  61. }
  62. /* footer */
  63. div#footer {
  64. text-align: center;
  65. font-family: Verdana,Arial,Helvetica,sans-serif; font-size: 10px; color: #ffffff;
  66. background-color: inherit;
  67. }


 

Code :
  1. /* all */
  2. div.contentheader {
  3. padding: 2px;
  4. background-color: #003399;
  5. text-align: center;
  6. color: #ffffff; font-family: Verdana,Arial,Helvetica,sans-serif; font-weight: bold; font-size: 12px;
  7. }
  8. /* left content */
  9. div#categorylistdiv {
  10. border: 2px solid #eeeeee;
  11. }
  12. div#categorylistcontent {
  13. padding: 2px;
  14. background-color: #ffffcc;
  15. font-family: Verdana,Arial,Helvetica,sans-serif; font-size: 12px;
  16. }
  17. div#sendthispagediv {
  18. border: 2px solid #eeeeee;
  19. }
  20. div#sendthispage {
  21. padding: 2px;
  22. background-color: #99ccff;
  23. font-family: Verdana,Arial,Helvetica,sans-serif; font-size: 10px;
  24. }
  25. /* right content */
  26. div#mailinglistdiv {
  27. border: 2px solid #eeeeee;
  28. }
  29. div#mailinglistcontent {
  30. padding: 2px;
  31. background-color: #99ccff;
  32. font-family: Verdana,Arial,Helvetica,sans-serif; font-size: 10px;
  33. }
  34. div#basketdiv {
  35. border: 2px solid #eeeeee;
  36. }
  37. div#basketcontent {
  38. padding: 2px;
  39. background-color: #ffffcc;
  40. font-family: Verdana,Arial,Helvetica,sans-serif; font-size: 10px;
  41. }


 

Code :
  1. /* asp/default.asp content */
  2. div.default_contentheader {
  3. padding: 2px;
  4. background-color: #003399;
  5. text-align: center;
  6. color: #ffffff; font-family: Verdana,Arial,Helvetica,sans-serif; font-weight: bold; font-size: 12px;
  7. }
  8. table#default_catergorylist {
  9. width: 100%;
  10. border: 0px;
  11. }
  12. td#default_categorylist_left {
  13. width: 50%;
  14. vertical-align: top;
  15. padding-right: 5px;
  16. text-align: justify;
  17. border-right: 1px solid #c0c0c0;
  18. }
  19. td#default_categorylist_right {
  20. width: 50%;
  21. vertical-align: top;
  22. padding-left: 5px;
  23. text-align: justify;
  24. }


 
J'ai supprimé ce qu'il me semblait inutile pour le cas qui nous intéresse.


Message édité par souljacker le 13-01-2003 à 22:18:42
Reply

Marsh Posté le 14-01-2003 à 09:17:45    

J'ai trouver, j'avais oublier de modifier les marges pour la colonnes du milieux alors que j'avais supprimer les bords ==> décalage.
 
Mais j'ai toujours un petit soucis, dans IE6 mes div ne sont pas tout à fait bien placé, ils devraient être 1 pixel plus à droite.
 
http://users.skynet.be/bk372655/iebug.png, je suppose vient du div englobant, mais je n'en suis pas sur.
 
pour la colonne de droite

Code :
  1. div#rightcontent {
  2. position: absolute;
  3. top: 0px; right: 0px;
  4. width: 150px;
  5. margin: 0px;
  6. padding: 0px;
  7. color: #000000;
  8. }


 
les deux div qui sont englobés dans la colonne de droite:

Code :
  1. div#mailinglistdiv {
  2. border: 2px solid #eeeeee;
  3. }
  4. div#basketdiv {
  5. border: 2px solid #eeeeee;
  6. }

Reply

Marsh Posté le 14-01-2003 à 10:37:48    

SoulJacker a écrit :

J'ai trouver, j'avais oublier de modifier les marges pour la colonnes du milieux alors que j'avais supprimer les bords ==> décalage.


Bah voilà tu as fini par trouver tout seul ;)

SoulJacker a écrit :

Mais j'ai toujours un petit soucis, dans IE6 mes div ne sont pas tout à fait bien placé, ils devraient être 1 pixel plus à droite.
 
http://users.skynet.be/bk372655/iebug.png, je suppose vient du div englobant, mais je n'en suis pas sur.


Essaye de faire apparaître les bordures des différents DIV afin de visualiser lequel n'est pas aligné avec les autres.


Message édité par gm_superstar le 14-01-2003 à 10:40:03

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

Marsh Posté le 14-01-2003 à 12:00:07    

Pour moi, c'est toute la colonne de droite qui est mal placé. Si je fait right: -1px au lieu de right: 0px, l'alignement est correct dans IE, mais bien sur pas dans Mozilla/NS. Donc, il me semble que c'est elle qui pose problème.
 
Ah aussi, comme les colonnes sont en position: absolute, la hauteur de la page est défini par la colonne du mileu. Le problème s'est qu'il peut arriver que la colonne de gauche soit plus haute que celle du milieu (affichage en arbre que l'on cache en partie) et donc vient "écraser" le menu du bas, ce qui n'est pas très joli. Y a-t-il une solution pour que la hauteur de la page varie en même temps que celle de la colonne?


Message édité par souljacker le 14-01-2003 à 12:05:52
Reply

Marsh Posté le 14-01-2003 à 14:03:51    

Ca me fait une belle jambe, 90% des utilisateurs utilisent IE.
 
Règle n°2: l'utilisateurs a toujours raison, ainsi que le patron  ;)  :D

Reply

Marsh Posté le    

Reply

Sujets relatifs:

Leave a Replay

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