Plizz, pourriez-vous m'aider à déménager mes boîtes ???

Plizz, pourriez-vous m'aider à déménager mes boîtes ??? - HTML/CSS - Programmation

Marsh Posté le 01-11-2003 à 12:47:14    

Hello !
 
Pas de mise en boîte SVP, j'essaye de "mettre en page" un petit site web perso avec des feuilles de styles...  
 
Oui mais voilà, j'aimerais avoir le beurre, l'argent du beurre et le sourire de la crémière (voire plus si affinités) ! En d'autres termes, j'aimerais avoir un rendu aussi équivalent que possible avec un maximum de navigateurs (disons IE5.x et +, Mozilla 1.x et les Netscape bâtis dessus, et Opera - que je n'ai jamais utilisé, faudra que je l'essaie, ne serait-ce qu'à des fins de tests !)
 
Ci-dessous, vous trouverez le code résultant de mes premiers efforts (les couleurs sont beurk, je sais, je ne fais que tester pour le moment). Et voici les questions qui vont avec :

  • j'ai un problème de positionnement avec Mozilla (j'utilise en ce moment la version 1.4) pour la div d'id "contenu" : sans bordure, elle est placée contre le haut de la fenêtre. Avec une bordure d'épaisseur très faible, tout rentre dans l'ordre... mais évidemment, vu le modèle standard de boîtes que respecte Mozilla, la largeur de la div s'en trouve affectée, ce qui pose problème ;
  • d'une façon générale, comment se tirer des difficultés qu'entraîne (pour moi) le modèle standard du W3C concernant la taille des boîtes ?
  • comment centrer verticalement (avec des valeurs rationelles, et non déterminées empiriquement) la boîte encadrée en marron ?


Merci d'avance à ceux qui me liront, un plus grand merci encore à ceux qui me répondront (j'espère qu'il y en aura ;) !)
 
:hello:  
 

Code :
  1. <html>
  2. <head>
  3. <style type="text/css">
  4. body { margin : 0px ;
  5. background-color : black ; }
  6. #logo { border : solid 2px red ; height : 15% ; }
  7. #menu { border : solid 0px green ;
  8. background-color : green ; color : white ;
  9. width : 15% ; height : 85% ;
  10. float : left ;
  11. voice-family : "\"}\"" ; /* Box model hack, en cas de besoin */
  12. voice-family : inherit ;
  13. height : 84.1% ; } /* Décidément, le modèle W3C pour les boîtes est vraiment merdique...  
  14.   Pour une fois que ce que propose PetitMou est mieux ! AMHA bien sûr... */
  15. html>body #menu { height : 84.1% ; } /* Be nice to Opera 5 ! */
  16. #contenu { border : dashed 0.1px red ; /* Pourquoi le positionnement déconne complètement avec Mozilla  
  17.    si je mets 0px ? Bug ??? */
  18. background-color : blue ; color : white ;
  19. width : 85% ; height : 85% ;
  20. display : inline ;
  21. float : left ;
  22. text-align : center ; /* Pour contourner un bug de IE relatif au centrage, voir plus bas "#auCentre" */
  23. voice-family : "\"}\"" ; /* Box model hack, en cas de besoin */
  24. voice-family : inherit ;
  25. width : 84.9% ; height : 84% ; }
  26. html>body #contenu { width : 84.9% ; height : 84% ;  } /* Be nice to Opera 5 ! */
  27. #aGauche { border :  solid 0px black ;
  28. background-color : white ; color : black ;
  29. width : 33.31% ; height : 50% ;
  30. display : inline ;
  31. float : left ;
  32. text-align : left ;
  33. voice-family : "\"}\"" ; /* Box model hack, en cas de besoin */
  34. voice-family : inherit ;
  35. width : 20% ; }
  36. html>body #aGauche { width : 20% ; } /* Be nice to Opera 5 ! */
  37. #auMilieu { border :  solid 0px cyan ;
  38. background-color : cyan ; color : black ;
  39. width : 33.31% ; height : 50% ;
  40. display : inline ;
  41. float : left ;
  42. text-align : center ;
  43. voice-family : "\"}\"" ;
  44. voice-family : inherit ;
  45. width : 20% ; }
  46. html>body #auMilieu { width : 20% ; }
  47. #aDroite { border :  solid 0px maroon ;
  48. background-color : maroon ; color : white ;
  49. width : 33.31% ; height : 50% ;
  50. display : inline ;
  51. float : left ;
  52. text-align : right ;
  53. voice-family : "\"}\"" ;
  54. voice-family : inherit ;
  55. width : 20% ; }
  56. html>body #aDroite { width : 20% ; }
  57. #auCentre { border : solid 2px olive ;
  58. width : 50% ; height : 50% ;
  59. / * max-height : 100px ; Attribut OK pour Mozilla, pas pour IE6 */
  60. text-align : center ;
  61. margin : auto ; /* Première solution pour le centrage horizontal */
  62. /* margin-top : 25% ; */
  63. /* position : relative ; top : 50% ; left : 50% ; */ /* Deuxième solution pour le centrage horizontal... Mais
  64.      pourquoi diable "right : 50%" ne marche pas ??? */
  65. /* margin-left : -25% ; margin-top : -25% ; */ } /* Pourquoi le décalage en hauteur "margin-top : -25%" ne
  66.      donne pas le résultat que j'escompte ??? */
  67. </style>
  68. </head>
  69. <body>
  70. <div id="logo">
  71. Le logo
  72. <div id="aGauche">Contenu à gauche</div>
  73. <div id="auMilieu">Contenu au milieu</div>
  74. <div id="aDroite">Contenu à droite</div>
  75. </div>
  76. <div id="menu">
  77. Le menu
  78. </div>
  79. <div id="contenu">
  80. Le contenu...
  81. <div id="auCentre">
  82. J'aimerais que cette boîte soit au centre de la boîte qui la contient !
  83. </div>
  84. </div>
  85. </body>
  86. </html>
  87. <!-- Les doctype pour essayer les techniques de "DocType-switching"... Le comportement d'IE6 est vraiment... surprenant !
  88. <!DOCTYPE HTML PUBILC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
  89. <!DOCTYPE HTML PUBILC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
  90. <!DOCTYPE html PUBILC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
  91. <!DOCTYPE html PUBILC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
  92. //-->


Message édité par Al Batar le 01-11-2003 à 12:49:00
Reply

Marsh Posté le 01-11-2003 à 12:47:14   

Reply

Marsh Posté le 01-11-2003 à 14:01:25    

Alors déjà :
 
Au début : mettre : html,body { margin : 0px; padding: 0px; height: 100%;  
   background-color : black ; }
 
Ensuite pour ce qui est ce centrer verticalement une boite dans une autre, ce n'est pas possible avec les divs. C'est con, mais c'est comme ça. Il y a des ruses, mais toutes plus pourrites les unes que les autres...

Reply

Marsh Posté le 01-11-2003 à 16:33:26    

[...centrer verticalement...]
 
Oui, j'ai vu cela ! En farfouillant sur le forum, j'ai trouvé un thread de 2 pages où un "Castor", un "Super" et toi aviez abordé le sujet, vers la fin du mois d'août de cette année. Très instructif !  
 
J'y ai également trouvé quelque chose que j'avais déjà essayé avec le "overflow : auto". A ce propos, je me suis toujours demandé, sans trouver de réponse, s'il y avait moyen de faire en sorte que la zone en "auto-overflow" soit scrollable avec la molette de la souris...

Reply

Marsh Posté le 01-11-2003 à 16:37:16    

Hermes le Messager a écrit :

Alors déjà :
 
Au début : mettre : html,body { margin : 0px; padding: 0px; height: 100%;  
   background-color : black ; }


 
Au fait, qu'est-ce que cela est sensé apporter ? Je connais l'effet que la modification de ces attributs est censé donner, mais l'influence que cela aura sur les différents navigateurs, je le connais moins (et là, je n'ai actuellement qu'un Mozilla 1.4 à ma disposition).
 
Quant au centrage vertical, pourquoi la technique des marges négatives, pour critiquable qu'elle soit (je partage ton avis sur l'emploi de tables pour régler ce problème précis), échoue ? Horizontalement, ça va, verticalement, ça merde. Bizarre, non ?
 
Enfin, y'a-t-il un moyen de se débrouiller avec le modèle standard de boîtes du W3C pour indiquer des dimensions en % ET gérer convenablement les bordures ???
 
Merci !


Message édité par Al Batar le 01-11-2003 à 16:40:39
Reply

Marsh Posté le 01-11-2003 à 16:45:19    

Al Batar a écrit :


 
Au fait, qu'est-ce que cela est sensé apporter ? Je connais l'effet que la modification de ces attributs est censé donner, mais l'influence que cela aura sur les différents navigateurs, je le connais moins (et là, je n'ai actuellement qu'un Mozilla 1.4 à ma disposition).
 


 
Ben, réfléchi : Quand tu demandes à un div de faire 100% de hauteur ? C'est 100% de quoi ? Du body non ?  
Pour Opera, il faut mettre le html parce qu'il considère que c'est lui le parent ultime.
 

Reply

Marsh Posté le 01-11-2003 à 16:58:52    

Hermes le Messager a écrit :


 
Ben, réfléchi :  
 
Réfléchir... attend voir... c'est ce truc, là ? celui qu'on fait avec le cerveau ??? Fouyayaye, ça va encore me faire mal à mon neurone... ;) :D
 
Quand tu demandes à un div de faire 100% de hauteur ? C'est 100% de quoi ? Du body non ?  
 
Oh !!?!? Sans blague ??? Sérieusement, maintenant, je ne suis pas débile, et j'ai clairement indiqué savoir à quoi correspondaient les instructions CSS que tu donnes. Ce que je suis pour le moment incapable de prédire, c'est leur effet sur les différents navigateurs ! Et en plus, je n'ai pas de IE sous la main pour juger de leurs effets...
 
Pour Opera, il faut mettre le html parce qu'il considère que c'est lui le parent ultime.
 
OK, bon à savoir : merci ! Mais je repose ma question : avec le Moz1.4 que j'ai sous la main, rajouter ces instructions ne change strictement rien. A quel effet (bénéfique, j'espère) dois-je m'attendre avec MSIE et Opera ? Ca marchera mieux avec une DocType HTML Tansitional et IE6, par exemple ?


 
L'ironie mise à part (je m'en serais avantageusement passé ;) ), merci encore pour ta réponse !


Message édité par Al Batar le 01-11-2003 à 17:14:12
Reply

Marsh Posté le 02-11-2003 à 14:06:50    

Up !

Reply

Sujets relatifs:

Leave a Replay

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