ugrás a tartalomhoz

height: 100%, tartalom nélkül is

TIV · 2010. Már. 4. (Cs), 14.52
Sziasztok!

Érdekes problémám van. Adott:

- Egy fix magas header
- Alatta két oszlop, egyik 190px, a másik a maradék területen van.

Egyszerűen nem tudom megoldani, hogy ennek a két oszlopnak a magassága lenyúljon a böngésző aljáig és ne tovább. faux oszlopokkal nem jó, nem csak azt a látszatot kell kelteni-e, hogy leér az aljáig, hanem valóban ott kellene a végének lenni, mert lesznek benne div-ek, amiknek szintén height: 100% tulajdonságuk lesz.

Odáig sikerült megcsinálni, hogy az oszlopok lenyúlnak, de sajnos tovább nyúlnak, mint a böngésző, mégpedig pontosan a header kép magassával lóg túl. Hogy lehetne ezen javítani?

Nagyon köszönöm!
 
1

Padding?

zila · 2010. Már. 4. (Cs), 16.17
Nem küldtél kódot vagy még inkább url-t egy teszt lapra, így csak vaktában lehet lődözni...

Az én vaklövésem:
Az oszlopaid kezdődjenek a lap tetején, a header lebegjen fölöttük z-index > oszlop z-index (ez csak akkor kell, ha az oszlopoknak van háttere/kerete) aztán az oszlopok tartalmát meg padding-gal nyomod a header alá.
2

jó ötlet, deeee

TIV · 2010. Már. 4. (Cs), 16.51
Szia!

Az oldalamnak hasonló ehhez a felépítése. Nagyon jól megmutatja a hibát, pontosan a header magasságával lóg ki a böngészőből az oldal. próbáltam megcsinálni ahogy ajánlatottad, de ugyanaz lett a gond (lehet Neked sikerül!!!). Ha kiszedem a headert, a #menu, #content, #inner-wrap elemek minden padding-top, margin-top beállításra ugyanúgy reagálnak. Amennyivel lejjebb tolom őket, annyival fognak kilógni az oldal a böngészőből. Helyettem beszéljen a példa....

ELŐRE IS KÖSZÖNÖM!!!!!!!!!!!

PÉLDA A PROBLÉMÁRA ITT!

ui: a zöld divnek, hogy tudnék olyan width-et adni, hogy kitöltse a képernyőt jobbfele?

KÖSZÖNÖM!
6

valami ilyesmi

zila · 2010. Már. 4. (Cs), 17.13
No kicsit szüttyögtem vele :)
Nem annyira szép de jobbat nem tudtam kitalálni, csak Safariban teszteltem.
  1. <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">  
  2. <!-- saved from url=(0029)http://nezopont.eu/pelda.html -->  
  3. <HTML xmlns="http://www.w3.org/1999/xhtml">  
  4. <HEAD><META http-equiv="Content-Type" content="text/html; charset=utf8">  
  5. <STYLE type="text/css">   
  6. body, html {  
  7.   margin: 0;  
  8.   padding: 0;  
  9.   height: 100%;  
  10. }  
  11. #wrap {  
  12.   height: 100%;  
  13. }  
  14.   
  15. #header {  
  16.   background-color: blue;  
  17.   height: 100px;  
  18.   position: absolute;  
  19.   left: 0;  
  20.   top: 0;  
  21.   z-index: 100;  
  22.   width: 100%;  
  23. }  
  24. #inner-wrap {  
  25.   height: 100%;  
  26. }  
  27. #menu {  
  28.   width: 200px;  
  29.   background-color: red;  
  30. }  
  31. #menu, #content {  
  32.   float: left;  
  33.   height: 100%;  
  34. }  
  35. #content {  
  36.   background-color: green;  
  37. }  
  38. .content-spacer {   
  39.   padding-top: 100px;  
  40. }  
  41. </STYLE>  
  42. </HEAD>  
  43. <BODY>  
  44.   <DIV id="wrap">  
  45.     <DIV id="header">fejléc</DIV>  
  46.     <DIV id="inner-wrap">  
  47.       <DIV id="menu">  
  48.         <div class="content-spacer">menu</div></DIV>  
  49.       <DIV id="content">  
  50.         <div class="content-spacer">tartalom</div></DIV>  
  51.     </DIV>  
  52.   </DIV>  
  53. </BODY>  
  54. </HTML>  
3

egyszerű

Blazé · 2010. Már. 4. (Cs), 16.53
tegyél a body-ra és a html-re is min-height=100%-ot, ugyanis minden elem aminek ezt a magasságot adtad meg a szülőjének a magasságát veszi 100%nak, na most ha egy divnek ezt adtad meg azt még nem mondtad meg neki hogy mihez képest 100%.

szal lényeg hogy body és html is legyen 100%-on.

edit: bár ahogy látom megpróbáltad ezt, akkor fogalmam sincs.
4

vélemény

TIV · 2010. Már. 4. (Cs), 17.08
Gyakorlatilag egész nap ezzel foglalkoztam és úgy gondolom, hogy amit akarok táblázatok nélkül nem lehet megcsinálni. Itt van egy jónak tűnő megoldás, ami a divekre display: table-t rak és úgy dolgozik velük mintha táblázatok lennének. Elég bonyolultnak néz ki elsőre, de működik!

http://ago.tanfa.co.uk/css/layouts/css-3-column-layout-v1.html

ui: ha valaki megmondja az én verziómat, hogy lehet kijavítani, annak fejet hajtok! Köszönöm!
5

A #wrap-nek adj egy overflow:

LeGaS · 2010. Már. 4. (Cs), 17.10
A #wrap-nek adj egy overflow: hidden; tulajdonságot.
7

DEJÓÓÓ!

TIV · 2010. Már. 4. (Cs), 17.28
Remek! Köszönöm! és, hogy tudnám a zöld divre rábeszélni, hogy az oldal széléig kimenjen? mert width: 100% -ra aládobja a bal oldali div alá.

Nagyon köszönöm! Ügyes vagy!
8

yeah

zila · 2010. Már. 4. (Cs), 17.37
ÁÁÁÁÁÁ, tudtam, hogy van egy pofon egyszerű megoldás :)
Na akkor az én fenti cuccom felejtős, bonyolultabb markup, bonyolultabb css -> nem jó.
9

MEGOLDÁS

TIV · 2010. Már. 4. (Cs), 17.56
Megvan! A bal oldali divet kell csak float-olni, a jobb sima div, aminek van egy padding-left: 200px tulajdonsága. (200px, mert a bal oldali div is 200px). Semmi width: 100% NEM KELL!

Itt a megoldás:
  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">   
  5. body, html {  
  6.   margin: 0;  
  7.   padding: 0;  
  8.   height: 100%;  
  9. }  
  10. #wrap {  
  11.  height: 100%;  
  12.  overflow: hidden;  
  13. }  
  14. #header {  
  15.   background-color: blue;  
  16.   height: 100px;  
  17. }  
  18. #inner-wrap {  
  19.   height: 100%;  
  20. }  
  21. #menu {  
  22.   width: 200px;  
  23.   background-color: red;  
  24.   float: left;  
  25.   height: 100%;  
  26. }  
  27. #content {  
  28.   background-color: green;  
  29.   height: 100%;  
  30.   padding-left: 200px;  
  31. }  
  32. </style>  
  33. </head>  
  34.   
  35. <body>  
  36.   <div id="wrap">  
  37.     <div id="header"></div>  
  38.     <div id="inner-wrap">  
  39.       <div id="menu">menu</div>  
  40.       <div id="content">tartalom</div>  
  41.     </div>  
  42.   </div>  
  43. </body>  
  44. </html>  
Köszönöm mindenkinek!