Her er en vigtig pointe: Lad os antage at du laver en 100 pixel bred ramme i venstre side, og 100 pixels bred i højre side. Eftersom du har en skærmopløsning på 800x600 så laver du den midterste ramme 600 pixels bred. Og det hele ser bare godt ud.., for dig. Min skærm er sat til en opløsning på 640x480. Den 100 pixel brede ramme du lavede på din side er nu 80 pixel bred på min skærm. Hvis du bruger absolutte størrelser i dine <FRAMESET> tags skal du ALTID efterlade mindst en * som en elastisk ramme. På den måde vil alting se godt ud for alle og der vil igen være fred i landet.
Dette er årsagen til et almindeligt problem med rammer, og jeg vil godt lige bruge lidt tid på at forklare det lidt uddybende. Et meget almindeligt Frame layout er en smal ramme i venstre side og en større i højre som her. Her er problemet... Hvis du deler windows ved hjælp af procenter (sådan her <FRAMESET COLS="15%,85%">) så vil alting sikkert se helt fint ud for dig. Men... for brugere med en anden skærmopløsning ser det måske sådan ud.
Grunden til at dette sker er at du har sat venstre ramme til at være 15%. 15% af hvad? 15% af hvad deres horisontale skærmopløsning er. Det betyder at venstre ramme vil se forskellig ud for forskellige brugere. Hvordan undgår jeg så det, spør' du? Jeg er glad for at du spurgte... Bare brug en fast størrelse for venstre ramme og lad den højre være elastisk (ligesom <FRAMESET COLS="120,*">). Bingo. Problem løst.
Det er altid en god ide at gøre denne absolutte størrelse en anelse større end den behøver at være. Giv indholdet i rammn lidt plads til at ånde. For eksempel, hvis 100 pixels udgør en passende, men tæt barbering... så lav rammen 120 eller 125 pixels.
En anvendelig og smertefri måde at tjekke dit layout er med et fikst lille værktøj Pos Ruler (191 Kb).
Du kan dog ikke regne 100% med det (det kan du ikke med noget af den slags), for det afhænger jo blandt andet både af, hvilke værktøjslinier du og dine brugere har aktiverede, og hvilken browser der anvendes (de har forskellige størrelser på værktøjslinier).
Vi kan lave flere end en ekstra rammer og vi kan specificere et størrelsesforhold mellem dem.
<FRAMESET COLS="50,*,2*"> <FRAME SRC="lina.html"> <FRAME SRC="anja.html"> <FRAME SRC="herdis.html"> </FRAMESET>SE DET
Oversat til noget forståeligt står her: Lav 3 frames. Gør den første 50 pixels bred. Del resten over ramme 2 og 3, men gør ramme 3 dobbelt så bred som ramme 2. Smid Lina i første ramme, Anja i den anden og Herdis iden tredie.
Det er vigtigt at bemærke, at alting gøres i rækkefølge. Første <FRAME> vises i overensstemmelse med den første størrelses-angivelse i <FRAMESET> tag'et (50/lina) anden med andet (*/anja) og tredie med tredie (2*/herdis). Jeg ved dette sikkert er bedøvende indlysende, men det er meget vigtigt og jeg ville gerne rette lidt ekstra opmærksomhed mod det.
Hvad nu hvis vi gerne vil dele Herdis i to, horisontalt? Husk at jeg sagde, at hvis du vil dele noget, så skal du gøre det i <FRAMESET> tag'et. Først erstatter vi Herdis med et par <FRAMESET> tags.
<FRAMESET COLS="50,*,2*"> <FRAME SRC="lina.html"> <FRAME SRC="anja.html"> <FRAMESET> </FRAMESET> </FRAMESET>
Nu har vi sagt til browseren: Lav 3 frames. Lav den første 50 pixels bred. Del resten mellem frame 2 og 3, men gør frame 3 dobbelt så stor som frame 2. Smid Lina i første ramme, Anja i den anden og den tredie deler vi yderligere op. Nu skal vi specificere hvordan vi vil dele frame 3.
Vi vil dele den midt over horisontalt.
<FRAMESET COLS="50,*,2*"> <FRAME SRC="lina.html"> <FRAME SRC="anja.html"> <FRAMESET ROWS="50%,50%"> </FRAMESET> </FRAMESET>
Og så tror jeg vi smider Herdis ind øverst og Tina i bunden. Og det er det.
<FRAMESET COLS="50,*,2*"> <FRAME SRC="lina.html"> <FRAME SRC="anja.html"> <FRAMESET ROWS="50%,50%"> <FRAME SRC="herdis.html"> <FRAME SRC="tina.html"> </FRAMESET> </FRAMESET>