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

Seite mit Frames fixieren

Lorenzo

Neues Mitglied
Hi,

ich erstelle gerade eine neue Website, mit dem folgenden Frameset:

<frameset rows="55,150,*,55">
<frame src="index1.html" name="1" NORESIZE scrolling="no">
<frame src="index2.html" name="searchtext" NORESIZE scrolling="no">
<frame src="index3.html" name="findtext" NORESIZE scrolling="auto">
<frame src="index4.html" name="4" NORESIZE scrolling="no">
<noframes>
<body>
<h1>Willkommen!</h1>
<p>Ihr Browser unterst&uuml;tzt keine Frames</p>
</body>
</noframes>
</frameset>

Meine Websites sind alle für eine Auflösung von min. 800 Pixel Breite erstellt worden. Leider werden meine Site beim Ändern der Größe des Browsers komplett verschoben.

Wie kann ich meine Website so fixieren, dass bei einem Fenster < 800 Pixel die Scrollbar im Browser angezeigt wird, aber nicht mein Webinhalt verschoben wird?

Vielen Danke im Voraus.
 
Vielleicht kannst du Größen in % angeben oder mit JS die Auflösung ermitteln und die Seite dementsprechend ändern lassen(dann hast du natürlich wieder die Nachteile von JS). Du könntest natürlich auch die Frames ganz weglassen;ugl
mfg Bleistift
 
ich erstelle gerade eine neue Website, mit dem folgenden Frameset:
Warum? Wirst Du Deinen Führerschein auf einem Trabant machen wollen?
Erkundige Dich mal nach den Nachteilen von Frames. Du wirst sie nicht verwenden wollen.

<p>Ihr Browser unterst&uuml;tzt keine Frames</p>
Das interessiert die Leute nicht, viele werden sogar wissen, dass ihr Browser keine Frames unterstützt. Der noframes-Bereich ist nicht dazu da, den Leuten vor den Kopf zu stoßen, dass sie nicht das machen, was Du von ihnen erwartest, sondern er ist dazu da, Alternativinhalte zu bieten. Das ist die Stelle, an der der Seiteninhalt ohne Frames rein gehört. Wenn Du schon Frames machst, solltest Du sie richtig verwenden.

Meine Websites sind alle für eine Auflösung von min. 800 Pixel Breite erstellt worden.
Das hat nichts mit der Auflösung zu tun, wie Du ja selbst gemerkt hast. Auch bei einer Auflösung von 1400px Breite kann der Viewport kleiner als 800px breit sein und selbst bei einer Auflösung mit 800px Breite ist der Viewport in den meisten Fällen auch kleiner als 800px.
Layouts mit fester Breite sind im WWW eher ungünstig.

Wie kann ich meine Website so fixieren, dass bei einem Fenster < 800 Pixel die Scrollbar im Browser angezeigt wird, aber nicht mein Webinhalt verschoben wird?
Du bist Dir bewusst, dass horizontale Scrollbalken als extrem nutzerunfreundlich gelten? Hast Du schonmal einen Text gelesen, wo Du ständig hin und her scrollen musstest? Das tut sich niemand an und wird Deine Site verlassen. Das ist die bessere Variante wenn sich Dein Layout der Größe des Viewports anpasst. Statt das Layout zu "fixieren" solltest Du es variabel machen.
Und wenn Du schon dabei bist, die Viewport-Größe zu berücksichtigen, solltest Du auch daran denken, dass Deine Besucher nicht unbedingt alle die gleiche Schriftgröße eingestellt haben. Wenn man diese nämlich verändert, könnte Dein Layout auch aus anderen Nähten platzen.

Das ist ein Feature des WWW :-) Alles ist variabel.

P.S.: Die Auflösung mit JS auszulesen macht absolut keinen Sinn, denn die Auflösung ist ja nicht relevant. Man muss auch generell keine Größen auslesen, die Einheit "%" orientiert sich an der Größe des Viewports, damit ist man gut bedient!
 
Ich brauche auf jedenfall 3 Bereiche für Navigation, Suche und Hauptseite. Was würdet ihr mir anstelle von Frames empfehlen?

Mit CSS habe ich schon etwas getestet, aber bin auch nicht wirklich glücklich geworden. Wie kann unter der Verwendung eines CSS-basierten Layouts z.B. mit einer Combo-Box in der Navigation den Inhalt der Hauptseite editieren?

Was würdet ihr mir raten für den Aufbau einer neuen Seite? Habt ihr einen Tipp wo man sich einlesen kann?

Selfhmtl.org ist mir natürlich bekannt, aber dort steht auch nur welche Möglichkeiten es gibt, nicht wie es heutzutage gemacht werden soll. Vor 10 Jahren hat man in der Berufsschule eben ein Layout mit Frames erstellt.
 
Ich brauche auf jedenfall 3 Bereiche für Navigation, Suche und Hauptseite. Was würdet ihr mir anstelle von Frames empfehlen?
Keine Frames. Es gibt keine Alternative zu Frames. Das, was Frames ausmacht, ist ein Sammelsurium vieler kleiner Features, die man auf die ein oder andere Weise anders umsetzen kann.

Wenn Du nach einer Alternative zu Frames suchst, heißt das, Du musst auf jeden Fall HTML lernen, CSS zur Darstellung, und musst wissen, wie das WWW funktioniert. Dass nichts Schlimmes daran ist, wenn eine Seite komplett neu geladen wird.
Die Seite wird semantisch mit HTML ausgezeichnet, das Layout und Design mit CSS gemacht.

Wenn Du bei Frames nur daran denkst, dass Du gleichbleibende Teile nicht neu in jede Seite schreiben willst, dann gibts die Möglichkeit des serverseitigen include (z.B. per SSI oder PHP, je nachdem, was Dein Webspace hergibt).

Mit CSS habe ich schon etwas getestet, aber bin auch nicht wirklich glücklich geworden. Wie kann unter der Verwendung eines CSS-basierten Layouts z.B. mit einer Combo-Box in der Navigation den Inhalt der Hauptseite editieren?
Du musst auch nicht glücklich damit werden, aber mit CSS definierst Du nunmal Layout und Design. Nicht anders.
Mit CSS kannst Du auch nichts editieren, CSS legt nur die Optik der Seite fest. Statische Inhalte machst Du mit HTML, dynamische Inhalte werden serverseitig, z.B: mit PHP, erzeugt.

Selfhmtl.org ist mir natürlich bekannt, aber dort steht auch nur welche Möglichkeiten es gibt, nicht wie es heutzutage gemacht werden soll.
Wie es heute geht, habe ich hier schon viele Male erklärt, Du findest sicher was über die Suche:

1. Inhalt schreiben.
2. Mit HTML den Inhalt logisch auszeichnen, Semantik erzeugen.
3. Layout und Desgn mit CSS schreiben.

Vor 10 Jahren hat man in der Berufsschule eben ein Layout mit Frames erstellt.
Vor 10 Jahren gabs auch noch kein CSS. Aber die IT-Branche ist nunmal sehr schnelllebig. Wenn Du das vor 10 Jahren gelernt hast, dann wäre es wahrscheinlich schon vor 8 Jahren an der Zeit gewesen, wieder neu zu lernen. Jetzt ist dann natürlich umso mehr zu tun :-)

Aber hier wirst Du geholfen! :-)
 
Ok,

danke zunächst einmal für die ganzen Infos.

Das Zusammenspiel zwischen HTML und CSS ist mir bekannt, leider scheitere ich momentan an folgender Anforderung.

Ich habe das Layout durch 3 DIV-Container gegliedert. Im DIV Navigation befindet sich eine Combobox, deren Auswahl DIV Hauptseite editieren soll. Ist das möglich? Wenn ja, wie?
 
Das Zusammenspiel zwischen HTML und CSS ist mir bekannt
Ich behaupte anhand Deiner Ausführungen das Gegenteil.

Ich habe das Layout durch 3 DIV-Container gegliedert.
Layout macht man nicht mit HTML, weder mit <div> noch mit <table> oder irgendeinem anderen Tag. Layout macht man mit CSS.

Im DIV Navigation
Eine Navigation wird nicht mit div ausgezeichnet, sondern als Liste.

befindet sich eine Combobox, deren Auswahl DIV Hauptseite editieren soll. Ist das möglich? Wenn ja, wie?
Abgesehen davon, dass es in HTML keine Comboboxen gibt, ist das natürlich weder mit HTML noch mit CSS möglich. HTML definiert nur die logische Bedeutung des Inhalts und CSS gibt der Seite das Aussehen.

Deine Vorgehensweise ist noch zu sehr auf Frames ausgelegt. So funktioniert das Web aber nicht. Frames haben die normale Funktionsweise des WWW umgekrempelt, und offensichtlich leider auch die Gedanken mancher Webmaster.

Wenn Du in Deinem select eine Seite auswählst, die Du laden willst, dann lädst Du die vollständige Seite neu. Man lädt keine Inhalte in irgendwelche Elemente. Das machen nur Frames.

Du lädst einfach die angeforderte Seite komplett inkl. aller Elemente, die sich Seitenübergreifend nicht ändern, wie z.B. Menüs.

Theoretisch ginge das, was Du vorhast, mit Ajax. Das hat aber noch mehr Nachteile als Frames, denn dann wärest Du (wieder) auf JavaScript angewiesen (da Ajax clientseitig ja JavaScript ist) und zum anderen würde sich (wieder) die URL nicht ändern, bzw. zeigst Du eine Seite an, die nichtmal eine URL hat, weil sie aus Teilen besteht, die dynamisch und asynchron vom Server geholt werden.

Also mach es einfach so, wie es das WWW vorsieht. Bei Anforderung einer neuen Seite wird die komplette Seite geladen.

Was Dir vielleicht fehlt, ist serverseitiges include (z.B. SSI oder PHP), um Elemente, die auf allen Seiten gleich bleiben, zu includen.
 
Zurück
Oben