IPB

Willkommen, Gast ( Anmelden | Registrierung )

 
Reply to this topicStart new topic
> php-includes vor dem html-container
dbeyer
Beitrag 24.06.2007 - 17:59
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
Go to the top of the page
 
+Quote Post
Peter Gedamke
Beitrag 24.06.2007 - 18:11
Beitrag #2


posten ist das halbe Leben
***

Gruppe: User
Beiträge: 201
Mitglied seit: 15.10.2006
Wohnort: Berlin
Mitglieds-Nr.: 6.416



hallöchen,

schau doch mal hier rein:

http://de.selfhtml.org/navigation/html.htm#grundgeruest

da ist mal alles zu den unterschiedlichen Arten von DOCTYPE beschrieben.
Klar ist, dass verschiedene Eingaben unterschiedliche Darstellungen ergeben können, darum sollte bereits bei der Erstellung auf korrekte Eingabe geachtet werden.

Gruss
Peter
Go to the top of the page
 
+Quote Post
Auge
Beitrag 24.06.2007 - 21:15
Beitrag #3


Anwärter auf W3.org Mitgliedschaft
*****

Gruppe: User
Beiträge: 550
Mitglied seit: 28.11.2001
Wohnort: Berlin Friedrichshain
Mitglieds-Nr.: 107



Hallo

ZITAT(dbeyer @ 24.06.2007 - 18:59) *
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.

ZITAT(dbeyer @ 24.06.2007 - 18:59) *
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.

ZITAT(dbeyer @ 24.06.2007 - 18:59) *
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. wink.gif

Tschö, Auge

Der Beitrag wurde von Auge bearbeitet: 24.06.2007 - 21:17
Go to the top of the page
 
+Quote Post
dbeyer
Beitrag 27.06.2007 - 16:36
Beitrag #4


Rookie


Gruppe: User
Beiträge: 3
Mitglied seit: 09.04.2006
Mitglieds-Nr.: 5.952



Danke, Auge und Peter Gedamke,
für die ausführliche Stellungnahme. Ich weiß das sehr zu schätzen.
Einen Teil deiner Anregungen habe ich umgesetzt und der W3C/CSS-Validatar hat es gedankt. Die Fehlerzahl ist deutlich gesunken.
Leider ist es sehr umständlich, immer erst hochzuladen, um zu validieren.
Es wäre leichter dies direkt in Phase 5 zu prüfen.
Die von mir angesprochene Verschiebung der Seitengestaltung hatte tatsächlich nichts mit dem php-Code noch mit dem fehlenden DOCTYPE zu tun, sondern lag an CSS-Fehlern. Bei den Positionsangaben , z.B.

div#news {
width : 250px;
position : absolute;
top : 166px;
left : 492px;

fehlte die Dimmension "px".

Die Steuerung der Navigation beabsichtige-auf der nächsten Baustelle- ich von Javascript auf CSS umzustellen. Liege ich da richtig (wenn ich es schaffe)?
Nochmals danke und Grüße
dbeyer
Go to the top of the page
 
+Quote Post
Auge
Beitrag 27.06.2007 - 19:47
Beitrag #5


Anwärter auf W3.org Mitgliedschaft
*****

Gruppe: User
Beiträge: 550
Mitglied seit: 28.11.2001
Wohnort: Berlin Friedrichshain
Mitglieds-Nr.: 107



Hallo

ZITAT(dbeyer @ 27.06.2007 - 17:36) *
Die Steuerung der Navigation beabsichtige-auf der nächsten Baustelle- ich von Javascript auf CSS umzustellen. Liege ich da richtig (wenn ich es schaffe)?

1. Nein und ja.
2. Weiß ich nicht.

zu 1) Grundsätzlich wird die Navigation in HTML geschrieben (was auch das JavaScript-Skript macht) und nicht in CSS, deshalb nein.
Ausführlicher: richtig im Sinne von "zugänglich für jeden Besucher und auch Suchmaschinenroboter" wird die Navigation ganz normal in HTML geschrieben, und so gestaltet und positioniert, als würde CSS und JavaScript nicht zur Verfügung stehen. Dann, wenn CSS verfügbar ist, werden durch eine CSS-Anweisung die Bereiche ausgeblendet, die erst beim Überfahren des jeweiligen Menüpunkts angezeigt werden sollen. Gleiches gilt, wenn das Auf- und Zuklappen per JavaScript erledigt werden soll (mögl. Grund siehe unten). Offen stehenlassend laden, wenn JavaScript verfügbar -> zuklappen, wenn Maus über Menüpunkt -> aufklappen.

Ja, weil die Navigation mit CSS gestaltet wird, was sich auch auf das Auf- und Zuklappen der Navigationsbereiche bezieht.
Wobei hierbei zu sagen ist, dass dies nicht mit Internet Explorern unter Version 7 funktioniert, womit dort doch wieder JavaScript zum Einsatz kommen muss, außer man verzichtet dort auf das Auf- und Zuklappen.

Wie man die verschiedenen Browser unterscheiden kann, um ihnen verschiedene Lösungen zukommen zu lassen? Man setze auf Conditional Comments, um verschiedene MSIE-Versionen anzusprechen und anderen Browsern den entsprechenden Code vorzuenthalten oder bestimmte CSS-Hacks[1], um die CSS-Lösung vor den MSIEs und anderen unfähigen Browsern zu verstecken.

Infos dazu: CCs und CSS-Hacks bei SELFHTML oder auch per Google. Es gibt bei SELFHTML auch Schemata/Vorlagen, an denen man diesem Problem (mit Eigenleistung!) beikommen kann. Ich finde bloß grad' keinen passenden Link.

zu 2) Betrifft: "wenn ich es schaffe". Ob du den Themenbereich soweit überblickst, dass du zu einer, dich befriedigenden, Lösung kommst, weiß ich nicht. Kannst ja hier wieder nachfragen.

[1] CSS-Hacks meint die Ausnutzung von Unfähigkeiten bestimmter Browser, nicht nur des MSIEs, CSS-Anweisungen standardgerecht umzusetzen.

Tschö, Auge

Der Beitrag wurde von Auge bearbeitet: 27.06.2007 - 19:50
Go to the top of the page
 
+Quote Post
Google Bot
Beitrag
Beitrag #


Google Ads









Go to the top of the page
 
Quote Post

Reply to this topicStart new topic
1 Besucher lesen dieses Thema (Gäste: 1 | Anonyme Besucher: 0)
0 Mitglieder:

 



RSS Vereinfachte Darstellung Aktuelles Datum: 16.04.2024 - 8:27

taschenkalender
expertise-panel IPS Driver Error

IPS Driver Error

There appears to be an error with the database.
You can try to refresh the page by clicking here