[CSS] IE n'aime pas mon code...

IE n'aime pas mon code... [CSS] - HTML/CSS - Programmation

Marsh Posté le 28-09-2005 à 20:00:54    

Bonsoir à tous,
 
Je suis en train de créé un petit site tout simple, avec une mise en page dans les normes (enfin je pense), et une CSS correcte.
Seulement comme rien n'est parfait, mon site ne passe pas du tout comme il faudrait sous IE, alors que Mozilla, Opera l'affiche correctement.
 
Pour avoir un aperçu de la page:
 
-
 
(j'ai rempli les paraphs avec du dummy, fallait bien qu'il y ait un semblant de contenu  ;) )
 
Raccourci vers la feuille de style:
 
-
 
Si qqn pouvait m'aider ça serait sympa :)


Message édité par ANViL le 18-05-2008 à 17:23:33
Reply

Marsh Posté le 28-09-2005 à 20:00:54   

Reply

Marsh Posté le 28-09-2005 à 20:27:34    

Passe en xhtml 1.0 strict pour ta DTD pour avoir le modele de boite Strict du w3c sur IE et gecko ... tu auras deja moins de surprise peut-etre :)

Reply

Marsh Posté le 28-09-2005 à 20:33:16    

Ok c'est fait, mais ça ne résoud apperemment rien  :(
 
Je ne comprends pas pourquoi IE distortionne la boite (quoiqu'avec le nombre de bugs CSS d'iE plus rien ne m'étonne), la largeur est fixée pourtant  :??:


Message édité par ANViL le 28-09-2005 à 20:34:59
Reply

Marsh Posté le 28-09-2005 à 20:37:12    

Réduit de peux la taille du contenu de droite....;)


Message édité par xtof_83 le 28-09-2005 à 20:37:31
Reply

Marsh Posté le 28-09-2005 à 20:44:18    

Voilà c'est fait,  
 
mais bon, c'est pas vraiment une solution:
 
- les boites (div) des listes de menus sont trop larges par rapport aux autres (le titre 'ADMIN' et celle contenant la photo du GSM) donc ça ne rend pas très bien :sweat:
 
- Ensuite (toujours dans les mystères d'IE) il me saccage le pied de page, que j'ai pourtant déclaré correctement avec un clear: both
 
Je désespère d'arriver à une solution potable pour les usagers d'IE...

Reply

Marsh Posté le 28-09-2005 à 20:47:40    

Ben les % sous IE c'est pas top...alors soit tu met le menu en dure et le reste n flottant et ce sera mieux
 
 
Moi je pense c'est le plus logique...

Reply

Marsh Posté le 28-09-2005 à 20:52:06    

Mais le truc c'est que j'ai déjà essayé de mettre une largeur fixe pour le menu (et même de le mettre en position fixe plutot que flottante, c'est ce que j'avais fais initialement) mais ça foirait déjà ! J'ai essayé plusieurs dispositions différentes (absolue, relative...) IE me rajoute toujours 2% de largeur en trop.
 
IE <- :gun:


Message édité par ANViL le 28-09-2005 à 20:52:23
Reply

Marsh Posté le 28-09-2005 à 20:53:24    

_margin:0px
_padding:0px

Reply

Marsh Posté le 28-09-2005 à 21:11:14    

j'ai remplacé les occurences existantes de margin: 0px ainsi que padding: 0px par ce que tu as indiqué, mais ça ne change rien.
 
C'est un hack pour IE ? et ou faudrait-il le placer pour que ça fonctionne ?

Reply

Marsh Posté le 28-09-2005 à 21:17:00    

tu vires la merde que xtof t'a filé, c'est du bidouillage sans reflexion
 
ensuite quand on fait une CSS
on se casse pas la tete, on vire les marges externes (margin) et les marges internes (padding) de tous les éléments
 
* {
  padding: 0;
  margin: 0;  
 }
 
ton problème vient surtout du fait que pour UL
sous IE c'est un margin qui est effectué pour le décalage
alors que sous Gecko (FF..) c'est un padding qui est effectué (qui a mon sens est plus juste)
 
donc soit tu vires les padding/margin pour TOUS tes éléments ou tu l'applique que au UL de ton menu

Reply

Marsh Posté le 28-09-2005 à 21:17:00   

Reply

Marsh Posté le 28-09-2005 à 21:29:15    

j'ai corrigé une petite largeur, même si ca fait foirer un peu sous ie en 640x480, c'est passage. Mais je pense que tu aurais du te contenter d'un layout fixe. C'est chiant les layout fluides

Code :
  1. /* BLOCS PRINCIPAUX */
  2. * {
  3.    padding: 0;
  4. margin: 0;
  5. }
  6. body {
  7. background: url(images/background.jpg) fixed no-repeat top left;
  8. text-align: center;
  9. }
  10. .conteneur {
  11. width: 100%;
  12. }
  13. #main {
  14. margin: 10px auto;
  15. width: 80%;
  16. border: 1px black solid;
  17. background: rgb(160,159,152);
  18. }
  19. /* HEADERS 1-6 */
  20. h1,h2,h3 {
  21. margin: 0px;
  22. padding: 1em 0em;
  23. border: 1px black none;
  24. border-bottom-style: solid;
  25. }
  26. h1 {
  27. background: url(images/header1_gradient.jpg) repeat-x top left;
  28. font: normal 25px Verdana, sans-serif;
  29. text-align: center;
  30. }
  31. h2 {
  32. background: rgb(190,190,190);
  33. font: bold 16px Verdana, sans-serif;
  34. text-align: left;
  35. text-indent: 30px;
  36. }
  37. h3 {
  38. font: bold 11px Verdana, sans-serif;
  39. border-bottom-style: none;
  40. }
  41. h4,h5 {
  42. background: rgb(178,186,195) url(images/header_gradient.jpg) repeat-y top right;
  43. font: bold 10px Verdana, sans-serif;
  44. vertical-align: middle;
  45. border: 1px black none;
  46. color: rgb(45,63,85);
  47. line-height: 20px;
  48. text-indent: 20px;
  49. text-align: left;
  50. margin: 0px;
  51. }
  52. h4 {
  53. border-bottom-style: solid;
  54. }
  55. h5 {
  56. border-bottom-style: solid;
  57. border-top-style: solid;
  58. }
  59. h6 {
  60. background: rgb(100,100,100);
  61. font: bold 10px Verdana, sans-serif;
  62. color: rgb(200,200,200);
  63. border-top: 1px black solid;
  64. text-align: center;
  65. margin: 0px;
  66. padding: 0.5em 0em;
  67. clear: both;
  68. }
  69. /* PARAGRAPHES */
  70. p {
  71. margin: 0px;
  72. padding: 0.5em 0em;
  73. }
  74. #conteneur_menu_gauche {
  75. float: left;
  76. width: 18%;
  77. }
  78. /* MENU GAUCHE 1 */
  79. #liste_haut {
  80. border: 1px black solid;
  81. border-left: none;
  82. font: bold 12px Verdana, sans-serif;
  83. }
  84. #liste_haut ul {
  85. list-style: none;
  86. border: none;
  87. }
  88. #liste_haut li {
  89. text-indent: 15px;
  90. text-align: left;
  91. }
  92. #liste_haut li a {
  93. border-left: 15px solid rgb(38,75,113);
  94. background: rgb(220,220,220);
  95. color: rgb(130,130,130);
  96. vertical-align: middle;
  97. text-decoration: none;
  98. line-height: 32px;
  99. display: block;
  100. width: 100%;
  101. }
  102. html>body #liste_haut li a {
  103. width: auto;
  104. }
  105. #liste_haut li a:hover {
  106. border-left: 15px rgb(245,153,14) solid;
  107. background-color: rgb(205,205,205);
  108. color: black;
  109. }
  110. /* PAGE DROITE */
  111. #page_droite {
  112. float: right;
  113. width: 78%;
  114.    margin-right:0.5%;
  115. border: 1px black solid;
  116. margin-bottom: 10px;
  117. background: rgb(200,200,200) url(images/texte_gradient.jpg) repeat-y top right;
  118. }
  119. .texte_page {
  120. font: normal 14px Verdana, sans-serif;
  121. margin: 10px 20px;
  122. text-align: left;
  123. color: black;
  124. }
  125. /* MENU GAUCHE 2 */
  126. #admin_cpl {
  127. border: 1px black solid;
  128. border-left: none;
  129. font: bold 12px Verdana, sans-serif;
  130. margin: 10px 0px;
  131. }
  132. #admin_cpl ul {
  133. list-style: none;
  134. border: none;
  135. margin: 0;
  136. padding: 0;
  137. }
  138. #admin_cpl li {
  139. margin: 0;
  140. text-indent: 15px;
  141. text-align: left;
  142. }
  143. #admin_cpl li a {
  144. display: block;
  145. vertical-align: middle;
  146. line-height: 32px;
  147. border-left: 15px solid rgb(38,75,113);
  148. background: rgb(220,220,220);
  149. color: rgb(130,130,130);
  150. text-decoration: none;
  151. width: 100%;
  152. }
  153. html>body #admin_cpl li a {
  154. width: auto;
  155. }
  156. #admin_cpl li a:hover {
  157. border-left: 15px rgb(23,115,253) solid;
  158. background: rgb(205,205,205);
  159. color: black;
  160. }
  161. /* BLOCS ANNEXES */
  162. #admin_cpl_header {
  163. text-align: left;
  164. text-indent: 30px;
  165. border: 1px black solid;
  166. border-left-style: none;
  167. font: bold 16px Verdana, sans-serif;
  168. margin: 10px 0px;
  169. background: rgb(190,190,190);
  170. }
  171. #astel_logo {
  172. text-align: center;
  173. border: 1px black solid;
  174. border-left-style: none;
  175. margin: 10px 0px;
  176. padding: 15px 0px;
  177. background: rgb(190,190,190);
  178. }

Reply

Marsh Posté le 28-09-2005 à 21:44:25    

gatsusat a écrit :

tu vires la merde que xtof t'a filé, c'est du bidouillage sans reflexion


 :cry:  :cry:  :cry:  :cry:  
 
:lol: je doute bien que ce truc est de la merde...mais j'avais vu ça sur un des sites des cadors...
 
Enfin n'étant pas accepter par xhtml1.1 je pense que je vais devoirt y remedier...
 
C'est quoi the Soluce...la même que tu viens d'éxposer.??
 


Message édité par xtof_83 le 28-09-2005 à 21:52:20
Reply

Marsh Posté le 28-09-2005 à 21:55:43    

Merci pour les explications.
 
Pour la technique de virer tous les padding / margin directement avec un * c'est pas mal, je n'y avait pas pensé.
 
Mais sinon, je ne saisi pas très bien la solution fournie (j'ai supprimé les margin & padding comme indiqué, et j'ai c/c le reste des modifications que tu avais effectué, mais le problème persiste sous IE, j'ai toujours la largeur non respectée par rapport aux autres blocs de gauche)
 
Les blocs flottants sont peut-être chiants, mais c'est tout ce que j'ai trouvé pour faire un design tel que celui là.

Reply

Marsh Posté le 28-09-2005 à 21:58:35    

Ben tu veux quoi sous IE, sa marche bien chez moi....???
 
EDIT : en petit taille c'est vrais que sa bugue..
 
Comme dis précédement menu, width:FIXE
 
C'est mieux, car parait il sous grosse résolution parfois ça fait des trucs affreux... :sarcastic:


Message édité par xtof_83 le 28-09-2005 à 22:00:35
Reply

Marsh Posté le 28-09-2005 à 22:02:28    

ANVIL as tu pensé au boxModel Microsoft ?
c'est à dire :  
 
BoxModel Microsoft :  
Quand tu fais un width, le width concerne le padding, le border et le contenu
 
BoxModel W3C, un width ne concerne que le contenu.
donc la largeur d'une boite sera Width+padding+border
 
http://openweb.eu.org/articles/dimensions_boites_css/

Reply

Marsh Posté le 28-09-2005 à 22:05:16    

Chez moi c'est toujours décalé par rapport aux autre boites tel que '.ADMIN'
 
http://img258.imageshack.us/img258 [...] est8ec.jpg
 
EDIT: gatsusat, je n'y avais pas songé, je vais regarder ça de suite


Message édité par ANViL le 28-09-2005 à 22:06:34
Reply

Marsh Posté le 28-09-2005 à 22:36:06    

Yeepee !
-> j'ai modifié le design de sorte que tous les navigateurs (et surtout IE) s'accorde sur la largeur.
 
(En gros j'ai utilisé un background pour reproduire les bordures - que le boxModel MS comptabilisait dans la largeur :gun:  - et les effets de hover, et là c'est good)
 
Vives les conventions du W3C non respectées  :sweat:

Reply

Marsh Posté le 29-09-2005 à 17:39:47    

tu aurais pu utilisé un hack ... plutot que des images pour les bordures :  
 
http://www.communitymx.com/content [...] 53B6F20B41
 
@+


---------------
:Moultiplayers:.:Quatuor Chevalier:.:Admin G15-france.com:.:Wiki -G15-france:.:-Papa-:.
Reply

Marsh Posté le 29-09-2005 à 19:22:08    

oué  
A {
border-left:15px;
width:85px; /*Pour tout le monde, 85+15=100*/
_width:100px; /*Pour cette grosse pute de IE*/
}

Reply

Sujets relatifs:

Leave a Replay

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