frameheight 100%?

Status
Niet open voor verdere reacties.

relisys

Gebruiker
Lid geworden
18 mrt 2006
Berichten
8
Ik ben bezig met een site voor een camping, maar nu zit ik met een probleempje.
Ik heb 2 iframes met een vaste "height" en 1 die een variabele "height" moet hebben, om zo bij elke schermresolutie een schermvullende pagina te tonen. Als ik de "height" van dit frame echter op 100% zet, wordt deze te groot :rolleyes:
Het gaat om de volgende site: http://www.xs4all.nl/~bmokveld/test/
Bovendien vraag ik me af hoe ik enkel scrollbars in de frames kan laten zien ipv ook over de volledige hoogte van de pagina?
 
Als je echt met frames wilt werken, dan maak je, denk ik, beter een frameset waarin je dan de pagina's opent :

HTML:
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
<meta name="description" content="Welkom op de site van camping 'De Hof van Eeden'. Een camping prachtig gelegen aan de kagerplassen in Zuid Holland, temidden van de kleurrijke bloembollenvelden van de Bollenstreek." />
<meta name="keywords" content="camping, Hof, Eeden, Kaag, Kagerplassen, Leiden, Sassenheim, Lisse, Bollenstreek, Keukenhof, Watersport, Zeilen, kamperen bij de boer, activiteiten" />
<title>Welkom bij Camping "De Hof van Eeden"</title>
<style type="text/css">
<!--
body {
	background-color: #000099;
	margin:0;
}
-->
</style>
<frameset rows="125,120,*" frameborder="NO" border="0" framespacing="0">
  <frame src="navigatie.htm" name="navigatie" scrolling="NO" noresize >
  <frame src="fotobar.htm" name="foto" scrolling="NO" noresize>
  <frame src="welkom.htm" name="main">
</frameset>
</head>

<noframes><body>
</body></noframes>
</html>

Die ster zorgt ervoor dat het frame de rest van de pagina vult.
De scrolling="no" en noresize zorgen er voor dat je geen scrollbars krijgt in de respectievelijke frames en deze ook niet kunt veranderen van grootte als je de site bezoekt.

Greetz : Jer:cool:en.
 
Laatst bewerkt:
hmm... ok, maar ik was juist met iframes begonnen omdat iemand me vertelde dat framesets vaak problemen veroorzaakten en achterhaald waren?
En ik had met frameset het probleem dat het onderste frame een horizontale scrollbalk kreeg (zonder dat de inhoud te breed was) en dat hij daardoor versprong tov de andere frames...
 
frames zijn sowieso achterhaald. Ook iframes.

Als je server php ondersteunt gebruik dan
PHP:
<?
include ("header.html")
?>

En anders kan je het met javascript doen...
een pagina met frames is eigenlijk gewoon weg niet te vinden via google omdat hij niet alle pagina's indexeert. En ik ga er van uit dat een website van een camping er goed uit moet zien en ook te vinden is via google.

NOg een paar tips over de website
  • De foto's die veranderen.. (onder de header). Laat die wat vloeiender schuifen het is erg onrustig
  • Bij mij is je frame maar iets van 250px hoog. En dat is niet bepaald fijn. (Camino Macintosh, dit zal ook wel bij firefox, opera etc. zijn)
 
probleem is dat ik weinig ervaring heb met het bouwen van sites:rolleyes:
en die foto's moeten idd nog vloeiender, maar wilde eerst de basis van de site goed hebben...
dus ik zou niet weten hoe ik een site met deze layout zonder frames zou moeten maken.
aangezien alleen het onderste deel moet veranderen, met evt die foto's tegelijkertijd
 
je hebt geen ervaring en toch bouw je een website voor iemand? :confused: , misschien moet je eerst zelf websites maken, oefenen, fouten maken en dan pas voor iemand een website maken ;)
Of is het je eigen camping?
 
Het betreft de camping waar mijn ouders een seizoensplaats hebben.
Er is eerder door iemand een site ontworpen (www.dehofvaneeden.nl),
maar aangezien hier veel commentaar op is (en ik hem zelf ook niet erg stylish vind) heb ik besloten om een nieuw ontwerp te maken.
Dit aangezien de eigenaar ook wel in is voor vernieuwing.
Het bouwen van de site is voor mij dus meer een hobby, aangezien ik mij verder wil verdiepen in het bouwen van sites, maar wel iets wil maken wat nut heeft.
 
Laatst bewerkt:
100% voor een hoogte-eigenschap is niet officieel ondersteund dus je kan beter zelf een vast aantal pixels reserveren (ongeveer 580-600px is praktisch gezien het maximum). Wil je een segment daarvan uitrusten met een verticale scrollbar dan is een <div> element met een vaste breedte en hoogte en daarbij de overflow eigenschap op 'auto' het handigst, bijvoorbeeld:

Code:
<div align="left" style="width : 600px; height : 430px; overflow : auto;">Je tekst, plaatjes, tabellen etc. hier</div>

Een voorbeeld vind je op mijn eigen site http://ma.rkus.nl/
 
ok, bedankt voor je antwoord...
maar als ik eerlijk moet zijn vind ik je site aan de kleine kant.:rolleyes:
Als je op zo'n resolutie werkt is het handig dat de site passend is, maar ik ga er eiglijk vanuit dat men tegenwoordig tog wel op 1024*768 of hoger draait!
Echter wilde ik de site voor elke bezoeker aangenaam houden, vandaar het werken met %...
Hoe zou ik dit kunnen doen?


Ik heb het trouwens ff snel geprobeerd met die code voor de frameset... werkt op zich heel leuk, zolang er geen scrollbalk nodig is! Is dit het geval, dan krijg je ook direct een horizontale scrollbalk, met als gevolg een site waarvan het onderste frame verspringt zoals dit:
...|------|
...|------|
|------|

(puntjes heb ik gebruikt omdat het verspringen anders niet getoond werd)
 
Laatst bewerkt:
relisys zei:
Als je op zo'n resolutie werkt is het handig dat de site passend is, maar ik ga er eiglijk vanuit dat men tegenwoordig tog wel op 1024*768 of hoger draait!
Hou er rekening mee dat het browservenster vanwege menu-, adres-, en knoppenbalken al gauw een stuk kleiner is dan die 1024 * 768, vooral in het verticale vlak.

Mijn site wou ik zelf graag klein houden, maar het was ook maar even als voorbeeld bedoeld om te laten zien hoe je zonder frames tóch scrollbalken kan maken :)

Het feit dat de hoogte-eigenschap niet in procenten kan worden gedefinieerd zal je in ieder geval parten blijven spelen; HTML is simpelweg niet gemaakt om inhoud verticaal te schalen.
 
het is dus in feite niet mogelijk om een site verticaal altijd paginavullend te krijgen?
 
zou iemand dan kunnen uitleg (of een site geven) met een oplossing om dan een deel van de pagina te vernieuwen/vervangen bij het klikken op een hyperlink.
want ik weet zelf nog niet hoe ik dit zonder frames moet doen:o
 
Een opzet met DIV elementen is nogal anders dan met frames; je kan de inhoud van een div namelijk niet los van de rest van de pagina verversen (tenzij je heel moeilijk met JavaScript gaat zitten doen maar dat is eigenlijk geen optie).

Het leukst (en meest praktisch; het gebruik van DIVs kunnen we dan direct weer laten vallen) is om PHP te gaan gebruiken. We kunnen daar heel simpel mee beginnen. Neem bijvoorbeeld de code van Rimsic:
PHP:
<? 
include ("header.html") 
?>
Wat dit in feite doet is dat het header.html inleest en in een nieuwe pagina plakt. Dit is dus precies wat we nodig hebben: een deel van de pagina die aan de bezoeker wordt gepresenteerd is standaard, de rest is steeds weer anders.

Om het werkend te krijgen hebben we een aantal zaken nodig:
  • Een server die PHP ondersteunt (ik kon zo gauw niet ontdekken of XS4All dat doet)
  • Eén of meerdere onderdelen die de standaardlayout van de site vormen (bijvoorbeeld header.html en footer.html)
  • Een .php-bestand dat de layout en de inhoud samenvoegt

Het eerste item zal je zelf even moeten checken. Het tweede kan ik je alvast een beetje voorkauwen. In header.html zetten we wat bovenaan iedere pagina op jouw site moet komen, dus het logo + het menu + de foto's:
Code:
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
"http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
<title>Untitled Document</title>
<link href="css.css" rel="stylesheet" type="text/css">
</head>

<body>
<table width="100%"  border="0" cellspacing="0">
  <tr>
    <td><div align="left"><img src="caravan.gif" width="177" height="100" hspace="10"></div></td>
    <td><div align="center"><img src="tekst.gif" width="274" height="62"></div></td>
    <td><div align="right"><img src="zeilboot.gif" width="105" height="100" hspace="10"></div></td>
  </tr>
  <tr>
    <td colspan="3"><table border="0" align="center" cellspacing="0">
      <tr>
        <td class="navi"><a href="welkom.htm" target="main">Home</a></td>
        <td class="navi"><a href="activiteiten.htm" target="main">Activiteiten</a></td>
        <td class="navi"><a href="welkom.htm" target="main">Foto's</a></td>
        <td class="navi"><a href="welkom.htm" target="main">Zeiluitslagen</a></td>
        <td class="navi"><a href="welkom.htmm" target="main">Over de Camping </a></td>
        <td class="navi"><a href="welkom.htmm" target="main">Top 20 </a></td>
        <td class="navi-right"><a href="welkom.htm" target="main">Links</a></td>
      </tr>
    </table></td>
  </tr>
</table>

<OBJECT classid="clsid:D27CDB6E-AE6D-11cf-96B8-444553540000"
 codebase="http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=6,0,0,0"
 WIDTH="1100" HEIGHT="120" id="fotobar" ALIGN="">
 <PARAM NAME=movie VALUE="fotobar.swf"> <PARAM NAME=quality VALUE=high> <PARAM NAME=bgcolor VALUE=#FFFFFF> <EMBED src="fotobar.swf" quality=high bgcolor=#FFFFFF  WIDTH="1100" HEIGHT="120" NAME="fotobar" ALIGN=""
 TYPE="application/x-shockwave-flash" PLUGINSPAGE="http://www.macromedia.com/go/getflashplayer"></EMBED>
</OBJECT>
Merk op dat ik de "fotobar" alvast hierbij heb getrokken.

Als we dan toch bezig zijn kunnen we ook footer.html gauw opzetten:
Code:
</body>
</html>
Deze is nu erg simpel (want we hoeven alleen maar de HTML-code netjes af te sluiten), maar je kan zelf als je dat wil altijd nog wat toevoegen, bijvoorbeeld in de trant van "Copyright relisys 2006".

Om nu de uiteindelijke pagina die aan de bezoeker gepresenteerd wordt op te stellen gaan we PHP gebruiken. Maak een bestand index.php en zet dit daarin:
PHP:
<?
include("header.html");
?>

Hallo wereld!

<?
include("footer.html");
?>
De vraagtekens zijn er om de server duidelijk te maken wat PHP-code is en wat niet. Zoals je denk ik wel begrijpt pakt het script alles uit header.html, plakt het onze tekst erbij en sluit het het geheel af met footer.html

Zet index.php bij de .html-bestanden op de server en zie het resultaat :)



Om nu het "Hallo wereld"-gedeelte te variëren gaan we ook dát stuk uit een los HTML-bestand halen; index.php pakt dan dus eerst header.html, dan verhaaltje-over-de-camping.html (ik noem maar wat) en dan footer.html

Zie mijn volgende post :p
 
Laatst bewerkt:
Stel je hebt een pagina met Activiteiten en eentje met Zeiluitslagen. We gaan nu alles vanuit één centrale pagina regelen dus we pakken index.php er weer bij, maar nu ziet die er iets anders uit:
PHP:
<?
include("header.html");

switch ($_GET["pagina"]) {
    case "activiteiten":
        include "activiteiten.html";
        break;
    case "zeiluitslagen":
        include "zeiluitslagen.html";
        break;
}

include("footer.html");
?>
Voor meer over hoe zo'n switch werkt: http://nl2.php.net/switch

Ik hoop dat je nu begrijpt dat je de inhoud over de activiteiten in activiteiten.html zet; evenzo voor de zeiluitslagen.

Enige wat we nog moeten doen is die variabele $_GET["pagina"] definiëren, en dat doen we via de links in je menu: de href voor je activiteitenpagina wordt "index.php?pagina=activiteiten" en die voor de uitslagen dan natuurlijk "index.php?pagina=zeiluitslagen".

De basics moeten zo goed werken. Helemaal naadloos is dit systeem nog niet (wat als we nu "index.php?pagina=ietsanders" opvragen? hint: switch -> default ;)) maar het begin is er.
 
xs4all ondersteunt geen php helaas:(
iemand nog een andere mogelijkheid?
 
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan