[RESOLU] DIVs, IE et positionnement : je vais claquer un fusible ...

DIVs, IE et positionnement : je vais claquer un fusible ... [RESOLU] - HTML/CSS - Programmation

Marsh Posté le 17-10-2003 à 22:07:41    

Bon, j'explique : j'utilise un script nommé Wordpress en version .71 pour gérer mon blog. l'interface de mon blog fait abondamment usage des DIVs (pas une table utilisée) et des CSS. Jusque la, tout va bien car j'arrive à faire ce que je veux ...
 
Du moins avec Mozilla car avec Internet Explorer, tout se retrouve en vrac : c'est à dire que le positionnement des DIVs en absolu ne fonctionne pas (le menu n'est plus à droite par exemple et en plus il n'a plus de fond).
 
Voici le CSS de mon blog :
 

Code :
  1. /* Default WordPress by Matthew Mullenweg http://photomatt.net
  2.     This is just a basic layout, with only the bare minimum defined.
  3.  Please tweak this and make it your own. :)
  4. */
  5. a {
  6. color: #069;
  7. }
  8. a:visited {
  9. color: #039;
  10. }
  11. a:hover {
  12. color: #39c;
  13. }
  14. acronym, abbr {
  15. border-bottom: 1px dashed #333;
  16. }
  17. acronym, abbr, span.caps {
  18. cursor: help;
  19. font-size: 90%;
  20. letter-spacing: .07em;
  21. }
  22. blockquote {
  23. border-left: 5px solid #ccc;
  24. margin-left: 1.5em;
  25. padding-left: 5px;
  26. }
  27. body {
  28. font-family: Verdana, Arial, Helvetica, sans-serif;
  29. margin: 0;
  30. background-color: #E2EAF7;
  31. background-image: url("/b2-img/fond-base.jpg" );
  32. background-position: top left;
  33. background-repeat: no-repeat;
  34. font-size: 12px;
  35. }
  36. /*
  37. div {
  38. white-space: normal;
  39. font-size: 12px;
  40. }
  41. */
  42. h2 {
  43. border-bottom: 2px solid #3a6ea5;
  44. margin-bottom: 5px;
  45. font-size: 16px;
  46. font-weight: bolder;
  47. }
  48. h3 {
  49. font-size: 14px;
  50. font-weight: bold;
  51. border: 1px dashed #000;
  52. background-color: #eef;
  53. margin-left: -20px;
  54. margin-right: 0px;
  55. margin-top: 2px;
  56. margin-bottom: 2px;
  57. padding: 3px;
  58. }
  59. img {
  60. border: 0px;
  61. }
  62. p, li {
  63. line-height: 130%;
  64. font-size: 12px;
  65. }
  66. .b2calendarcell {
  67. color: #000;
  68. }
  69. .b2calendaremptycell {
  70. }
  71. .b2calendarheadercell {
  72. background: #808080;
  73. color: #ccc;
  74. }
  75. .b2calendarlinkpost {
  76. color: #f00;
  77. text-decoration: none;
  78. }
  79. .b2calendarmonth {
  80. color: #aaa;
  81. }
  82. .b2calendarrow {
  83. color: #0f0;
  84. }
  85. .b2calendartable {
  86. background: #fff;
  87. border: 1px solid #000;
  88. }
  89. .b2calendartoday {
  90. color: #00f;
  91. }
  92. .cit {
  93. border: 1px dashed #000;
  94. background-color: #fff;
  95. padding: 3px;
  96. margin-left: 15px;
  97. margin-right: 15px;
  98. }
  99. .credit {
  100. font-size: 9px;
  101. text-align: center;
  102. border-top: 1px dashed #000;
  103. border-right: 1px dashed #000;
  104. width: 200px;
  105. }
  106. .feedback {
  107. text-align: right;
  108. color: #ccc;
  109. font-size: 10px;
  110. }
  111. .meta {
  112. color: #000;
  113. font-size: 9px;
  114. }
  115. .meta a {
  116. color: #000;
  117. font-size: 9px;
  118. }
  119. .texte-info {
  120. font-size: 12px;
  121. }
  122. .commentaires {
  123. font-size: 12px;
  124. margin-top: "px;
  125. }
  126. .postage {
  127. border-top : dashed 1px #000;
  128. border-left: dashed 1px #000;
  129. border-bottom: solid 1px #E2EAF7;
  130. border-right: solid 1px #E2EAF7;
  131. padding: 5px;
  132. background-image: url("/b2-img/fond-content-2.png" );
  133. background-repeat: repeat;
  134. }
  135. .storytitle {
  136. font-size: 14px;
  137. }
  138. .storytitle a {
  139. text-decoration: none;
  140. font-size: 14px;
  141. }
  142. .storycontent {
  143. font-size: 12px;
  144. }
  145. #content {
  146. margin: 0 165px 0 200px;
  147. }
  148. #header {
  149. background-color: #3a6ea5;
  150. background-image: url("/b2-img/fond-logo.gif" );
  151. background-repeat: repeat-x;
  152. height: 54px;
  153. margin: 0;
  154. padding: 0px;
  155. }
  156. #header a {
  157. color: #fff;
  158. text-decoration: none;
  159. }
  160. #header a:hover {
  161. color: #ccc;
  162. }
  163. #menu {
  164. background-color: #3a6ea5;
  165. background-image: url("/b2-img/fond-menu.png" );
  166. background-repeat: repeat;
  167. border-left: 1px dashed #000;
  168. border-bottom: 1px dashed #000;
  169. padding-bottom: 10px;
  170. padding-right: 4px;
  171. position: absolute;
  172. right: 0;
  173. top: 65px;
  174. width: 150px;
  175. }
  176. #menu form {
  177. margin: 0 0 0 13px;
  178. }
  179. #menu input {
  180. background-color: #ccc;
  181. border: 1px solid #000;
  182. }
  183. #menu ul {
  184. color: #ccc;
  185. font-variant: normal;
  186. font-weight: bold;
  187. list-style-type: none;
  188. margin: 0;
  189. padding-left: 3px;
  190. }
  191. #menu ul ul {
  192. font-variant: normal;
  193. font-weight: normal;
  194. line-height: 100%;
  195. list-style-type: none;
  196. margin: 0;
  197. padding: 0;
  198. text-align: left;
  199. }
  200. #menu ul ul li {
  201. line-height: 115%;
  202. padding-left: 11px;
  203. list-style-type: none;
  204. }
  205. #menu ul ul li a {
  206. color: #fff;
  207. height: 13px;
  208. text-decoration: none;
  209. list-style-type: none;
  210. }
  211. #menu ul ul li a:hover {
  212. border-bottom: 1px solid #ccc;
  213. }


 
 
J'ai également modifié une fonction incluse qui sert à parser à l'affichage le contenu de la BDD de manière à éviter d'utiliser comme auparavant la balise <></p> à l'intérieur d'une balise <div></div>, le validator du W3C n'aimant pas cela ...
Voici la fonction :
 

Code :
  1. function wpautop($pee, $br=1) {
  2. $pee = preg_replace('|<br />\s*<br />|', "\n\n", $pee);
  3. $pee = preg_replace("/(\r\n|\n|\r)/", "\n", $pee); // cross-platform newlines  
  4. // $pee = preg_replace("/\n\n+/", "\n\n", $pee); // take care of duplicates
  5. $pee = preg_replace('/\n?(.+?)(\n\n|\z)/s', "<br />$1\n", $pee); // make paragraphs, including one at the end  
  6. $pee = str_replace('<br /></p>', '</p>', $pee);
  7. $pee = str_replace('<p><p>', '<p>', $pee);
  8. $pee = str_replace('</p></p>', '</p>', $pee);
  9. $pee = preg_replace('!<p>\s*(</?(?:table|ul|ol|li|pre|select|form|blockquote)> )!', "$1", $pee);
  10. $pee = preg_replace('!(</?(?:table|ul|ol|li|pre|select|form|blockquote)> )\s*</p>!', "$1", $pee);
  11. if ($br) $pee = preg_replace('|(?<!<br /> )\s*\n|', "<br />\n", $pee); // optionally make line breaks
  12. $pee = preg_replace('!(</?(?:table|ul|ol|li|pre|select|form|blockquote|p)> )<br />!', "$1", $pee);
  13. $pee = preg_replace('|<p><blockquote([^>]*)>|i', "<blockquote$1><p>", $pee);
  14. $pee = str_replace('</blockquote></p>', '</p></blockquote>', $pee);
  15. $pee = preg_replace('/&([^#])(?![a-z]{1,8};)/', '&#038;$1', $pee);
  16. return $pee;


 
Qui peut m'indiquer comment je pourrais faire pour forcer Internet Explorer à positionner correctement les DIVs ?


Message édité par Gilbert Gosseyn le 18-10-2003 à 11:29:57

---------------
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-10-2003 à 22:07:41   

Reply

Marsh Posté le 17-10-2003 à 22:34:07    

Gilbert Gosseyn a écrit :

de manière à éviter d'utiliser comme auparavant la balise <></p> à l'intérieur d'une balise <div></div>, le validator du W3C n'aimant pas cela ...


Ben c'est nouveau ça  :heink:  
Les blocs acceptent très bien les blocs.


---------------
www.polychromies.com (Portfolio) - www.photographier-bebe.com (livre photo de bébé) - www.alsacreations.com
Reply

Marsh Posté le 17-10-2003 à 23:18:24    

Sauf que les paragraphes sont peut des blocs mais les DIVs sont eux des boites ...
 
Fais le test toi même et tu verras ce que te dira le validateur W3 ... (une erreur par balise <p></p> )


---------------
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-10-2003 à 23:24:22    

les div sont des blocs comme les autres, ils peuvent contenir n'importe quel autre bloc.
Ton erreur vient d'ailleurs


---------------
www.polychromies.com (Portfolio) - www.photographier-bebe.com (livre photo de bébé) - www.alsacreations.com
Reply

Marsh Posté le 17-10-2003 à 23:28:39    

PS : je viens de tester quand-même (même si je ne sais pas pourquoi) : "This Page Is Valid XHTML 1.0 Strict!"
 
Le code :
<div><p>toto</p></div>


---------------
www.polychromies.com (Portfolio) - www.photographier-bebe.com (livre photo de bébé) - www.alsacreations.com
Reply

Marsh Posté le 17-10-2003 à 23:41:38    

Alors qpourquoi il me chiait une erreur à chaque utilisation de cette foutue balise <p> ? J'aimerais bien le savoir ...
 
Mais cela ne me renseigne pas pourquoi IE décide d'un coup de claquer un fusible ainsi ...


---------------
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-10-2003 à 23:45:51    

Comme dit, ton erreur vient d'ailleurs (un formulaire peut-être), mais à cette heure-ci je n'ai pas du tout envie de lire tout ton code en détail.
 
Pour IE, je suppose que tu connais déjà ce lien : http://openweb.eu.org/articles/dimensions_boites_css/


---------------
www.polychromies.com (Portfolio) - www.photographier-bebe.com (livre photo de bébé) - www.alsacreations.com
Reply

Marsh Posté le 17-10-2003 à 23:55:26    

Bon, j'ai remodifié la fonction pour remettre les balises <p></p> et ce n'est pas mieux. Donc l'erreur n'est pas la. Maintenant, faut la trouver ...


---------------
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 18-10-2003 à 01:29:05    

Il me semble que j'ai trouve ton erreur ...
 
C'est normal que tu petes un fusible ...  
 
C'est une petite erreur de rien du tout ...
Regarde dans ton css, le style de classe .commentaires ...
tu ne remarques rien de bizzare ??
 

Citation :


.commentaires {
font-size: 12px;
margin-top: "px;
}  


 
Et oui, c'est tout con, mais il faudrait mettre un chiffre :P
 
En tout cas je te rassure je ne l'ai pas vu tout de suite, j'ai du passer par une methode de "barbares" ... :P
 
J'ai rajoute une ligne a la fin de ton css
" /*  */ "
Ensuite j'ai commencer par mettre un "/*" devant les styles, comme cela tous les styles jusqu'a la ligne de fin etaient mis en commentaire. Ensuite il ne restait plus qu'a reinclure les styles les uns apres les uns (ou 2 par 2). Avec cette methode "barbare" tu peux voir ou ca coince :P.
 
Pour une fois que c'est IE qui ne tolere pas les erreurs, oui d'habitude IE est bcp plus laxiste que les autres navigateurs en ce qui concerne les erreurs d'html... :P
 
Allez a plouche.


Message édité par cerel le 18-10-2003 à 01:31:45
Reply

Marsh Posté le 18-10-2003 à 11:09:01    

:ouch: ! Je corrige cela de suite ! Merci :jap: (clavier de portable :/).


---------------
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 18-10-2003 à 11:09:01   

Reply

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

Merci, c'était bien cela ...


---------------
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 18-10-2003 à 11:31:19    

Tu vois, je te l'avais dit ! LOL


---------------
www.polychromies.com (Portfolio) - www.photographier-bebe.com (livre photo de bébé) - www.alsacreations.com
Reply

Sujets relatifs:

Leave a Replay

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