Encooooore un problème de div et height...

Encooooore un problème de div et height... - HTML/CSS - Programmation

Marsh Posté le 24-03-2008 à 10:06:12    

Bonjour,  
 
DIV de M... C'est tellement plus simple avec des tables...  
 
J'aimerai faire un caneva en trois parties (gauche, haut, contenu). Le contenu peut être plus ou moins long.  
 
J'ai essayé ceci:  
 

Code :
  1. <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
  2. "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
  3. <html xmlns="http://www.w3.org/1999/xhtml">
  4.     <head>
  5.         <title>
  6.             Test...
  7.         </title> 
  8.         <style type="text/css" media="screen">
  9.             html, body
  10.             {
  11.                 margin: 0px;
  12.                 padding: 0px;
  13.                 height: 100%;
  14.             }
  15.             .left
  16.             {
  17.                 position: absolute;
  18.                 background-color: red;
  19.                 width: 150px;
  20.                 height: 100%;                 
  21.                 left: 0px;
  22.                 top: 0px;
  23.             }
  24.             .top
  25.             {
  26.                 position: absolute;
  27.                 background-color: green;
  28.                 top: 0px;
  29.                 left:150px;
  30.                 right: 0px;
  31.                 height: 150px; 
  32.             }
  33.             .variable
  34.             {
  35.                 color: white;
  36.                 background-color: purple;
  37.             }
  38.             .contener
  39.             {
  40.                 position: absolute;
  41.                 background-color: blue;
  42.                 top: 150px;
  43.                 left: 150px;
  44.                 right: 0px;
  45.                 bottom: 0px;
  46.             }
  47.         </style>
  48.     </head>
  49.     <body> 
  50.         <div class="left">LeftBar!</div>
  51.         <div class="top">TopBar!</div>
  52.         <div class="contener">
  53.             <div class="variable">Variable Box:Lorem ipsum dolor sit amet, consectetuer adipiscing elit. Sed eget orci eu mi interdum sollicitudin. Praesent blandit eros eu lectus. Donec eget turpis. Ut semper dignissim metus. Cras posuere posuere pede. Nullam enim. Etiam non augue. Duis ultrices mattis lectus. Donec sed nulla eget felis viverra luctus. Nunc a ligula. Pellentesque habitant morbi tristique senectus et netus et malesuada fames ac turpis egestas. Sed congue. Pellentesque libero. Aenean imperdiet imperdiet purus. Donec urna purus, tincidunt nec, dictum ac, condimentum a, nisi. Quisque vestibulum tempus elit. Sed pulvinar. Mauris elementum dui vel quam. Proin diam urna, viverra in, aliquet vel, rutrum eget, massa.</div>
  54.             Content...!
  55.             <p>Lorem ipsum dolor sit amet, consectetuer adipiscing elit. Cras orci tortor, porttitor bibendum, ullamcorper sed, semper ac, lacus. Proin nisi ligula, fringilla non, ullamcorper eget, vehicula ut, metus. Sed convallis ornare pede. Cum sociis natoque penatibus et magnis dis parturient montes, nascetur ridiculus mus. Sed auctor, velit eget adipiscing consequat, lectus libero condimentum est, sed posuere ipsum justo sit amet eros. Quisque non nibh non leo nonummy euismod. In nonummy leo et felis. Nullam pede massa, iaculis luctus, mollis sed, sagittis ut, dui. Aliquam vitae arcu in diam hendrerit euismod. Donec adipiscing tincidunt risus.</p>
  56.         </div>
  57.     </body>
  58. </html>


 
Le problème apparaît quand je réduit la taille de la fenêtre. Les ascenseurs apparaissent et lorsque je défile vers le bar, horreur, plus rien ne fonctionne.  
 
Avez-vous une idée lumineuse à proposer?

Reply

Marsh Posté le 24-03-2008 à 10:06:12   

Reply

Marsh Posté le 24-03-2008 à 19:43:55    

C'est vrai que ce tutorial est super intéressant. J'ai supprimé mes positionnement absolu mais mon problème persiste. Le problème est résolu dans l'exemple d'Alsa avec l'utilisation de "colonnes factices". Dans mon cas, c'est justement un artifice que je souhaite éviter.  
 
Une solution assez élégante est de fixer la propriété

overflow: auto;

au conteneur principal et

overflow: hidden;

pour le body. Le problème est partiellement résolu mais subsiste en si le contenu de la frame de gauche dépasse la hauteur de l'écran...  
 
Disons que j'ai bien avancé en ayant l'impression d'avoir beaucoup reculé...  
 
Voici la nouvelle version:

Code :
  1. <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
  2. "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
  3. <html xmlns="http://www.w3.org/1999/xhtml">
  4.     <head>
  5.         <title>
  6.             Test2...
  7.         </title> 
  8.         <style type="text/css" media="screen">
  9.             html, body
  10.             {
  11.                 margin: 0px;
  12.                 padding: 0px;
  13.                 height: 100%;
  14.                 overflow: auto;
  15.             }
  16.             .left
  17.             {
  18.                 float: left;
  19.                 background-color: red;
  20.                 width: 150px;
  21.                 height: 100%;
  22.                 left: 0px;
  23.                 top: 0px;
  24.             }
  25.             .contener
  26.             {
  27.                 background-color: blue; 
  28.                 height: 100%;
  29.                 top: 0px;
  30.                 right: 0px;
  31.             }
  32.             .top
  33.             {
  34.                 background-color: green;             
  35.                 right: 0px;
  36.                 height: 150px; 
  37.             }
  38.             .variable
  39.             {
  40.                 color: white;
  41.                 background-color: purple;
  42.             }
  43.         </style>
  44.     </head>
  45.     <body> 
  46.         <div class="left">LeftBar!
  47.        
  48.             <p>LOREM.</p>
  49.             <p>LOREM</p>
  50.             <p>LOREM</p>       
  51.         </div>
  52.         <div class="contener">
  53.            <div class="top">TopBar!</div>
  54.            <div class="variable">Variable Box: LOREM</div>
  55.             Content...!
  56.             <p>LOREM</p>
  57.             <p>LOREM</p>           
  58.             <p>LOREM</p>
  59.             <p>LOREM</p>           
  60.         </div>
  61.     </body>
  62. </html>


 
Je vous propose de remplacer

LOREM

par ce qui suit, cela m'évite de surcharger ce poste innutilement...  
 

Code :
  1. Lorem ipsum dolor sit amet, consectetuer adipiscing elit. Cras orci tortor, porttitor bibendum, ullamcorper sed, semper ac, lacus. Proin nisi ligula, fringilla non, ullamcorper eget, vehicula ut, metus. Sed convallis ornare pede. Cum sociis natoque penatibus et magnis dis parturient montes, nascetur ridiculus mus. Sed auctor, velit eget adipiscing consequat, lectus libero condimentum est, sed posuere ipsum justo sit amet eros. Quisque non nibh non leo nonummy euismod. In nonummy leo et felis. Nullam pede massa, iaculis luctus, mollis sed, sagittis ut, dui. Aliquam vitae arcu in diam hendrerit euismod. Donec adipiscing tincidunt risus

Reply

Sujets relatifs:

Leave a Replay

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