Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
1596 connectés 

  FORUM HardWare.fr
  Programmation
  HTML/CSS

  Div central extensible

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

Div central extensible

n°1907859
laurent0
Posté le 23-07-2009 à 10:36:14  profilanswer
 

Bonjour, je ne trouve pas la solution à ce que je souhaite réaliser.
Je voudrai que mon site prenne toute la largeur de la page.
Sur mon site, j'ai un menu en colonne à gauche et un menu en colonne à droite, de 200px chacun.
Je voudrai que la div central s'étende en fonction de la place restant entre ces 2 menus.
Voici mon code.
 

Code :
  1. <div id="Partie2">
  2. <div id="Section4">Colonne gauche
  3. </div>
  4. <div id="Section5">Contenu
  5. </div>
  6. <div id="Section6">Colonne droite
  7. </div>
  8. </div>


 

Code :
  1. #Partie2{ /* main */
  2.    float: left;
  3.    border: 2px dotted yellow;
  4.    width: 100%;
  5.    }
  6. #Section4{ /* Colonne gauche */
  7.    float: left;
  8. width: 100px;
  9.    margin: 0 0 1.2em;
  10.    border: 1px dashed silver; }
  11. #Section5{ /* Contenu */
  12. padding: 10px 20px;
  13.     border: 1px dashed silver;
  14. width: 100%;
  15. float: left;
  16. }
  17. #Section6{ /* Colonne droite */
  18. float: right;
  19. width: 100px;
  20.    margin: 0 0 1.1em;
  21.    background-color: #eee; border: 1px dashed silver; }


 
Merci d'avance pour votre aide :)


Message édité par laurent0 le 23-07-2009 à 10:36:43
mood
Publicité
Posté le 23-07-2009 à 10:36:14  profilanswer
 

n°1907895
Pascal le ​nain
Posté le 23-07-2009 à 11:41:27  profilanswer
 

Hello,
 
Retire le 'width: 100%;' de #Section5.
 
C'est à cause du float que ca merde.
Actuellement tu lui demande de prendre toute la largeur du conteneur.
Alors évidement les barres de gauche et de droite sont obligé de passer à la ligne.  ;)


Message édité par Pascal le nain le 23-07-2009 à 11:52:46
n°1907902
laurent0
Posté le 23-07-2009 à 11:56:34  profilanswer
 

Merci pour ton aide!  
 
J'ai modifié, comme tu m'as dit mais lorsque le contenu de la section central est trop large, le menu de droite est décalé en dessous.  
Y a t-il une fonction css pour qu'il se mette toujours à droite du contenu et que le contenu prenne l'espace libre entre les 2 menus en fonction de la largeur de l'écran?
Et je n'ai pas trop envie d'utilisé de position absolue...
 
Merci d'avance


Message édité par laurent0 le 23-07-2009 à 11:56:49
n°1907906
Pascal le ​nain
Posté le 23-07-2009 à 12:01:38  profilanswer
 

Je n'ai pas de solution a te proposer.
La plupart des sites n'ont qu'une barre a gauche ou a droite, ou pas de barre du tout.
Ceux qui en ont des deux cotés utilisent un tableau, mais c'est un peu crade (exemple : analyse la mise en page de http://www.phpdebutant.org/)


Message édité par Pascal le nain le 23-07-2009 à 12:02:06
n°1908080
gatsu35
Blablaté par Harko
Posté le 23-07-2009 à 18:22:58  profilanswer
 

contexte de formatage power

Code :
  1. <div id="Partie2">
  2. <div id="Section4">Colonne gauche
  3. </div>
  4. <div id="Section6">Colonne droite
  5. </div>
  6. <div id="Section5">Contenu
  7.  tu verras je suis bien centré sans dépasser et je m'etends sur toute la page :D
  8. </div>
  9. </div>
  10. <style>
  11. #Partie2 {overflow:hidden; zoom:1;}
  12. #Section4 {float:left; width:100px; }
  13. #Section6 {float:right; width:100px;}
  14. #Section5 {overflow:hidden; zoom:1;background:blue;}
  15. </style>
 
Pascal le nain a écrit :

Je n'ai pas de solution a te proposer.
La plupart des sites n'ont qu'une barre a gauche ou a droite, ou pas de barre du tout.
Ceux qui en ont des deux cotés utilisent un tableau, mais c'est un peu crade (exemple : analyse la mise en page de http://www.phpdebutant.org/)


le code HTML de ce site est juste une horreur à ne pas imiter


Message édité par gatsu35 le 23-07-2009 à 18:23:58

---------------
Blablaté par Harko
n°1908218
Pascal le ​nain
Posté le 24-07-2009 à 10:39:45  profilanswer
 

héhé joli ;)
J'avais pas pensé à jouer sur l'overflow.

n°1908242
gatsu35
Blablaté par Harko
Posté le 24-07-2009 à 11:20:16  profilanswer
 

Pascal le nain a écrit :

héhé joli ;)
J'avais pas pensé à jouer sur l'overflow.


jouer sur le contexte de formatage :o, c'est l'overflow qui entraine le contexte de formatage


---------------
Blablaté par Harko
n°1908253
laurent0
Posté le 24-07-2009 à 11:59:26  profilanswer
 

je n'ai qu'une chose à dire magnifique. je désespérais et n'avais aucune envie de tout faire avec des tableaux :)
par contre encore une petite question, que signifie zoom:1???
 
Un grand merci à vous

n°1908257
gatsu35
Blablaté par Harko
Posté le 24-07-2009 à 12:18:21  profilanswer
 

c'est une propriété propre à IE6 et IE7 qui permet d'activer le haslayout sur les éléments HTML, et lorsqu'on active le haslayout, le contexte de formatage s'applique sur ces éléments.


---------------
Blablaté par Harko
n°1908324
laurent0
Posté le 24-07-2009 à 14:55:19  profilanswer
 

Je me suis réjouis un peu trop vite... sous firefox, rien ne s'affiche...?

mood
Publicité
Posté le 24-07-2009 à 14:55:19  profilanswer
 

n°1908329
gatsu35
Blablaté par Harko
Posté le 24-07-2009 à 15:12:39  profilanswer
 

montre tout ton code stp, code HTML et CSS, merci


---------------
Blablaté par Harko
n°1908336
laurent0
Posté le 24-07-2009 à 15:16:23  profilanswer
 

Voici, htlm et css
 

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. <link href="css/template.css" rel="stylesheet" type="text/css" />
  5. </head>
  6. <body>
  7. <div id="Partie1">
  8. <div id="top">top
  9. </div>
  10. <div id="breadcrumbs">breadcrumbs</div>
  11. </div>
  12. <div id="Partie2">
  13. <div id="Section1">Colonne gauche </div>
  14. <div id="Section3">Colonne droite</div>
  15. <div id="Section2">Contenu</div>
  16. </div>
  17. <div id="Partie3">
  18. <div id="footer">footer</div>
  19. </div>
  20. </body></html>


 

Code :
  1. body{
  2.    font-size: 12px;
  3.    font-family: Helvetica,Arial,sans-serif;
  4.    margin: 0 auto;
  5. }
  6. #Partie1{ /* header */
  7.    float: left;
  8.    width: 100%;
  9. }
  10. #top{ /* En-tête */
  11.    float: left;
  12.    width: 100%;
  13.    height:120px; 
  14.    background-image:url(../images/head.jpg);
  15.    background-repeat:no-repeat;
  16.    background-position:left ;
  17.    margin: 0;
  18. }
  19. #breadcrumbs{ /* Breadcrumbs */
  20. width: 100%;
  21. overflow: hidden;
  22. height:25px;
  23. font-family: Verdana;
  24. font-size: 12px;
  25. background-color:#F19A80;
  26. font-weight: bold;
  27. text-align: center;
  28. vertical-align: center;
  29. }
  30. #Partie2{ /* Partie principale */
  31. overflow:hidden;
  32. zoom:1;
  33.  
  34.    }
  35. #Section1{ /* Colonne gauche */
  36.    float: left;
  37. width: 179px;
  38. background-color:#6D4F4B;
  39. height:400px; 
  40.     background-image:url(../images/background_menu_left.gif);
  41.     background-repeat:no-repeat;
  42.     background-position:left top;
  43. }
  44. #Section2{ /* Contenu */
  45. overflow:hidden;
  46. zoom:1;
  47.     margin: 0 auto;
  48. background-image:url(../images/background_centre.gif);
  49. background-position:left top;
  50. height:400px;
  51. border-left: solid 1px #F19A80;
  52. border-right: solid 1px #F19A80;
  53. }
  54. #Section3{ /* Colonne droite */
  55. float: right;
  56. width: 180px;
  57. background-color:#6D4F4B;
  58. vertical-align: top;
  59. height:400px;
  60. }
  61. #Partie3{ /* Pied */
  62.    clear:both;
  63.    background-color: #red;
  64. }
  65. #footer{ /* Pied */
  66.    background-color: #red;
  67.    }
  68.  
  69. img {
  70. border: none
  71. }


 
Un grand merci pour votre aide!

n°1908377
gatsu35
Blablaté par Harko
Posté le 24-07-2009 à 15:51:05  profilanswer
 

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. <style type="text/css" media="screen">
  5. body{
  6.    font-size: 12px;
  7.    font-family: Helvetica,Arial,sans-serif;
  8.    margin: 0 auto;
  9. }
  10. #Partie1{ /* header */
  11. }
  12. #top{ /* En-tête */
  13.    height:120px;
  14.    background-image:url(../images/head.jpg);
  15.    background-repeat:no-repeat;
  16.    background-position:left ;
  17.    margin: 0;
  18. }
  19. #breadcrumbs{ /* Breadcrumbs */
  20.  overflow: hidden;
  21.  height:25px;
  22.  font-family: Verdana;
  23.  font-size: 12px;
  24.  background-color:#F19A80;
  25.  font-weight: bold;
  26.  text-align: center;
  27.  vertical-align: center;
  28. }
  29. #Partie2{ /* Partie principale */
  30.  overflow:hidden;
  31.  zoom:1;
  32. }
  33. #Section1{ /* Colonne gauche */
  34.     float: left;
  35.  width: 179px;
  36.  background-color:#6D4F4B;
  37.  height:400px;
  38.     background-image:url(../images/background_menu_left.gif);
  39.     background-repeat:no-repeat;
  40.     background-position:left top;
  41. }
  42. #Section2{ /* Contenu */
  43.  overflow:hidden;
  44.  zoom:1;
  45.     margin: 0 auto;
  46.  background-image:url(../images/background_centre.gif);
  47.  background-position:left top;
  48.  height:400px;
  49.  border-left: solid 1px #F19A80;
  50.  border-right: solid 1px #F19A80;
  51. }
  52. #Section3{ /* Colonne droite */
  53.  float: right;
  54.  width: 180px;
  55.  background-color:#6D4F4B;
  56.  vertical-align: top;
  57.  height:400px;
  58. }
  59. #Partie3{ /* Pied */
  60.    clear:both;
  61.    background-color: #red;
  62. }
  63. #footer{ /* Pied */
  64.    background-color: #red;
  65.    }
  66. img {
  67. border: none
  68. }
  69. </style>
  70. </head>
  71. <body>
  72. <div id="Partie1">
  73. <div id="top">top</div>
  74. <div id="breadcrumbs">breadcrumbs</div>
  75. </div>
  76. <div id="Partie2">
  77. <div id="Section1">Colonne gauche </div>
  78. <div id="Section3">Colonne droite</div>
  79. <div id="Section2">Contenu</div>
  80. </div>
  81. <div id="Partie3">
  82. <div id="footer">footer</div>
  83. </div>
  84. </body>
  85. </html>
 

je ne vois vraiment pas pourquoi tu fous sur le #top un float:left; width:100%; ça sert à rien à part créer des problèmes


Message édité par gatsu35 le 24-07-2009 à 15:51:52

---------------
Blablaté par Harko
n°1908746
laurent0
Posté le 27-07-2009 à 09:52:52  profilanswer
 

merci :)


Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Programmation
  HTML/CSS

  Div central extensible

 

Sujets relatifs
Positionnement de DIVDIV rebelle
Hauteur du site extensible[résolu] Div en overflow:auto, garder le focus en bas ?
[RESOLU]Affichage DIV sur place dispo avec ascensseur[batch] rapatrier automatiquement vers un serveur central des données
Menu en DIV (id ou class ?)Espace sous Div avec IE7
Comment ne charger qu'un DIV en cliquant sur un lien du menu ?Faire un titre avec fond extensible
Plus de sujets relatifs à : Div central extensible


Copyright © 1997-2022 Hardware.fr SARL (Signaler un contenu illicite / Données personnelles) / Groupe LDLC / Shop HFR