Avatar billede richardski Praktikant
01. september 2008 - 12:07 Der er 17 kommentarer og
1 løsning

Automatisk tilretning af skærmstørrelser?

Hejsa.
Jeg har lavet en hjemmeside med 3 frames (venstre/midt/højre) og det ser fint ud på widescreen og hele hjemmesiden vises på een gang som også er planen. Men på de som stadig bruger de gamle firkantede tft skærme ses kun en 3-del af hjemmesiden og de må så scrolle hen for at se resten af hjemmesiden. Kan nogle hjælpe mig med et tips til at få siden vist til den opløsning og skærmstørrelse man nu engang har rundt om i denne verden?

På forhånd tak!
Avatar billede w13 Novice
01. september 2008 - 12:37 #1
Så må du sætte højde og bredde i procent. Så tilpasset frames'ene.
Avatar billede richardski Praktikant
01. september 2008 - 13:00 #2
Hej og tak for svar :-)

Hvordan sætter jeg højde og bredde i procent så de passer til mene frames?
Avatar billede keysersoze Guru
02. september 2008 - 00:00 #3
kom med koden til dit frameset - så kan vi se.
Avatar billede richardski Praktikant
02. september 2008 - 09:34 #4
Jeg formoder det du beder om er det index.html som viser de 3 frames jeg benytter på min hjemmeside og den har du herunder :-)


<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Frameset//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-frameset.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>Powernab</title>
</head>

<frameset rows="*" cols="*,315" framespacing="5" frameborder="yes" border="5" bordercolor="#99FF33">
  <frameset rows="*" cols="320,*" framespacing="5" frameborder="yes" border="5" bordercolor="#99FF33">
    <frame src="venstre.html" name="leftFrame" scrolling="No" noresize="noresize" id="leftFrame" title="leftFrame" />
    <frame src="midt.html" name="mainFrame" id="mainFrame" title="Powernab" />
  </frameset>
  <frame src="hojre.html" name="rightFrame" scrolling="No" noresize="noresize" id="rightFrame" title="hojre" />
</frameset>
<noframes><body>
</body>
</noframes></html>
Avatar billede keysersoze Guru
02. september 2008 - 09:48 #5
hvis vi kigger på fx cols="*,315" så betyder det er den del af dit frameset er delt op i to - en med den faste bredde 315px og en der har resten. Hvis du i stedet skriver fx  cols="*,20%" så modtager den ene del 20% og den del resten hvilket betyder at forholdet altid vil være ens. Men det lyder mere som om at du måske bare skal sætte bredden til en fast størrelse på den frame der reelt indeholder noget - svært at sige uden at kende siden.

Det er iøvrigt ikke skærmen type eller størrelse der styrer hvordan din side vises - ene og alene er det skærmens opløsning.
Avatar billede richardski Praktikant
02. september 2008 - 10:15 #6
Det forstår jeg ikke helt. Hjemmesiden er delt op i 3 frames/kolonner kaldt venstre, midt og hojre (tdex.html), så der skal vel angives en værdi/procent for hver frame/kolonne?
Avatar billede richardski Praktikant
02. september 2008 - 10:21 #7
Der skulle stå www.tdex.html ;-)
Avatar billede richardski Praktikant
02. september 2008 - 10:24 #8
nyt link så du kan se hvad jeg mener (http://www.powernab.dk)
Avatar billede keysersoze Guru
02. september 2008 - 10:57 #9
ikke nødvendigvis - * betyder "resten" (og flere stjerne i samme attribut deler "resten" ligeligt mellem sig). Hvis du angiver samtlige frames med fast størrelse og den samlede angivelse er anderledes end hvad klientens skærmopløsning (og i sidste ende browserstørrelse) er tilpasset vil der alligevel ske underlige ting.

Din kode er umiddelbart også lidt sjovt bygget op - et umiddelbart forslag bedre forslag vil nok se fx sådan ud;

<frameset rows="*" cols="*,400,*" framespacing="5" frameborder="yes" border="5" bordercolor="#99FF33">
  <frame src="venstre.html" name="leftFrame" scrolling="No" noresize="noresize" id="leftFrame" title="leftFrame" />
  <frame src="midt.html" name="mainFrame" id="mainFrame" title="Powernab" />
  <frame src="hojre.html" name="rightFrame" scrolling="No" noresize="noresize" id="rightFrame" title="hojre" />
</frameset>

Noget helt andet er så at frames ikke bør benyttes mere - de er gammeldags, ikke særlig brugervenlige og svære at søgeoptimere - så hvis du alligevel først er igang med at opbygge siden nu så overvej at lav det "rigtigt" fra starten.
Avatar billede richardski Praktikant
02. september 2008 - 11:17 #10
Rigtigt ?
Avatar billede keysersoze Guru
02. september 2008 - 11:29 #11
ja - uden frames.
Avatar billede richardski Praktikant
02. september 2008 - 11:31 #12
hvordan styre du så billeder, tekst og flash ?
Avatar billede keysersoze Guru
02. september 2008 - 12:06 #13
layers (div/span) eller alternativt tables - tables bør dog ikke umiddelbart bruges til opsætning men til visning af tabulerede data.

Eneste ulempe du vil få er, at flash vil starte forfra ved hver sideskift.
Avatar billede richardski Praktikant
02. september 2008 - 13:27 #14
Har dårlige erfaringer med tables. Kan man bruge (div/span) i Dreamviewer?
Avatar billede w13 Novice
02. september 2008 - 14:54 #15
Ja, du kan bruge alle HTML-elementer i DW. =)
Avatar billede keysersoze Guru
02. september 2008 - 14:59 #16
det er også helt rigtigt at fravælge tables - men hvis du ikke tidligere har arbejdet med layers kræver det bestemt også noget tilvænning. Og ja, i DW kan du som nævnt arbejde med alle html-elementer - hvordan dette gøres lettest tør jeg dog ikke sige da jeg selv foretrækker håndkode.
Avatar billede richardski Praktikant
02. september 2008 - 17:07 #17
Hej igen.

Keysersoze får point, men jeg er stadig lidt forvirret og vil lige have bekræftet at det du skrev tidligere skal forståes rigtigt og således, at hvis jeg feks ønsker at min -
midtframe skal fylde 60%
venstreframe skal fylde 20%
højrehøjre skal fylde 20%

Skal jeg skrive linierne således:

<frameset rows="*" cols="*,60%,20%,20%" framespacing="5" frameborder="yes" border="5" bordercolor="#99FF33">
  <frame src="venstre.html" name="leftFrame" scrolling="No" noresize="noresize" id="leftFrame" title="leftFrame" />
  <frame src="midt.html" name="mainFrame" id="mainFrame" title="Powernab" />
  <frame src="hojre.html" name="rightFrame" scrolling="No" noresize="noresize" id="rightFrame" title="hojre" />
</frameset>

Eller hvis jeg ønsker midtframe skal tage 50% og venstre og højre deler resten skal jeg skrive således:
<frameset rows="*" cols="*,50%,*" framespacing="5" frameborder="yes" border="5" bordercolor="#99FF33">
  <frame src="venstre.html" name="leftFrame" scrolling="No" noresize="noresize" id="leftFrame" title="leftFrame" />
  <frame src="midt.html" name="mainFrame" id="mainFrame" title="Powernab" />
  <frame src="hojre.html" name="rightFrame" scrolling="No" noresize="noresize" id="rightFrame" title="hojre" />
</frameset>

Bær lige over med mig hvis der er noget jeg har misforstået :-)
Avatar billede keysersoze Guru
02. september 2008 - 17:19 #18
cols="*,60%,20%,20%"

vil være forkert - 60+20+20=100 og så vil der aldrig være noget tilbage til *. Samtidig angives der også 4 frames (* - 60% - 20% - 20%) men kodemæssigt tilføjer du kun 3.

det nederste eksempel ser til gengæld ok ud.
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Kurser inden for grundlæggende programmering

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester