Sönke Tesch: TABELLEN!!!!!!(Frames)!!!

Beitrag lesen

Ich will für 2 Frames,oder für eine Seite nur ein Scrollbalken haben,der alles runterscrollt(d.h die ganze seite)
Und da haben mir viele mit Tabellen geantwortet,aber wie soll das gehen?
Kann mir das jemand bitte ausführlich erklären?
Und wenn links die navigation ist und ich auf ein link klicke,der wird ja rechts angezeigt,also muss doch dort ein fram sein?

Ganz einfach: Die Navigation steckt in jeder Seite.

+--------+----------------+
  | Menü 1 | Ein Gedicht    |
  | Menü 2 | Die Blinde Kuh |
  | Menü 3 | sagt Muh und   |
  |        | legt sich zur  |
  |        | Ruh'.          |
  |        |                |
  |        |                |
  +--------+----------------+

Wie Du siehst: Eine Tabelle mit einer Zeile und zwei Zellen, in der linken das Menü, in der rechten der eigentliche Inhalt.

Da das natürlich etwas aufwendiger zu bearbeiten ist (bei einer Änderung im Menü müssten alle hundertachtundneunzigtausend Seiten geändert werden), greifen viele entweder auf Frames (was Du nicht willst), Skriptsprachen wie PHP (was für diesen Zweck IMHO etwas überdreht wäre) oder Server Side Includes ("SSI", hier IMHO am Besten) zurück.
Alle drei Alternativen haben die Gemeinsamkeit, daß man ein Gesamtdokument aus mehreren Einzeldateien zusammensetzen kann, der Unterschied ist, daß bei Frames der Browser einzelne HTML-Seiten lädt und gemeinsam anzeigt, während bei PHP und SSI für den Browser nur eine einzige HTML-Seite vorliegt, da der Server bereits die Teildateien zusammenfügt. SSI-Beispiel:

gedicht.shtml:
  <html><body><table><tr>
  <!--#include virtual="menu.html" -->
  <td>
  <h1>Ein Gedicht</h1>
  Die Blinde Kuh sagt Muh und legt sich zur Ruh'.
  </td>
  </tr></table></body></html>

menu.html:
  <td>
  <ul>
  <li>Menü 1</li>
  <li>Menü 2</li>
  <li>Menü 3</li>
  </ul>
  </td>

Anhand der Endung .shtml erkennt der Server, daß er in dieser Datei SSI-Anweisungen ausführen muß. Mit der Anweisung <!--#include..> wird die Datei menu.html in gedicht.shtml eingefügt und das Ergebnis dann an den Webbrowser gesendet.

Sofern Deine Seiten auf einem Apache-Server laufen, findest Du nähere Infos zu SSI in der Apache-Anleitung unter http://httpd.apache.org/docs/howto/ssi.html und http://httpd.apache.org/docs/mod/mod_include.html.

Auch interessant in diesem Zusammenhang: Das Weglassen der Dateiendungen: Einfach in die oberste .htaccess die Zeile

Options +Multiviews

einsetzen und Du kannst in Zukunft bei allen Verweisen die Endungen weglassen:

<a href="gedicht">Ein Gedicht</a>

Damit erübrigt sich in Zukunft das Ändern aller Verweise, falls Du mal eine Datei von .html auf .shtml oder von .shtml auf .php oder sonstwas umstellst.

Infos wiederum in der Apache-Anleitung unter http://httpd.apache.org/docs/content-negotiation.html.

Gruß,
  soenk.e