[CSS] Height 100% - 150px

Pagina: 1
Acties:

Acties:
  • 0 Henk 'm!

  • Xardas
  • Registratie: Juli 2002
  • Laatst online: 18-09 15:08
Ik ben er ondertussen al een week mee bezig, maar ik kom er niet uit. Ik ben een site aan het maken waarin de header een fixed height heeft van 150px. Vervolgens moet daaronder een div komen die vanaf de header tot aan de grond bedekt. Zoals:
100%-150px

Normaal doe ik dit via 100% height, maar dan steekt de pagina 150px uit aan de onderkant. Is er een manier om 100% - 150px te doen? Verschillende sites kunnen me geen duidelijk antwoord geven...

The story so far: In the beginning the Universe was created. This has made a lot of people very angry and been widely regarded as a bad move.


Acties:
  • 0 Henk 'm!

  • _JGC_
  • Registratie: Juli 2000
  • Laatst online: 13:09
Kan je niet gewoon een div met 100% hoogte maken en daar je header bovenaan in zetten? Andere optie is met negatieve margin-top te werken.

Acties:
  • 0 Henk 'm!

  • ReseTTim
  • Registratie: Juni 2000
  • Laatst online: 19-09 13:26

ReseTTim

Chocolate addicted

container maken met met een height van 100%, vervolgens daar een fixed div in plaatsen met een height van 150px. problem solved ;) :D

spuit 11 eigenlijk :/

evt 3 div's maken..

HTML:
1
2
3
4
<div id="container">
<div id="header"></div>
<div id="content"></div>
</div>


Cascading Stylesheet:
1
2
3
4
5
6
7
8
9
10
11
#container{
height: 100%;
}

#header{
height: 150px;
}

#content{

}


zoiets bijv ;)

[ Voor 50% gewijzigd door ReseTTim op 05-07-2009 17:30 ]

Mijn profiel - Te koop: Overzicht van spullen..


Acties:
  • 0 Henk 'm!

  • Xardas
  • Registratie: Juli 2002
  • Laatst online: 18-09 15:08
Bij nader inzien heb ik mijn probleem niet volledig uitgelegd. Ik heb een container met 100% height, vervolgens zit daarin een header met 150px en een div genaamd content die een dynamische percentage moet hebben.
In de div content wordt via PHP een pagina in geladen die een scrollbar laat zien aan de rechterkant indien deze groter is. De content-div is dus de enige met een scrollbar, niet de container.

deel2

[ Voor 12% gewijzigd door Xardas op 05-07-2009 17:37 ]

The story so far: In the beginning the Universe was created. This has made a lot of people very angry and been widely regarded as a bad move.


Acties:
  • 0 Henk 'm!

Verwijderd

Zelf had ik een soort gelijk probleem in het verleden opgelost in combinatie met een javascript.

Het javascript leest de totale hoogte uit en geeft de totale hoogte - header terug aan de content. Alleen nog even het resizen van het venster ondervangen met een onresize op de body en je bent klaar.

Hier is mijn code.
code:
1
2
3
4
5
6
7
8
9
<script type="text/javascript">
      function test() {
        var divah = document.getElementById('HTML').offsetHeight;
        divah = divah - 150;
        document.getElementById('content').style.height = divah+"px";
      }
</script>

<body id="HTML" onload="test();" onresize="test();">


De content kun je vervolgens een overflow: scroll meegegeven.

Acties:
  • 0 Henk 'm!

  • _JGC_
  • Registratie: Juli 2000
  • Laatst online: 13:09
Behalve javascript, of meer van hetzelfde: expressions, is er, uitgezonderd frames gebruiken, geen CSS/HTML oplossing voor dit probleem. Misschien dat ik het mis heb, maar anders hoor ik het graag :)

[ Voor 18% gewijzigd door _JGC_ op 05-07-2009 22:41 ]


Acties:
  • 0 Henk 'm!

Verwijderd

Denk dat je anders uit gaat komen op een tabellen layout. Tabel 100% hoogte geven. Een div met scrollbalk erin plaatsen. Maar dan zou ik persoonlijk nog steeds voor de javascript oplossing kiezen.

Andere oplossingen (los van frames) zijn er zover ik weet niet.

[ Voor 3% gewijzigd door Verwijderd op 05-07-2009 22:59 ]


Acties:
  • 0 Henk 'm!

Verwijderd

_JGC_ schreef op zondag 05 juli 2009 @ 22:40:
Behalve javascript, of meer van hetzelfde: expressions, is er, uitgezonderd frames gebruiken, geen CSS/HTML oplossing voor dit probleem. Misschien dat ik het mis heb, maar anders hoor ik het graag :)
http://www.mennovanslooten.nl/blog/post/71

Truc is position:absolute gebruiken en een top+bottom property opgeven i.p.v. height, dan wordt de hoogte dynamisch.

Acties:
  • 0 Henk 'm!

  • _JGC_
  • Registratie: Juli 2000
  • Laatst online: 13:09
Ah, heb daar wel eens iets over gelezen idd, maar nadeel is dat niet alle browsers dat snappen. Die browsers snappen dan wel weer expression CSS-properties overigens.

Acties:
  • 0 Henk 'm!

Verwijderd

Interessant artikel, als ik een gaatje weet te vinden komende week ga ik het eens testen. Was nog niet bekend met deze techniek. Maar in hoeverre wordt deze techniek ondersteund door Opera, Chrome en FireFox? Artikel is redelijk toe gespitst op IE.

Acties:
  • 0 Henk 'm!

  • _JGC_
  • Registratie: Juli 2000
  • Laatst online: 13:09
Opera, Chrome, Firefox en dergelijke ondersteunen gewoon absolute positionering met vaste left/right waarbij de hoogte en/of breedte automatisch worden uitgerekend. IE6 en IE7 kunnen dit niet, maar die hebben de "expression" css property, wat eigenlijk niet veel anders is dan de javascript methode van een paar posts hierboven.

Acties:
  • 0 Henk 'm!

  • tonyisgaaf
  • Registratie: November 2000
  • Niet online
Hier is een standaard fixed header layout. En hier nog één, maar dan zonder dat IE6 in quirks mode hoeft te staan.
En anders gewoon een keer Googlen op "fixed header css"

[ Voor 24% gewijzigd door tonyisgaaf op 06-07-2009 00:07 ]

NL Weerradar widget Euro Stocks widget Brandstofprijzen widget voor 's Dashboard


Acties:
  • 0 Henk 'm!

Verwijderd

_JGC_ schreef op zondag 05 juli 2009 @ 23:53:
IE6 en IE7 kunnen dit niet, maar die hebben de "expression" css property, wat eigenlijk niet veel anders is dan de javascript methode van een paar posts hierboven.
IE7 kan het wel maar alleen in standards mode. Je hoeft de css expressions alleen voor IE6 te gebruiken.

Acties:
  • 0 Henk 'm!

  • Mike2k
  • Registratie: Mei 2002
  • Laatst online: 22-08 11:59

Mike2k

Zone grote vuurbal jonge! BAM!

Verwijderd schreef op zondag 05 juli 2009 @ 23:13:
[...]

http://www.mennovanslooten.nl/blog/post/71

Truc is position:absolute gebruiken en een top+bottom property opgeven i.p.v. height, dan wordt de hoogte dynamisch.
Zelf ben ik niet zo'n fan van absolute positioning omdat dit ervoor zorgt dat alle andere divs niet meer weten dat die div er is en je dus met margins moet gaan werken wat ervoor zorgt dat je pagina niet lekker sized op kleinere schermen...


Je kan toch gewoon doen:
code:
1
bottom: 0px;

en dan de height weghalen ?

[ Voor 83% gewijzigd door Mike2k op 06-07-2009 09:21 ]

You definitely rate about a 9.0 on my weird-shit-o-meter
Chuck Norris doesn't dial the wrong number. You answer the wrong phone.


Acties:
  • 0 Henk 'm!

  • Xardas
  • Registratie: Juli 2002
  • Laatst online: 18-09 15:08
Verwijderd schreef op zondag 05 juli 2009 @ 23:13:
[...]

http://www.mennovanslooten.nl/blog/post/71

Truc is position:absolute gebruiken en een top+bottom property opgeven i.p.v. height, dan wordt de hoogte dynamisch.
Tof! Het werkt! Geniaal. Die met Javascript werkt ook, bedankt nogmaals voor het helpen! Mijn voorkeur gaat nu echter wel naar de CSS oplossing uit. Helaas is de site dan niet validated, maar je kunt niet alles hebben ;)

The story so far: In the beginning the Universe was created. This has made a lot of people very angry and been widely regarded as a bad move.

Pagina: 1