Also ich habe mich jetzt mal nach längerem mitlesen auch registriert, weil ich glaube, dass ihr mir helfen könnt. Warscheinlich ist es für euch ein sehr einfaches Thema, dennoch hab ich im Internet nichts passendes gefunden, bzw das, was ich gefunden habe, konnte ich nicht richtig umsetzten oder es hat einfach nicht funktioniert.
Also ich habe jetzt meine Webseite für meine Auflösung programmiert gehabt, nur jetzt möchte ich einfach, dass die Websitelänge sich automatisch an verschiedene Auflösungen anpasst. Allerdings ist die Tabelle (HTML) in 4 Reihen unterteilt, und nur die untere ( die mit kkkkkkkkkkkkkkkkkkkkkkkkkkk) soll sich je nach Auflösung verändern.
Könnt ihr mir helfen? Hier ist der Code:
Missverständnis 1: Webseiten erstellt man nicht für Auflösungen sondern für Viewports, also den Bereich den ein Browser der Webseite zugesteht. Das kann durchaus auch eine kleinere oder „krumme“ Zahl sein.
Missverständnis 2: Webseiten erstellt man nicht mit Tabellen. Denn Tabellen sind dafür da tabellarische Inhalte aufzunehmen. Als Grundgerüst einer Webseite sind sie absolut ungeeignet.
Missverständnis 3: Webseiten stylet man mit CSS, nicht mit HTML.
Dein Grundproblem: Du verwendest eine Tabelle mit festen Höhen- und Breitenangaben im HTML.
Die Lösung: schreib die Seite komplett neu ohne Tabellengerüst und verwende CSS zur Gestaltung. Verzichte dabei auf Breiten- und Höhenangaben, dann passt sich die Seite (so sie aus Blockelementen besteht) automatisch an den zur Verfügung stehenden Viewport des Besuchers an.
Und falls diese Antwort bei dir viele Fragezeichen verursacht: schau dir mal aktuelle Anleitungen zum Aufbau von Webseiten an.
Also ich möchte dir keinesfalls widersprechen, ich hatte schon gelesen, dass CSS geeigneter ist. Die Vorteile schienen mir allerdings nicht dominant genug, um jetzt nochmal alles umzuschreiben.
Nur nochmal des Verständnisses halber: Ich kann mit HTML also die Webseite nicht automatisch an den Viewport anpassen lassen?
Die Sache mit den Höhenangaben weglassen sollte aber doch bei Bildern Probleme verursachen, oder nicht? Falls diese Frage gerade zu oberflächlich und selbstverständlich klingt, beantworte sie nicht, ich lese mir nochmal durch, wie man mit CSS die Webseite aufbaut.
Doch, aber es ist eine unsaubere Variante und führt sobald Du CSS zur Gestaltung verwendest dann zu Problemen. Denn CSS-Eigenschaften haben vor HTML-Eigenschaften vorrang.
Die Sache mit den Höhenangaben weglassen sollte aber doch bei Bildern Probleme verursachen, oder nicht?
Nein, denn Bilder sollte man nicht mit festen Maßangaben in HTML einbetten sondern immer 1:1 so anzeigen wie sie sind.
Nein. Eine Webseite gestaltet man mit CSS. HTML dient zur Auszeichnung der Inhalte. Und das macht man mit den HTML-Elementen entsprechend der Bedeutung des Textes. Also
bis
für Überschriften,
für Absätze, für Betonungen etc. pp.
darf nur als Gruppierungselement verwendet werden - und nicht zu oft, denn sonst endet alles in einer unübersichtlichen und semantisch unkorrekten div-Suppe.
Also ich möchte dir keinesfalls widersprechen, ich hatte schon gelesen, dass CSS geeigneter ist. Die Vorteile schienen mir allerdings nicht dominant genug, um jetzt nochmal alles umzuschreiben.
Die Vorteile von CSS dominieren über alle Techniken wie Tabellenlayouts, Frames und was sonst noch aus der Internet-Steinzeit über geblieben ist. Das wirst du wahrscheinlich bei umfangreicheren Projekten merken, wenn es schon zu spät ist. CSS ist leichter zu verwalten und zu pflegen, lässt den Code sauber und übersichtlich und erspart Ladezeit und Bandbreite.
hallo!
So, ich habe jetzt die ursprüngliche Webseite in Css umgeschrieben. Allerdings habe ich jetzt immernoch mein ursprüngliches Problem.
Hier erstmal ein bild der Seite, damit man sich das besser vorstellen kann: http://s10.directupload.net/images/100704/temp/yk9pa2px.jpg
Also mein Ziel ist es, Die Höhe des oberen Bereiches (HEADLINEDSF, Bild) fest zu haben und dann den rest, also die „inhalt-div“ so variabel zu halten, dass sie sich an den verfügbaren Platz in der Höhe anpasst und man keinen scrollbalken mehr an der seite hat, sondern nur den der „inhalt-div“. Im Moment habe ich das Problem, dass ich am Rand in Firefox auch immer einen Scrollbalken habe und, dass die Seite generell nicht das gesamt browserfenster ausfüllt ( siehe Bild).
Könnt ihr mir helfen den unteren Teil also so zu schreiben, dass er sich automatisch an die restliche verfügbare Höhe anpasst? Ich habs mit height=100% etc versucht, aber ich war bisher erfolglos.
Hier noch der code:
Danke schonmal.
Ja, es ging um die Höhe, das mit der Breite ist schon richtig so.
Nun ja, also das mit der „max-height“ ist nurnoch vom experimentieren übrig geblieben. Außerdem muss es da ja auch eine max height geben, da ich ja den scrollbalken im Inhatsfenster haben möchte. Die Seite soll ja eben immer nur das gesamt Fenster füllen, nicht größer, nicht kleiner.
Deshalb such ich ja einen Weg irgendwie das „Box“ div oder so variabel zu machen.
overflow: hidden; für den body… für den div machst du overflow: scroll; ob das allerdings die Leute freut die mit Netbook oder iQuatsch unterwegs sind, ich weiß ja nicht… http://www.css4you.de/overflow.html
PS: Du hast kein Doctype
PSS:
Du musst dem Box Element natürlich schon 100% höhe geben, dann noch die max height raus und du hast den Inhalt so wie du haben willst… ich hab das hier mal gemacht, sieht aber schlimm aus, weiß ja nicht was du da alles für Angaben rein hast aber das würd ich dringent empfehlen nochmal sauber und aufgeräumt zu überarbeiten.
edit: Ok hab das mal kurz probiert und scheint mir komplizierter zu sein als ich angenommen habe. Tu dir am besten selbst einen Gefallen und nimm einfach die äußeren Scrollbalken. Kannst ja wenns umbedingt sein muss den Banner per position:fixed; oben festnageln irgendwie.
Okay, dann habe ich es mal mit Position:fixed probiert.
Allerdings habe ich ein Problem. Mit position:fixed kann man ja nur die absolute Position mittels „top“ und „left“ etc eingeben, ich brauche allerdings die Relative, da meine Seitenbreite ja variabel ist.
Ne, das ist doch nur zum zentrieren da oder nicht?
Also. Meine Navigationsliste ist in einer seperaten „div“. Allerdings kann ich diese div ja nur durch „position:“ an den rechten Seitenrand bekommen. Das Problem ist aber, wenn ich das ganze jetzt mit position:fixed positioniere ist es ja nicht relativ zur seitenbreite sondern eben genau wie wenn ichs mit „absolute“ beschreiben würde.
Dann dachte ich mir als andere lösung packste einfach das ganze in noch nen div container, und positionierst den mit positon:relative und gibst dann dem untergeordneten element, also der Navileiste einfach position:fixed. Nur sobald ich das eingebe werden die „top“ und „right“ attribute für das „position:relative“ vom übergeordneten Conainer ungültig und das ganze Gedöns ist schon wieder an der Urspurngsstelle, wo es ja nicht hin soll.
Entweder habe ich was grundlegendes in Sachen positionierung nicht verstanden, oder das ist verdammt kompliziert.
Ich würde mich wahnsinnig über Hilfe freuen!
EDIT: Okay, ich habe keine Ahnung was ich verstellt habe, aber auf einmal funktioniert alles. Ei, vielleicht sollte ich mich nochmal mit CSS grundlagen beschäftigen.