login  Naam:   Wachtwoord: 
Registreer je!
 Forum

Problemen met de combinatie van het uitvullen van een DIV over de pagina en een div met scrollbar (Opgelost)

Offline Metalhead - 28/12/2013 23:10 (laatste wijziging 28/12/2013 23:11)
Avatar van MetalheadHTML gevorderde Ik ben bezig om 1 van mijn websites aan te passen, maar ik krijg nu de globale structuur van de website niet voor elkaar.

Ik wil ongeveer zoiets;
  1. // ________________
  2. // | header |
  3. // +--------------+
  4. // |m| content ^|
  5. // |e| ||
  6. // |n| ||
  7. // |u| ||
  8. // |_|___________v|


Maar hoe ik de positions van de divs ook instel, ik krijg de height van het menu- en content-div niet goed.
Ze zijn altijd te klein (afhankelijk van de inhoud van zichzelf) of te groot (afhankelijk van het hele scherm, en dus 75 pixels buiten beeld) waardoor de pagina twee scrollbars krijgt...

Ik heb voor mezelf een hele simpele testpagina geschreven om de structuur te kunnen uitwerken, maar dit lukt me nog niet.

  1. <head>
  2. <title>Test</title>
  3. <style type="text/css">
  4. body {
  5. background-color: rgb(250, 250, 250);
  6. margin: 0;
  7. width: 100%;
  8. height: 100%;
  9. }
  10. #container {
  11. width: 100%;
  12. height: 100%;
  13. background-color: rgb(250, 250, 200);
  14. }
  15. #header {
  16. width: 100%;
  17. height: 75px;
  18. background-color: rgb(200, 250, 200);
  19. }
  20. #menu {
  21. float: left;
  22. width: 180px;
  23. height: 100%;
  24. min-height: 100%;
  25. background-color: rgb(200, 200, 200);
  26. }
  27. #content {
  28. overflow-y: scroll;
  29. height: 100%;
  30. min-height: 100%;
  31. background-color: rgb(200, 150, 200);
  32. }
  33. </style>
  34. </head>
  35. <body>
  36. <div id="container">
  37. <div id="header">Header</div>
  38. <div id="menu">Menu</div>
  39. <div id="content">
  40. <?php for ($i=0;$i<99;$i++) { echo "Regel".$i."<br>"; } ?>
  41. </div>
  42. </div>
  43. </body>
  44. </html>

5 antwoorden

Gesponsorde links
Offline UpLink - 28/12/2013 23:56
Avatar van UpLink ... Ik kom er eerlijk gezegd ook niet uit. Wat ik ook probeer met positionings, hij blijft die 2de scrollbalk geven.

Ik kan natuurlijk wel en de hoogtes aanpassen zodat die balk verdwijnt, maar dat is niet echt de bedoeling denk ik.

Er is iets met die header in ieder geval, want als ik die weg doe is die scrollbalk ook weg.

Hoe heb je dit voor elkaar gespeeld? 
Offline Thomas - 29/12/2013 00:00 (laatste wijziging 29/12/2013 00:01)
Avatar van Thomas Moderator Dit is een bekend probleem, ik had het ook (heel lang geleden). En ik had nog de moeilijkheid dat ik ook een footer wilde onderaan de pagina.

Anyway, de oplossing die mij te binnen schoot stond volgens mij bekend als "faux columns". Wat je in feite doet is het gebruik maken van een achtergrondplaatje die je doortrekt.

Maak een <breedte menu> x 1 pixel plaatje met je achtergrondkleur (metalhead.gif) voor je menu en gebruik de volgende HTML (ben ook zo vrij geweest om wat cleanup te doen):

  1. <title>Test</title>
  2. <style type="text/css">
  3. body {
  4. background: rgb(200, 150, 200) url(metalhead.gif) repeat-y;
  5. margin: 0;
  6. }
  7.  
  8. #container {
  9. }
  10.  
  11. #header {
  12. width: 100%;
  13. height: 75px;
  14. background-color: rgb(200, 250, 200);
  15. }
  16.  
  17. #menu {
  18. display: block;
  19. float: left;
  20. width: 180px;
  21. }
  22.  
  23. #content {
  24. display: block;
  25. float: left;
  26. }
  27. </head>
  28. <div id="container">
  29. <div id="header">Header</div>
  30. <div>
  31. <div id="menu"><?php for ($i=0;$i<2;$i++) { echo "Menu<br />"; } ?></div>
  32. <div id="content"><?php for ($i=0;$i<2;$i++) { echo "Content<br />"; } ?></div>
  33. </div>
  34. </div>
  35. </body>
  36. </html>


NB: Die divs bestrijken dus niet de hele pagina (worden niet uitgevuld), maar de achtergrondkleuren wel. Weet niet of dat een probleem is?

Algemeen: hoogtes zuigen, vooral in dynamische pagina's, dus bij voorkeur niet gebruiken. Tenzij je precies weet wat de hoogtes moeten zijn ofzo .

EDIT: Getest in IE, FF, Chrome. Ziet er allemaal OK uit ook als je de waarden in de loopjes aanpast.
Bedankt door: Metalhead, UpLink
Offline UpLink - 29/12/2013 00:03
Avatar van UpLink ... Ik wist niet dat dit een bekend probleem was. Dan weten we dat ook weeral natuurlijk he...

Thx voor de info FangorN  
Offline Metalhead - 29/12/2013 00:09
Avatar van Metalhead HTML gevorderde De originele pagina heeft geen kleuren, alles is met images (patronen)...

Maar ik heb toevallig het probleem ook net zelf opgelost (denk ik)...

Door de header absolute te maken, en de body een margin-top mee te geven ter grootte van de header, lukt het wel.

  1. <title>Test</title>
  2. <style type="text/css">
  3. body {
  4. background-color: rgb(250, 250, 250);
  5. margin: 0;
  6. margin-top: 75px;
  7. }
  8.  
  9. #container {
  10. width: 100%;
  11. height: 100%;
  12. background-color: rgb(250, 250, 200);
  13. }
  14.  
  15. #header {
  16. position: absolute;
  17. top: 0;
  18. width: 100%;
  19. height: 75px;
  20. background-color: rgb(200, 250, 200);
  21. }
  22.  
  23. #menu {
  24. float: left;
  25. width: 180px;
  26. height: 100%;
  27. min-height: 100%;
  28. background-color: rgb(200, 200, 200);
  29. }
  30.  
  31. #content {
  32. overflow-y: scroll;
  33. height: 100%;
  34. min-height: 100%;
  35. background-color: rgb(200, 150, 200);
  36. }
  37. </head>
  38. <div id="header">Header</div>
  39. <div id="container">
  40. <div id="menu">Menu</div>
  41. <div id="content">
  42. <?php for ($i=0;$i<99;$i++) { echo "Regel".$i."<br>"; } ?>
  43. </div>
  44. </div>
  45. </body>
  46. </html>


Ik kan me herinneren dat Internet Explorer anders omgaat met heights en dergelijke, maar aangezien ik geen Windows heb kan ik dat niet zelf testen.

Dat zou dus nog een probleem kunnen zijn.

Maar bedankt voor het meedenken!! 
Offline UpLink - 29/12/2013 00:47
Avatar van UpLink ... Je code net getest in IE11 en daar doet hij het ook zoals in Chrome en Firefox.

Probleem opgelost dus... 
Bedankt door: Metalhead
Gesponsorde links
Je moet ingelogd zijn om een reactie te kunnen posten.
Actieve forumberichten
© 2002-2024 Sitemasters.be - Regels - Laadtijd: 0.168s