Forum: PC-Programmierung html>> frameset und css?


von Robert B. (rsb89)


Lesenswert?

guten morgen,

kann ich in einer css-datei auch eigenschaften für framesets (z.b. 
gesamte breite) angeben?

von D. I. (Gast)


Lesenswert?

Brr Framesets, das ist ein Relikt aus den 90ern. Sowas verwendet man 
absolut nicht mehr.

Was hast du denn vor?

von Daniel F. (df311)


Lesenswert?

D. I. schrieb:
> Sowas verwendet man absolut nicht mehr.

ausnahmen bestätigen die regel: ich musste vor zwei jahren ein 
kiosk-system bauen, das nur mit framesets funktioniert hat...

@R.B.
wenn es irgendwie geht, lass das zeug weg. und ja, die breite für einen 
frame in einem frameset kann man in einer css-datei angeben.

von D. I. (Gast)


Lesenswert?

Daniel F. schrieb:
> ausnahmen bestätigen die regel: ich musste vor zwei jahren ein
> kiosk-system bauen, das nur mit framesets funktioniert hat...

Das bezweifel ich stark, dass das NUR mit framsets geht. Da gibt es 
sicherlich auch zeitgemäßere und sauberere Ansätze. Kannst du etwas 
ausführlicher darüber berichten?

von Robert B. (rsb89)


Lesenswert?

Eine Weboberfläche basteln um ein bisschen an einem uC zu spielen. Habe 
die Seite soweit auch fertig (mit Frames) und wollte nun einfach die 
Gestaltung etwas freundlicher gestalten über eine css-Datei (dass man 
nicht mehr alles "überall" ändern muss).

________________________________________
|                                  |     |
|                                  |     |
|__________________________________|_____|
|    |                                   |
|    |                                   |
|    |                                   |
|    |                                   |
|    |                                   |
|    |                                   |
|    |                                   |
|    |                                   |
|    |                                   |
|    |                                   |
|    |                                   |
|    |                                   |
|____|___________________________________|

So sieht das in etwa mit Frames aus und ich möchte nun z.B., dass die 
beiden Frames im Header und die beiden unten zusammen eine feste Breite 
im Browser haben (also die Seite soll eine konstante Breite haben) und 
das ganze dann zentriert im Browser dargestellt wird. (Für die die jetzt 
schreiben "Das macht man aber nicht mit fester Breite usw.": Ich möchte 
das jetzt mal so =))

Ich habe auch schon gesehen, dass so eine Struktur mit mehreren tabellen 
erreicht wird, was ich persönlich aber noch schlimmer finde als Frames.

von Robert B. (rsb89)


Lesenswert?

Daniel F. schrieb:
> und ja, die breite für einen
> frame in einem frameset kann man in einer css-datei angeben.

Verrätst du mir wie?

von D. I. (Gast)


Lesenswert?

R. B. schrieb:
> Ich habe auch schon gesehen, dass so eine Struktur mit mehreren tabellen
> erreicht wird, was ich persönlich aber noch schlimmer finde als Frames.

Das ist beides Murks. Sowas gestaltet man sauber mit CSS. Und feste 
Breiten sind kein Problem.
Mit jedem x-beliebigen Grid-Style CSS-Framework (z.B. Bootstrap) kriegt 
man das schöner und komfortabler hin wbei das hier natürlich overpowered 
wäre.

Aber 3 div-container mit etwas floating hinzuwursteln um es so aussehen 
zu lassen wie du es möchtest sollte kein Problem darstellen.

von Robert B. (rsb89)


Lesenswert?

@D.I.:
Es ist wirklich gut zu wissen dass es geht. Aber wenn man nicht weiß wie 
hilft einem das auch nicht ;) Könntest du bitte etwas konkreter werden 
oder einen hilfreichen Link posten?

von D. I. (Gast)


Lesenswert?

R. B. schrieb:
> @D.I.:
> Es ist wirklich gut zu wissen dass es geht. Aber wenn man nicht weiß wie
> hilft einem das auch nicht ;) Könntest du bitte etwas konkreter werden
> oder einen hilfreichen Link posten?

z.B (sehr einfache Version):

http://www.456bereastreet.com/lab/developing_with_web_standards/csslayout/2-col/

Und auf die Hinweise bzgl. IE6 kannste getrost verzichten.

von Robert B. (rsb89)


Lesenswert?

danke! das ist mal ein hilfreicher beitrag =)

von D. I. (Gast)


Lesenswert?

Kein Problem. Es gibt einfach Gepflogenheiten die man für sauberes 
Webdesign und -entwicklung beachten sollte, wie in jeder anderen Sparte 
auch.
Aber leider meint jeder der nen Tag auf und zu kriegt schon er sei ein 
professioneller Webentwickler :/
Die Ergüsse kann man dann ja an jeder Ecke im Web beobachten.

von Robert B. (rsb89)


Lesenswert?

Ich gehe zwar nicht davon aus, dass es die Regel werden wird, aber wenn 
ich ne Weboberfläche bastel möchte ich das schon auch vernünftig machen. 
Deshalb frage ich ja...

Also gleich die nächste Frage:
Der "Vorteil" von Frames ist ja, das nicht die ganze Seite neu geladen 
werden muss sondern nur der Frame der sich ändert. Gibt es das beim 
Layout mit CSS auch? (Wenn ja, wie?) Alles was ich bisher gelesen habe 
läuft darauf hinaus, dass immer die ganze Seite neu geladen wird. Und 
was ich noch unprakitsch finde ist, dass ich sowetwas wie ein Menü 
(linke Spalte im Schema) immer auf jeder Seite ändern muss wenn ich z.B. 
einen Link hinzufüge. Ich kann mir aber schon vorstellen, dass es dafür 
eine Lösung gibt. Aber welche?

von D. I. (Gast)


Lesenswert?

R. B. schrieb:
> Aber welche?

Javascript (& AJAX-Requests).

Und nein Javascript ist kein Teufelszeug sondern die dafür einzusetzende 
Praxis. Am leichtesten geht das mit JQuery oder einem anderen Framework.

Beispiel

HTML:
1
<div id="container">
2
Initialinhalt
3
</div>

JS mit JQuery:
1
alert("Aenderung 1 folgt jetzt");
2
$("#container").text("neuer inhalt 1");
3
alert("Aenderung 2 incoming");
4
$("#container").text("coolio");

die alerts könntest du dann z.b. mit entsprechenden berechnungen oder 
requests ersetzen.

Das ist noch geschmeidiger als das Neuladen von Frames.

von Robert B. (rsb89)


Lesenswert?

Wirklich gar keine andere Möglichkeit? Ich würde gerne erstmal das eine 
richtig beherschen bevor ich mit dem nächsten anfange...

von D. I. (Gast)


Lesenswert?

R. B. schrieb:
> Wirklich gar keine andere Möglichkeit? Ich würde gerne erstmal das eine
> richtig beherschen bevor ich mit dem nächsten anfange...

Das Problem was du meinst ist, dass du deine Navigation in jeder 
html-page neu machst und wenn was dazu kommt du jedes html wieder neu 
anfassen musst, weil in jeder die Navigation vorkommt.
Da gibt es nun im Wesentlichen 2 Möglichkeiten:

1. Die von mir rein JS-basierte Lösung, die den Vorteil hat dass du ohne 
dynamische Serverskriptsprachen wie PHP auskommen kannst solange du nur 
rein statischen Inhalt hast. Ich schnür dir gerne mal ein kleines 
Beispiel zusammen.

2. Eine Serverskriptsprache und ein Templatesystem (z.b. PHP+Smarty) 
einsetzen.

Grade zum Einstieg und fürs mc-Umfeld rate ich dir zu Möglichkeit 1. Das 
Triumverat aus HTML,CSS und JS ist die Basis zum korrekten Einstieg und 
man sollte es gemeinsam lernen. Macht die Lernkurve etwas steiler, aber 
hinterher weißt du wies vernünftig geht, musst nicht mehr murksen und 
hast was solides zeitgemäßes gelernt.

von D. I. (Gast)


Angehängte Dateien:

Lesenswert?

Im Anhang ist ein kleines Minimalbeispiel. Lade es auf einen beliebigen 
Webserver (lokales file:// funktioniert nicht ohne Weiteres in 
Kombination mit AJAX) und probiers aus und dann fang an herauszufinden 
warum das geht. JQuery-API z.B.

Live kannst du es mal dort probieren:

http://pipesquare.com/html_ex

Wie du siehst, nichts von der Seite wird komplett neu geladen.

Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.