"Wozu ist denn CSS / CSS2 gut" Dumme Frage?

Status
Nicht offen für weitere Antworten.

0x7F800000

Top Contributor
Hallo allerseits!
(Ich bin immer noch blutiger Anfänger in sachen webdesign, daran hat sich seit dem letzten Sommer nichts geändert :D bitte nicht wundern: zeitmangel :autsch: )

"Wozu soll denn bitte schön CSS überhaupt gut sein?"
Diese Frage habe ich mir neulich wieder mal gestellt, als ich mir angeschaut habe, was die netten Leute in irgendwelchen anderen Foren alles vorschlagen, um einen "Rechteck mit runden Ecken" mithilfe von XHTML / CSS zu realisieren. Etwa den eigentlichen Inhalt in die Mitte einer Tabelle zu setzen, und die restlichen Zellen mit passenden Bildchen zu füllen, oder den eigentlichen Inhalt mit siebenunddreizig weiteren sinnfreien <div>-Blöcken zu umschließen, und diese dann mit CSS passend auszumalen.

Beides kommt mir äußerst gruselig vor. Da verstehe ich überhaupt den Sinn des gesamten unternehmens mit struktur-aussehen Trennung nicht. CSS 1-2 ist anscheinend einfach dermaßen schwach, dass die leute zu irgendwelchen finsteren hacks aus markup-salat mit vielen logisch unsinnigen elementen greifen, um ihrer Seite das gewünschte Aussehen zu verpassen. Folge: valides aber sinnfreies XML: das war doch so nicht geplant oder?

Da ich in den nächsten paar wochen beabsichtige, eine primitive webapplikation zu fabrizieren, würde ich deswegen gerne wissen, wie man solche Probleme "normalerweise" löst:
Soll ich ein Tupel ( CSS , Layout-XHTML-Datei ) als einheit betrachten, und den gesamten Inhalt in eine Inhalt-XHTML-Datei auslagern, und das ganze dann mit irgendeinem Servlet/JSP zusammenkleben und zum client schicken? Dann Kriegt der Client zwar immer noch denselben unverständlichen markup-wirrwarr, aber zumindest bleibts auf dem Server getrennt.

Oder was wäre eine einfache, aber dennoch akzeptable Lösung, mit der ich relativ schnell eine "Hello-World"-mäßige webseite erstellen könnte?

Die oberflächliche Suche in dem web brachte mir zum thema leider nichts was wesentlich weiter ging als " und <font> sind böse" :autsch:

Wäre für jegliche Tipps/sinnvolle Links/Buchempfehlungen sehr dankbar. :###
 
G

Gelöschtes Mitglied 6946

Gast
Runde Ecken bekommt man auch mit weniger als 37 Divs hin ;) Hängt nur immer ganz konkret davon ab, wo diese sollen sein, ob das Element flexibel ist und so weiter. Aber für CSS 3 sind runde Ecken mit Hilfe von Border geplant, Firefox hat da ab Version 2 sogar schon eine eigene Variante. Aber darum gehts ja nicht.

Prinzipiell ist es schon besser, HTML und CSS zu verwenden. Die HTML-Dateien werden im Allgemeinen schlanker und übersichtlicher, als wenn Tabellen-Layouts verwendet werden oder Styles mit Markup vermischt wird, die Datei ist somit auch schneller geladen (wenn das CSS-Gedöns in eine CSS-Datei ausgelagert wird, die die meisten Browser zwischenspeichern) und vielleicht spielt ja auch eine gewissen Barrierefreiheit eine Rolle und was SEO angeht hat man mit CSS statt Tabellen evtl. auch hie und da seine Vorteile.

Es wird aber immer irgendwelche Dinge geben, die nicht mit einem einzigen Element und ein bisschen CSS geklärt werden können. Runde Ecken für ein in alle Richtungen flexibles Element z.B. braucht mindestens 4 Elemente, die aber auch durchaus sinnvoll sein können, z.B. wenn in dieser "Box" als erstes Element ohnehin eine Überschrift drin ist (dann hätte man schonmal 2 Elemente). Insgesamt wird man aber weniger Verschachtelung brauchen, als mit Tabellen - sofern da jemand am Werk ist, der halbwegs Ahnung von dem hat, was er tut.

Im Zweifelsfall kann man immer SelfHTML empfehlen, da stehen die Grundlagen drin und auch als Nachschlagewerk für Zwischendurch nutze ich das gerne. Sonst kannst auch mal "Einführung in XHTML, CSS und Webdesign lesen, das ist vielleicht auch noch interessant.
 

0x7F800000

Top Contributor
Dass es nicht unbedingt 37 zusätzliche divs sein müssen war mir schon bewusst ;)
CSS3 wird schon wesentlich mächtiger, aber bis es der letzte drecksbrowser unterstützt will ich nicht unbedingt warten. :D
Styles mit Markup vermischt
Um Himmels willen, auf derart bescheuerte Idee würde ich sicherlich nicht kommen, keine Angst :)
Das "Online-Buch" vom Herrn Jendryschik habe ich praktisch vollständig durchgelesen und die tipps, welche die trennung von CSS und XHTML betreffen, sehr ernst genommen. Aber darum geht's mir gerade nicht.

Ich frage mich eher, wie trenne ich "layout-struktur-xhtml" von dem "inhalts-struktur-xhtml"?

Es wird aber immer irgendwelche Dinge geben, die nicht mit einem einzigen Element und ein bisschen CSS geklärt werden können. Runde Ecken für ein in alle Richtungen flexibles Element z.B. braucht mindestens 4 Elemente
Dagegen ist ja prinzipiell nichts einzuwenden. Wenn ich ein Komplexes Layout beschreiben will, muss ich das eben aufwendig mit vielen tags machen, weil der komplexe Sachverhalt sich eben nicht mit einem CSS-Wörtchen beschreiben lässt. Wenn ich diese ganze layout-strukturierungs tags in eine externe Datei etwa "layout.xhtml" auslagere und von dem eigentlichen Inhalt (text, formeln, bilder, applets) etwa "content.xhtml" komplett getrennt halte, dann ist die Welt doch voll in Ordnung.

Ich muss also den eigentlichen Inhalt aus der Inhalts-datei auslesen, diese irgendwie mit der layout-struktur verflechten, und das alles dann an den client schicken, samt css und dem ganzen Krempel. Wie stelle ich sowas am einfachsten an?



edit: Falls ich eine ähnliche Frage im SelfHTML forum stelle, zählt es als crossposting? Die Leute sehen das vielleicht aus einer anderen Perspektive, vielleicht können sie irgendetwas anderes vorschlagen? :roll:
 
G

Gelöschtes Mitglied 6946

Gast
Wo du so von einer extra Inhalts-XHTML-Datei sprichst, da muss ich unweigerlich an XML und XSLT denken. Du könntest dir z.B. eine XML-Struktur ausdenken, in der wirklich nu die puren Daten stehen und diese dann per XSLT in eine XHTML-Struktur überführen, die du dann zur Darstellung bringst. Oder so ähnlich... Naja whatever, hoffentlich wird dir im SelfHTML-Forum geholfen :)
 

0x7F800000

Top Contributor
XSLT! Ha! Ich glaube, das war das Stichwort! :) Habe darüber bisher nur im zusammenhang mit Prolog gehört, weil es angeblich auch irgendsoeine lustige logische Programmiersprache sein soll, habe mir aber noch nie die mühe gegeben, durchzulesen, wozu das eigentlich da ist :D Aber jetzt sieht es für mich so aus, als ob es genau das ist, wonach ich gesucht habe! Danke für den Tipp, ich werde mir das heute genauer anschauen :toll: :toll:
[im selfhtml hat es übrigens keiner vorgeschlagen, da hat es sich also doch gelohnt, hier nachzufragen :bae: ]

boah ey, dieses XSLT wird sogar von browsern verarbeitet, das ist doch einfach nur megageil! Da brauche ich also nur minimale Datenmenge rüberzuschicken, das kommt beim client an, und wird dort zu validen XML verwurschtet :) klasse.
 
M

maki

Gast
[im selfhtml hat es übrigens keiner vorgeschlagen, da hat es sich also doch gelohnt, hier nachzufragen bae.gif ]
Sehr komisch, die erste Antwort die du dort erhalten hast lautet:
@@0x7F800000:

»» Inhalt<->Darstellung XHTML<->CSS
»» ist zwar wünschenswert, aber scheinbar bisher nicht direkt möglich.

Doch:
XHTML → XSLT → XHTML ↔ CSS

»» Wie Kriegt man die Trennung denn normalerweise sauber hin?

Serverseitige oder clientseitige Transformation mit XSLT. [XSLT]

Live long and prosper,
Gunnar
 

0x7F800000

Top Contributor
@maki: hehe, nein, bei SelfHTML landen wegen der "klassischen Forenansicht" die jungsten beiträge Ganz oben. Die Antwort mit XSLT ist da nicht mal vor zwei Stunden aufgetaucht, das ist die allerletzte Antwort. :) Davor kamen hauptsächlich Vorschläge mit finsteren CSS-:before-:after-Hacks, sowie Ideen, die xhtml struktur mit JavaScript aufzublähen.

Aber gut, somit wäre meine Frage umfassend beantwortet. Danke an Alle. :toll: :lol:
 
M

maki

Gast
>> hehe, nein, bei SelfHTML landen wegen der "klassischen Forenansicht" die jungsten beiträge Ganz oben.

Achso ;)
 

0x7F800000

Top Contributor
Dürfte ich vielleicht doch noch eine Frage hinterherwerfen...

Gibt es beim super tollen offiziellen w3c validator wirklich keine Möglichkeit, xml mit SYSTEM-dtd also
Code:
<!DOCTYPE rootelement SYSTEM ... >
zu validieren, oder habe ich keine Augen im Kopf?
Wo soll man da die dtd denn hochladen? :shock: :bahnhof:

bzw: wieso geht es denn hier: http://www.xmlvalidation.com/ und beim w3c validator nicht?? ???:L
(der von xmlvalidation.com fragt nochmal nach der dtd, wenn er online keine findet)
 
Status
Nicht offen für weitere Antworten.

Neue Themen


Oben