Moin!
Ich fände es eigentlich schon sinnvoll, alte Browser rauszudrängen (jaja ich weiß, allein bin ich machtlos), was spricht dagegen?
Nichts spricht dagegen. Wenn du es dir leisten kannst und willst, daß deine Seite nur noch von aktuellen Browsern besuchbar ist, dann nimm keine Rücksicht mehr. Wenn du vielleicht doch noch ein Herz für alte Browser hast, dann nutze die Chance von CSS, und laß den alten Browsern (auch Netscape 4) zumindest die Inhalte, und mache in einem Eingangsabsatz klar, daß es nur deswegen so billig aussieht, weil der Browser scheiße ist.
Ich habe mich dazu entschieden, immer die Angabe language="JavaScript" reinzusetzen, sinnvoll?
Das kannst du im Prinzip auch lassen, weil es absolut nichts hilft. Entweder kommt da eine Versionsnummer dazu, um unfähigere Browser auszuschließen, oder du kannst die Angabe komplett knicken.
Nun zu CSS: Ich habe mal versucht, auf den Font-Tag zu verzichten und habe ihn durch den Span-Tag ersetzt, welcher jeweils CSS-Angaben beinhaltet. Dabei ist mir aufgefallen, dass es völlig schwachsinnig ist, diesen Tag (font) rauszunehmen. Nehmen wir mal an, ich wollte folgende zwei Zeilen schreiben:
<font color="#FF0000">Dieser Text ist rot</font><br>
<font color="#0000FF">Dieser Text ist blau</font>
Nun will ich auf den Font-Tag verzichten:
<span style="font-color: #FF0000">Dieser Text ist rot</span><br>
<span style="font-color: #0000FF">Dieser Text ist blau</span>
Das ist viel umständlicher.
Richtig, so wie du es verwendest, ist es umständlicher. Aber deine Anwendung geht weit an den Möglichkeiten von CSS vorbei.
Grundlage ist, daß HTML die logische Textauszeichnung vornimmt, und CSS dann die Formatierung.
Logische Textauszeichnung ist:
<h1>Ich bin die Überschrift</h1>
<p>Ich bin der Textabsatz darunter</p>
<p>Und ich bin Text, der noch etwas <strong>ganz wichtiges</strong> hinzuzufügen hat</p>
Sieht ohne CSS in einem Browser ziemlich langweilig aus. Das <strong> dürfte gewöhnlich als Fettschrift dargestellt werden.
Wenn du nun aber in einer externen CSS-Datei oder auch im <style>-Abschnitt dieser Datei folgende Formatierungsangaben machst:
h1 { font-family:Verdana,Arial,sans-serif; font-size:20px; font-color:red; background-color:black; }
p { font-family:"Courier New",Courier,monospace; font-size:12px; font-color:#FF8855; background-color:#444; }
strong { font-weight:normal; text-decoration:underline overline; font-color:#0066FF; }
Dann sieht der Absatz plötzlich ganz anders aus.
Und dir sollte klar sein, daß man auf diese Weise die Angaben alle in einer Datei halten kann, und eben zum Ändern der Schriftart nicht mehr in tausend <font>-Tags rumfummeln muß, sondern nur noch einmal in der zentralen Datei:
p {font-family:Tahoma, sans-serif; ... }
Schon ist alles umformatiert.
Außerdem habe ich mal versucht, auf den center-tag zu verzichten:
<center>Dieser Text ist mittig</center>
CSS:
<span style="text-align: center">Dieser Text ist mittig</center> <-- Das geht nicht!
Klar, denn das hier geht ja auch nicht:
texttexttext<center>Das ist zentriert</center>texttexttext
Du kannst nur komplette Absätze zentrieren. Also mußt du
<div style="text-align:center;">Das ist zentriert</div> nehmen.
Was nun? Der Div-Tag erzeugt automatisch einen Absatz, außerdem ist er laut SELFHTML weder in strict noch in transitional noch in frameset.
Stimmt, in der Elementreferenz sind da keine Angaben gemacht aber in der Beschreibung http://selfhtml.teamone.de/html/text/bereiche.htm#block sind deutlich die Standards HTML 3.2 und XHTML 1.0 als Icons genannt. Ist vermutlich ein Fehler, der noch nicht korrigiert wurde.
Laut W3C gehört DIV sowohl zu strict als auch zu transitional, und vermutlich darf es selbst in frameset innerhalb des noframes-Bereichs benutzt werden.
Noch was anderes:
Nach W3 sollte sich in jedem Form-Tag eine action-Angabe befinden. Was, wenn ich gar keine action-Angabe brauche. Wieso soll ich dann action="" reinschreiben?
Formulare sind per Definition dazu da, abgeschickt zu werden. Und dieses Abschicken geht irgendwo hin. Folglich muß eine Adresse angegeben werden.
Wenn du nichts abschicken willst: Laß <form> weg und probiere, ob es trotzdem geht. Obwohl ich mir da fast sicher bin, daß irgendwelche Browser das garnicht gut finden werden.
Ich bitte euch außerdem noch um eure Meinung hierzu:
var text = "....."
oder
text = "....."
???
Hängt vom gewünschten Programm ab.
var text=".." erzeugt eine in diesem Moment lokale Variable, die für Programmcode außerhalb z.B. der Funktion unbekannt ist.
text=".." erzeugt in jedem Fall eine globale Variable, sofern sie nicht schon als lokal definiert ist.
Es ist guter Stil, alle benötigten Variablen mit var name zu definieren, und auch möglichst wenige als global anzulegen.
Desweiteren meine ich rausgehört zu haben, dass, wenn der User JavaScript deaktiviert hat, DOM trotzdem funktioniert. Ich dachte bisher, dass DOM wie auch die anderen DHTML-Modelle immer in Verbindung mit JavaScript stehen, schließlich werden deren Befehle doch zwischen <script> und </script> geschrieben?!
DOM ist der Baum, der durch die Definitionen der HTML-Tags entsteht. Nur bringt der eigentlich ohne Javascript garnichts, weil er sonst ziemlich allein in der Gegend rumsteht. Wenn Javascript aus ist, kann nichts programmiertes ablaufen.
- Sven Rautenberg