View Full Version : svårt att göra en snygg layout med frames?
Jag skall göra en site med den http://www.mjardevi.se layouten ungefär, alltså att sidan skall ligga i mitten av sidan och under den stora bilden på första sidan till vänster hade jag tänkt att lägga meny i form av en treeview som måste ligga i en egen fram för annars tappar den viewstate läget när man klickar på den. Nån som har några tips på om det går att göra något sånt med frames?
Jag minns att jag försökte det för 2 år sedan. Det var mycket svårt. Ett tips är att köra med tabeller och celler. Det blir lättare designmässigt, kodmässigt och med anpassning till upplösning.
Frames bör i allra högsta grad ej användas. Läs gärna följande artikel.
http://www.456bereastreet.com/archive/200411/who_framed_the_web_frames_and_usability/
Näe jag vet att frames bör undvikas dock så verkar min treeview kontrol inte tycka om att ligga direkt i en cell för den tappar som sagt sin viewstate då och collapsar hela tiden eftersom när jag klickar på en länk så laddas sidan om utan att det är en postback och då laddar den all data från början. Nån kanske har nått tips på hur man åtgärder det istället? Jag har fått tips om att använda onselectednodechanged i min treeview för asp.net men jag ser inte lösningen direkt
Hmm...
Frames är inte svårt när man lärt sig hantera dem ;) .
Frames har för- och nackdelar jämfört med det ade föreslår (bl.a. hamnar rullningslisten inte i högerkanten utan i den frame som du lägger ditt innehåll i den typen av layouter du frågar efter)
Frames bör kanske iofs undvikas av flera skäl, men det är fullt tillåtet att använda dem (än så länge) om man bara ser till vad man får och inte får göra enligt kodstandard
Det du vill göra är enkelt med frames också...
Exempel:
<!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" lang="sv" xml:lang="sv">
<head>
<title>Ett exempel</title>
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1" />
</head>
<frameset cols="*,600,*">
<frame name="vanster" src="egenfil.html" frameborder="1" />
<frameset rows="200,*,100">
<frame name="ovre" src="egenfil.html" frameborder="1" />
<frameset cols="200,*">
<frame name="treeview" src="egenfil.html" frameborder="1" />
<frame name="innehallet" src="egenfil.html" frameborder="1" />
</frameset>
<frame name="sidfoten" src="egenfil.html" frameborder="1" />
</frameset>
<frame name="hoger" src="egenfil.html" frameborder="1" />
<noframes><body><div>Detta är ett exempel</div></body></noframes>
</frameset>
</html>
Och för den som tvekar på om det där är giltig kod eller ej, är det bara till att validera... (tips: det är det - Frames är tillåtna både i HTML4 och xhtml 1.0 om man väljer "rätt" <!DOCTYPE ;) )
Vill du ha bort ramarna runt frame-fälten, byter du bara värdet på de frameborder-attribut som hör till dessa till "0" ;)
Och behöver du mer hjälp med frames, är det bara att fråga igen :birp
Många frames blir det :) ... Ingen som har jobbat med en treeview likt den här (http://www.dustin.se) men jag antar att man måste använda frames när det handlar om sånna kontroller?
Hmm...
Frames är inte svårt när man lärt sig hantera dem ;) .
Frames har för- och nackdelar jämfört med det ade föreslår (bl.a. hamnar rullningslisten inte i högerkanten utan i den frame som du lägger ditt innehåll i den typen av layouter du frågar efter)
Frames bör kanske iofs undvikas av flera skäl, men det är fullt tillåtet att använda dem (än så länge) om man bara ser till vad man får och inte får göra enligt kodstandard
Det du vill göra är enkelt med frames också...
Exempel:
<!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" lang="sv" xml:lang="sv">
<head>
<title>Ett exempel</title>
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1" />
</head>
<frameset cols="*,600,*">
<frame name="vanster" src="egenfil.html" frameborder="1" />
<frameset rows="200,*,100">
<frame name="ovre" src="egenfil.html" frameborder="1" />
<frameset cols="200,*">
<frame name="treeview" src="egenfil.html" frameborder="1" />
<frame name="innehallet" src="egenfil.html" frameborder="1" />
</frameset>
<frame name="sidfoten" src="egenfil.html" frameborder="1" />
</frameset>
<frame name="hoger" src="egenfil.html" frameborder="1" />
<noframes><body><div>Detta är ett exempel</div></body></noframes>
</frameset>
</html>
Och för den som tvekar på om det där är giltig kod eller ej, är det bara till att validera... (tips: det är det - Frames är tillåtna både i HTML4 och xhtml 1.0 om man väljer "rätt" <!DOCTYPE ;) )
Vill du ha bort ramarna runt frame-fälten, byter du bara värdet på de frameborder-attribut som hör till dessa till "0" ;)
Och behöver du mer hjälp med frames, är det bara att fråga igen :birp här (http://www.dustin.se)
Inte alls. http://inspire.server101.com/js/xc/
Inte alls. http://inspire.server101.com/js/xc/
Nu är det en speciell kontroll för asp.net jag använder mig av och har inte för avsikt att gå över till något annat
Finns det någon möjlighet att göra så att en div breder ut sig över gränsen mellan 2 frames?
Finns det någon möjlighet att göra så att en div breder ut sig över gränsen mellan 2 frames?Nej, däremot kan du trigga en div som ligger i en annan frame. Så har man t.ex. gjort på www.skandiabanken.se
Okay det fungerar inte för mig dock ... skulle vilja att den kunde gå över kanten istället eftersom jag har en div som "tänds" när jag högerklickar i en trädstruktur
Det går som sagt var inte. Det närmaste du kan komma är createPopup() (http://msdn.microsoft.com/library/default.asp?url=/workshop/author/dhtml/reference/methods/createpopup.asp). Men det är en IE-function så det är inte att rekommendera på en "publik" webbsida.
Mitt dilemma är att jag använder en asp.net kontroll som enbart fungerar i IE men det gör mig absolut ingenting då jag inte bryr mig om dom som har alternativa läsare. Jag har heller inte källkoden så jag kan ändra i denna webusercontrol så det får bli såhär då ...
mrsgreen
2005-01-14, 12:59
Varför inte använda stylesheets istället för frames??
Stylesheets fungerar ju bättre och bättre, fast det hänger ju kanske på vilken din målgrupp är och om de har den senaste webbrowsern.
En tanke bara....
Varför inte använda stylesheets istället för frames??
Stylesheets fungerar ju bättre och bättre, fast det hänger ju kanske på vilken din målgrupp är och om de har den senaste webbrowsern.
En tanke bara.... Hur förhindrar css att sidan laddas om och tappar "minnet" i detta specifika fallet?
Hm ... stylesheet? Jag måste ladda innehållet från min treeview i en annan browser eller eller del av sidan t.ex. en frame pga. att jag använder denna (http://www.9rays.net/cgi-bin/components.cgi?act=1&cid=89) webbusercontrol
Jag kan knappast rekommendera den "webbusercontrol" då den endast fungerar med IE med JavaScript och ActiveX aktiverat.
Därmed har du säkert tappat minst 20% av användarna samt helt stängt ute sökmotorer.
maqe; som jag sa, att det är så viktigt med upplösningar när du kodar frames annars får du som jarvklo sa, rullningslist i framen. Kör med divvar eller tabeller. Jag föredrar tabeller.
Sedan så kan du ju köra med divvar och tabeller via ett styleshet om du vill.
Lycka till.
Så har jag en fråga i tråden :e
Jag vet att teckensnitt, färg, borders med mera ska gärna placeras i en css. Men är det nödvändigt att köra tabeller genom css?
Vill man ändra utseendet på sin tabell ska man göra det med css.
Men jag förstår nog inte din fråga riktigt :OO
mv icaaq
vBulletin® v3.8.6, Copyright ©2000-2013, Jelsoft Enterprises Ltd.