Frame-ek helyett CSS-t alkalmazó oldal struktúrája PHP-vel
Sziasztok!Megint én vagyok az! Tudjátok: Anonymus:)
Viccet félretéve, a kérdésem tulképpen a topic címében benne van.
Mindenhol arról olvasni, hogy a framesetek egy nyilvános honlap esetében kerülendõ.Olvasom szorgalmasan a weblabor oldalait és össze is szedtem pár információt, ötletet vajon hogy is nézhetne ki egy "frameseteket css-sel pótoló" weboldal általános szerkezete. Most egy kicsit konkrétabb megvalósításra szeretnék ötleteket kapni.
Ahogy kihámoztam az infókból a css-ben a framek helyettesítése a position, overflow,stb jellemzõk használatáva történik. És gondolom nem az a legcélszerubb megoldás hogy az oldalstruktúra összes linkjéhez tartozó html lapokba beleillesztjük ezeket a css stílusokat, hanem pl. egy php segítségével választjuk ki a megfelelõ lapot.
pl:index.php :(Tfh. A styles.css tartalmazza az összes formázást)(Természetesen az oldaln.html megfelelõen van felépítve, az a elemeknél a php-nak megfelelõen van az oldalid paraméter megadva).
A kérdésem annyi hogy a fenti példa jó-e, szép-e, az include alkalmazása megfelel-e,vagy van más megoldás?
köszönöm
■ Viccet félretéve, a kérdésem tulképpen a topic címében benne van.
Mindenhol arról olvasni, hogy a framesetek egy nyilvános honlap esetében kerülendõ.Olvasom szorgalmasan a weblabor oldalait és össze is szedtem pár információt, ötletet vajon hogy is nézhetne ki egy "frameseteket css-sel pótoló" weboldal általános szerkezete. Most egy kicsit konkrétabb megvalósításra szeretnék ötleteket kapni.
Ahogy kihámoztam az infókból a css-ben a framek helyettesítése a position, overflow,stb jellemzõk használatáva történik. És gondolom nem az a legcélszerubb megoldás hogy az oldalstruktúra összes linkjéhez tartozó html lapokba beleillesztjük ezeket a css stílusokat, hanem pl. egy php segítségével választjuk ki a megfelelõ lapot.
pl:index.php :(Tfh. A styles.css tartalmazza az összes formázást)
<?php
if ($_GET["oldalid"]) $oldalid=$_GET["oldalid"];
else $oldalid=1;
?>
<HTML>
<HEAD>
<LINK REL="stylesheet" HREF="styles.css" type="text/css">
</HEAD>
<BODY>
<DIV ID="header">Fejléc</DIV>
<DIV ID="menu">Menu</DIV>
<DIV ID="content">
<?php
switch ($oldalid)
{
case 1: include "oldalak/oldal1.html";break;
case 2: include "oldalak/oldal2.html";break;
...
case n: include "oldalak/oldaln.html";break;
}
?>
</DIV>
</BODY>
</HTML>
A kérdésem annyi hogy a fenti példa jó-e, szép-e, az include alkalmazása megfelel-e,vagy van más megoldás?
köszönöm
fordítva?
Tasi
Aha
Köszi
Templatek
Sziasztok
Az oldal három framet imitál: header, menu és a maradék v. content.Na most ha a különbözö DIV elemeknek (amelyek segítségével utánzom a frameket) nem szint, hanem valamilyen grafikat adok meg háttérnek (background:url(...)) akkor sajnos az oldalak betöltésekor a háttér nem jelenik meg egyböl, villan egyet fehér háttérrel , majd utána "áll helyre a rend" azaz veszik fel a DIV-ek a megfelelö kinézetüket. Ezt lehet-e valamivel orvosolni? E kis malör ellenére azért mégis jobb a framek nélküli oldalszerkezet, mint a frame-s?
köszönöm
kis javítás
Tasi
Köszönöm
már megint a fránya IE:(
Itt a weblaborban találtam rá az egyik lehetséges megoldásra amely segítségével
emulálni lehet a frameket. A cikk címe "10 lépés a validság felé" (http://www.hszk.bme.hu/~hj130/hasznalhatosag/frame/index.html). Az oldalon a framekről is szó van és a http://soiland.no/frames_with_css/ linken ajánl egy lehetséges megoldást.
Megpróbáltam egy kicsit megmahinálni, mert nekem nem az ott vázolt struktúrára lenne szükségem, hanem egy fix magasságú headerre, egy fix szélességű bal oldali részre és a maradék változna a böngészőablak méretének megfelelően.
Egy kis részlet a kódból:
div.left,div.bottom,div.top {
position: absolute;
margin: 0;
/* Debuglines */
/* border: 1px dotted #aaa;*/
/* If scrolling is needed: */
overflow: auto;
}
div.bottom {
/* Placed in the lower part */
bottom: 0;
/* Don't overlap the left-side */
left: 10em;
/* Full width, this doesn't work completely with IE, but see
fixed_ie5.css for details. */
right: 0;
/* Height of bottom part */
height: 15%;
}
div.top {
/* In effect the rest of the screen, the main part if you like. */
top: 0;
/* width of .left */
left: 10em;
right: 0;
/* 100% - height of .bottom */
height: 85%;
}
A konkrét probléma: a felvázolt oldalstruktúrában a height paramétereket nem adhatom meg %-ban, sem és konkrét értékekben sem, viszont ha a height paramétereket eltüntetem és megpróbálom a top és bottom jellemzőkkel meghatározni a div magasságát, a horizontális scrollbar nem jelenik meg.
köszönöm
Nekem is erre lenne szükségem
Véletlenül találtam rá erre a fórumra, neke is pont ez a gondom, hogy keretek helyett akarok valami mást. A kód, amit leírtál tiszta és világos, mindössze annyi lenne a kérdésem, hogy az $oldalid értékét hogyan kell megváltoztatni? Mert ugye a harmadik divben az az oldal jelenik meg, amilyen az oldalid változó.
Vagyis ha pl elhelyezek a menüben 2 linket, azt hogy írjam le?
Köszönöm
Egyszerü
Ez egyszerü php dolog,ha jól értem mire gondolsz:
p1.php:
<DIV ID="menu">
<A HREF="p1.php?oldalid=1>oldal1.php</A>
...
</DIV>
de olvashattad hogy forditva kellene megoldani,lásd 1. hozzászólás
pontosan hogy?
Hogy értitek azt, hogy pontosan fordítva?
Ha lehet, kérnék egy konkrét kódrészletet
Köszönöm!
(Lehet, hogy hülye vagyok hozzá, de hát ezért vagyok itt :-) )
tényleg nem írtuk
Tasi