• Jetzt anmelden. Es dauert nur 2 Minuten und ist kostenlos!

Alternative zu Framsets?

purzel

Neues Mitglied
Folgendes Problem:

Die Homepage die ich gerade bearbeite habe ich vor ca. 8 Jahren entworfen und nach und nach auf den neusten Stand gebracht. Siehe hier: Jam - Studio | Veranstaltungstechnik und Tonstudio Flensburg | Norddeutschland | Schleswig-Holstein
Das ganze habe ich damals als Frameset aufgebaut.

<FRAMESET cols="*,1024,*" ...>
<FRAME src="Startseite/Blank.html"...>
<FRAMESET rows="130,400,*"...>
<FRAME src="Startseite/Topframe.html"...>
<FRAMESET rows="*" cols="220,*"...>
<FRAME src="Startseite/Leftframe.html"...>
<FRAME src="Startseite/Mainframe.html"...>
</FRAMESET>
<FRAME src="Startseite/Bottomframe.html"...>
<FRAME src="" name="blank"...">
</FRAMESET>
</FRAMESET>

Nun möchte ich weiteren Code (Text, Bilder, ...) auf der Seite einbinden, welche die Seite nach unten auffüllen (da bei vielen hohen Monitorauflösungen der freie Platz nach unten nicht schön aussieht). Der freie Platz rechts / links soll möglichst bleiben, da ich verhindern möchte, dass Leute mit kleiner Auflösung ( 1024*768 ) horizontal scrollen müssen. Der weitere vertikale Aufbau der Seite setzt allerdings auch die Möglichkeit zum Scrollen voraus, was sich mit Frames nach meinen Kenntnisstand nicht bewerkstelligen lässt. Also hier meine Frage:

a) gibt es eine Möglichkeit ein ganzes Frameset vertikal zu scrollen? (in allen Foren [Googlesuche] bei denen ich die Frage gelesen habe war die meiste Antwort: "Frames sind scheiße". Und die hat mir leider nicht geholfen).

b) gibt es eine Alternative? Dabei sollen allerdings folgende Voraussetzungen gelten:
Ich will den Kopfbereich (Menü) sowie die linke Seite (also Topframe und Leftframe) nicht auf jeder Seite in den Quellcode komplett eintragen (der Aufwand bei Veränderungen wäre mir trotz copy und paste zu groß) und diesen Quellcode in einer separaten Datei gespeichert haben (wie ich es derzeit mit den Frames handhabe), so dass ich diesen Bereiche lediglich auf die jeweiligen Seiten einbinden kann (in Form von include bzw einem Verweis oder etwas in die Richtung ;) ) .
 
Also erstmal: Die Site find ich richtig gut :-) Zumindest das Design.

Frames sind leider gar nicht gut - abgesehen davon, das sie varaltet sind, helfen siw dir, was die Suchmaschinenoptimierung angeht überhaupt nicht weiter.

Verwende beim Doctype xhtml, version 1.0 reicht, und am besten die Variante Strict. Das ganze kannst du ganz leicht und schnell mit HTML, PHP und CSS nachbauen.


Mittels:
PHP:
<?php include("menue.htm"); ?>
kannst du schonmal ganz easy deine Navigation in dein PHP Dokument reinladen. Die menue.htm ladest du einfach in alle deine PHP Dokumente rein und wenn du mal ne Änderung brauchst, geht das ganz einfach, indem du nur die menue.htm ändern musst.
 
Um den Beitrag meines Vorgängers noch zu ergänzen, sie sind nicht nur alt und suchmaschinenunfreundlich, sie bieten auch nicht wirklich viel barrierefreiheit sowie zugänglichkeit.

Du solltest aufjedenfall deinen Inhalt logisch mit HTML auszeichnen und den rest (von wegen Aussehen und Form) übernimmt dein Stylesheet.

Das erzwungene Scrollen geht via CSS so: overflow: Übergroßer Inhalt: CSS-Referenz auf CSS 4 You - The Finest in Stylesheets


Gruß
Loon3y
 
Erstmal danke für die schnelle Antwort! (Über Framesets kann man sich bekanntlich Seitenweise streiten. Mit der Suchmaschinenpotimierung hatte ich keine Probleme bzw. bin ich mit den Ergebnissen was das angeht sehr zufrieden. Aber egal, ich will ja nicht um Framesets diskutieren und die Seite ja auch umstellen).

Also zu deine Lösung:

Wenn ich dich richtig verstanden habe bedeutet das für mich:

1) Alle Seiten in ".php" ändern
2) Eine Tabelle anlegen die den Frames entspricht
3) Die Tabelle in alle Seiten kopieren und den Inhalt in der entsprechenden Zelle einfügen
3) In den jeweiligen Zellen für die konstanten Seiten (Menüs) das Script mittels php include einbinden

Richtig ?

(PS: Danke für das Lob bezüglich des Designs)
 
@Loon3y

Danke für den Link. Werd es mir gleich mal ansehen und prüfen ob es sich auf das ganze Frameset anwenden lässt.
 
Hm, also von Tabellen haben wir nichts geschrieben?

Zu den Frames: Eine Seite für die Suchmaschineoptimieren kann man auf viele Arten - die wichtigesten sind sicher Backlinks von Seiten mit einem hohen PR! Dann würde ich sagen, folgt schon der Quellcode - am besten valides HTML - und noch besser ist es natürlich wenn es auch noch semantisch richtig ausgezeichnet wird - Was bei Frames nicht der Fall ist.

So, nun zur umsetztung:

1) Punkt 1 hast du schon richtig verstanden.
Du packst in die menue.htm nur HTML Code, und zwar nur ein ul Menü, mit Listen und Link Elementen, kein Wurzelelement, kein Doctype, wirklich nichts außer der UL-Navigation. Da es nur HTML beinhaltet, kannst du sich einfach menue.htm nennen. Die andren Datein, wo du die Navigation mittels PHP reinladen möchtest, müssen wie du schon sagtest .php als Dateinendung tragen!

2) Nein, keine Tabellen verwenden! Inhalt kommt in Absätze (=Paragraphe) -> Schreibweise: <p>Text hier rein</p>
Überschriften werden mit <hx> strukturiert. Für Bilder brauchst du nur den img Tag zu verwenden. Du kannst jedes Element, mit CSS formatieren, daher kannst du auf die Tabellen komplett verzichten. Tabellen erzeugen Spaghetti Code, welcher alles andere als gut ist.

All deinen Elemente (<p>'s, <hx>'s, <a>-links, <div>'s etc) kommen in einen Div rein, nenn ihn Container oder soetwas in die Richtung. Dieser Div umschließt alle Elemente. Über CSS kann du diesen dann mittels margin: 0px auto; horizontal mittig stellen.

3) Wie gesagt, keine Tabellen verwenden. Den Inhalt fügst du in Absätze, <hx>, <a>-links, divs usw ein!

4) Hier ein kleines Beispiel wie du es lösen könntest:

PHP:
<html>
<head>
</head>
<body>

<div id="container">

<?php 
include("menue.php"); //Horizontale Navi reinladen
?> 

<!--Hier folgt zB der Inhalt usw-->

</div>

</body>
</html>
 
@T!P-TOP

Danke für die ausführliche Antwort. Ist sehr verständlich erklärt.

Es ist also mal an der Zeit nicht nur Design und Inhalt sondern auch den Quellcode auf den neuesten Stand zu bringen ;).
Das bedeutet zwar ein bißchen Arbeit aber die Zeit muss ich mir dann mal nehmen (Alle Tabellen rausschmeißen und mit CSS arbeiten zudem Menüs über PHP einbinden) was soviel heißt wie jede Seite neu formatieren. Aber ich denke es wird sich lohnen.

Ganz kurz zu CSS. Ich hab mich in der Theorie noch nicht wirklich damit auseinandergesetzt. Der Dreamweaver übernimmt ja die meiste Arbeit. Werde mich also mal richtig mit CSS auseinandersetzen müssen.

Besteht die Möglichkeit nur mit CSS und ohne Tabellen die Seite so wie in diesem Frame:
Jam - Studio Veranstaltungstechnik
zu gestalten? (d.h. links Hintergrundbild, darüber Text, rechts Menü mit Menübuttons und Schrift)

Wenn ja, müsst ihr mir das nicht im Detail erklären. Die Arbeit mach ich mir dann selber.
 
NUr CSS geht nicht. Natürlich brauchst du auch HTML, aber nur ganz wenig.

PHP:
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">

<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>Homepage</title>
<link rel="stylesheet" type="text/css" href="deincss.css" />
</head>

<body>

<div id="container"><!--Container - Umfasst alle Elmente die im Body tag stehen-->

<div id="header">
<?php include("menu.php"); ?>
</div>

<div id="content">
<!--Inhalt KOmmt hier rein-->
</div>

</div><!--Container geschlossen-->

</body>

</html>

Also, das wäre eine grobe struktur.

Im CSS kannst du dann den divs eben verschiedene Hintergrundbilder zuweisen:

#container {
background: url('container_background.jpg');
}

#header {
background: url('header_background.jpg');
}

#content {
background: url('content_background.jpg');
}



Du kannst eingentlich fast Jedem HTML Element Backgroundsimages zuweisen und sie formatieren.
 
ok. Das es ganz ohne HMTL nicht geht war mir schon klar ;).

Mit den Hintegrundbilder: ok (verstanden).

Kann ich die Container auch nebeneinander anordnen?

Beispiel: .....Text1..... Link1
.....Text1.... Link2

Muss das in einer Zeile stehen (mit entsprechenden CSS Zuweisungen) und Zeilenumbruch oder können Links und Text in jeweils einen separaten "Container" zusammengefasst werden, die dann nebeneinander angeordnet werden können?
 
Du solltest dich mal etwas mit den Grundlagen von HTML (!) und CSS und deren Nutzung beschäftigen. DreamWeaver ist nur so gut wie sein Bediener.

Edit: Ja, mit CSS lassen sich Elemente auch nebeneinander anordnen.

Edit 2: P.S. Deine Website ist recht umfangreich, vielleicht lohnt es sich für dich ein CMS zu nutzen.
 
Zurück
Oben