![]() |
Willkommen, Gast ( Anmelden | Registrierung )
![]() |
![]()
Beitrag
#1
|
|
Rookie Gruppe: User Beiträge: 3 Mitglied seit: 09.04.2006 Mitglieds-Nr.: 5.952 ![]() |
Guten Tag,
habe eine fertige Web Site "http://www.ski-club-hanau.de/" zur Bearbeitung übernommen. Meine Index.php-Datei beginnt mit: "<?php include ('scripts/bilder.php');?> <html> <head> <title>Willkommen auf den Seiten des Ski Club Hanau e.V.</title> <meta http-equiv="Content-Type" content="text/html; charset=windows-1252"> <meta http-equiv="Language" content="de">..." Wollte den W3C-Standard überprüfen (Html validieren) und bekomme eine Fehlermeldung" "No DOCTYPE found! Attempting validation with HTML 4.01 Transitional. "....You should place a DOCTYPE declaration as the very first thing in your HTML document. For example, for a typical XHTML 1.0 document: <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">...." Wenn ich, wie gefordert, die Doctype-Formel an erste Stelle setze, verschiebt sich der Aufbau der Seite. Die oben genannte include-Datei "scripts/bilder.php" beinhaltet Zufallsfotos am Seitenanfang. In der screen.css-Datei sind alle Grafiken und Inhalte auf "absolute" Position definiert. Beispiel: div#zufall { position: absolute; top: 139; left: 0; } Was ist falsch? Was muß ich ändern? Wo muß ich die Fehlersuche ansetzen? Danke im Voraus für die Hilfe. MfG dbeyer Der Beitrag wurde von dbeyer bearbeitet: 24.06.2007 - 18:00 |
|
|
![]() |
![]()
Beitrag
#2
|
|
Anwärter auf W3.org Mitgliedschaft ![]() ![]() ![]() ![]() ![]() Gruppe: User Beiträge: 550 Mitglied seit: 28.11.2001 Wohnort: Berlin Friedrichshain Mitglieds-Nr.: 107 ![]() |
Hallo
Wollte den W3C-Standard überprüfen (Html validieren) und bekomme eine Fehlermeldung" "No DOCTYPE found! Attempting validation with HTML 4.01 Transitional. Jedes HTML-Dokument soll mit einer solchen Deklaration beginnen, damit das Anzeigeprogramm, meist ein Browser, weiß, welche HTML-Version zur Erstellung des Dokuments verwendet wurde. Da gibt es: HTML 1, HTML 2, HTML 3.2, HTML 4, HTML 4.01, XHTML 1, XHTML 1.1. Von HTML 4 bis XHTML 1 jeweils in den "Unterversionen" strict, transitional, frames. Die beiden letzteren fallen bei XHTML 1.1 wieder weg. Wenn ich, wie gefordert, die Doctype-Formel an erste Stelle setze, verschiebt sich der Aufbau der Seite. Die oben genannte include-Datei "scripts/bilder.php" beinhaltet Zufallsfotos am Seitenanfang. Das sollte aber nicht an der Position des PHP-Blocks liegen. Dessen Code wird auf dem Server ausgeführt. Wenn der Browser an die Datei kommt, siehr er nichts mehr davon. Du kannst dir ja mal den Quellcode der dem Browser übermittelten Datei anschauen (Rechtsklick->Quellcode anzeigen (oder ähnlich)). Von der Notation des PHP-Blocks wirst du nichts sehen. Dem einen oder anderen Browser wird es übrigens nicht reichen, dass du ausschließlich Angaben über die Position des das Zufallsbild umschließenden <div>s machst. ergänzende Angaben zu breite und Höhe des <div>s sowie zu margin und padding des Bildes ansich können nicht schaden. Es können vom Browser Standardvorgaben verwandt werden, die von 0 abweichen uns somit zum "verrutschen" der Grafik führen/beitragen. Was ist falsch? Was muß ich ändern? Wo muß ich die Fehlersuche ansetzen? Nun ja, nachdem ich mir den Quelltext angeschaut habe, gibt es da einige Stellen, die korrigiert werden müssen. 1. Die Doctype-Deklaration gehört, wie schon gesagt, in jedes Dokument. Aber nur einmal pro Dokument. Offensichtlich wird die Seite aus mehreren PHP-Includes gespeist, denen jeweils eine eigene Doctype-Deklaration voransteht. Das ist falsch, entferne alle Deklarationen außer der, die am Anfang der HTML-Ausgabe steht und momentan auskommentiert ist. Mit "HTML 4.01 transitional" solltest du auch am leichtesten zurecht kommen, da du Angaben zur Dimensionierung der Tabellen via Attributen erledigst, die in den anderen Sprachversionen (frames, strict) verboten sind. 2. Das Skript zur Ausgabe des Zufallsbilds sollte den img-Tag um das alt-Attribut (Pflichtattribut, im Zweifelsfall leer (alt="")) und die Angabe von Höhe und Breite des Bildes ergänzen. Letzteres vermeidet das Springen des darunter liegenden Textes während des Ladens der Seite, weil dem Browser erst dabei die Ausmaße der Grafik bekannt werden. 3. <font> ist kein HTML-Element! Es ist ein von Microsoft eingeführtes Element (wie <marquee>, oder <blink> von Netscape), das nie zum HTML-Standard, egal in welcher Version, hinzugefügt wurde. Zur typografischen Gestaltung von Texten, zu der es (<font>) da ist, benutze bitte CSS, wenn du dies schon zur Anordnung von Elementen tust. Soweit zu den Fehlern, die mir aufgefallen sind und die auch der Validator anmeckern würde, so die Prüfung nicht schon an der fehlenden Doctype-Deklaration gescheitert wäre. Noch ein paar Dinge, die mir aufgefallen sind: Einige Browser stören sich zurecht am Fehlen von Anführungszeichen um Attributwerte, wenn diese andere als reine Zahlenwerte enthalten. Beim Überfliegen des Quelltextes fand ich zwar nur Zahlenwerte, die nicht in Anführungszeichen verpackt waren, aber kontrolliere dies nochmal selbst. Als Tip: Verpacke alle Attributwerte, damit liegst du immer auf der sicheren Seite, zumal du dich nicht dann umgewöhnen musst, wenn du auf die XHTML-Notation umsteigen solltest. Dort sind Anführungszeichen immer Pflicht. Als Ergänzung zu Punkt 3 (Gestaltung von Texten per CSS) sei noch folgendes angemerkt. Du hast einige Texte in der Seite, die eigentlich Überschriften sind, aber nicht als solche ausgezeichnet wurden. Schau dir die Texte auf der Seite an und überlege dir eine geeignete Struktur. Typischerweise folgen solche Strukturen in etwa folgendem Schema. QUELLTEXT <h1>Hauptüberschrift/Titel des Dokuments</h1> <h2>Eine Zwischenüberschrift</h2> <!-- Inhalt --> <h3>Eine Überschrift zur feineren Unterteilung innerhalb des Blocks der ersten Zwischenüberschrift</h3> <!-- Inhalt --> <h2>Eine weitere Zwischenüberschrift</h2> <!-- Inhalt --> <!-- und so weiter --> Das kann bis zur sechsten Ebene (<h6></h6>) weitergesponnen werden. Meist reichen aber zwei oder drei Ebenen. Überschriften können, wie jegliche andere Textelemente (Absätze <p>, Listenpunkte <li>, Text in Tabellenzellen <th>, <td>; etc, pp.) mit CSS auf vielfältige Weise formatiert werden. Da gibt es: Farbe -> color Größe -> font-size Schriftarten bzw. -familien -> font-family Gewichtung (fett oder nicht (auch in Abstufungen)) -> font-weight Schriftstil (kursiv oder nicht) -> font-style Spezialformatierung der ersten Zeile -> :first-line ... ... oder des ersten Zeichens -> :first-letter Siehe SELFHTML: Schriftformatierung und SELFHTML: Pseudoelemente und -klassen für Absätze Damit kannst du alle Effekte, z.B. das bei dir verwendete Vergrößern des ersten Buchstabens einer Zeile, realisieren. Beachte dabei jeweils, von welchen Browsern die entsprechende Angabe unterstützt wird. Im Zweifelsfall kann man meiner Meinung nach auf den einen oder anderen Gimmick auch verzichten bzw. hinnehmen, dass das nicht in allen Browsern funktioniert. Ach ja, die Navigation. So, wie sie momentan aufgebaut ist, wirst du mit Suchmaschinen kein Glück haben. Die können nämlich kein JavaScript ausführen und sehen somit nichts von den Links zu den anderen Seiten. Aber das ist eine andere Baustelle. ![]() Tschö, Auge Der Beitrag wurde von Auge bearbeitet: 24.06.2007 - 21:17 |
|
|
![]() ![]() |
![]() |
Vereinfachte Darstellung | Aktuelles Datum: 07.07.2025 - 14:53 |