Probleme mit Validator W3
lima-city → Forum → Die eigene Homepage → HTML, CSS & Javascript
angabe
blocken
code
dokument
element
fehlermeldung
karpfen
machen
meckern
not
null
problem
standard
start
stehen
tabelle
tag
text
unterschied
url
-
Hallo
Ich habe mehrere tag/problem">Probleme beim Validieren einer meiner Seiten. Übersichtshalber poste ich erstmal ein Problem.
Ich habe im Quelltext folgende Zeilen:
# <p> # # <blockquote> # # <table style="text-align: left; width: 355px; height: 176px;" border="0" cellpadding="2" cellspacing="2"> # # <tbody> # # <tr> # # <td><img style="width: 137px; height: 130px;" alt="" src="images/Welcome.jpg"></td> # # <td> # <div style="margin-left: 40px; text-align: justify;"><small><span style="font-style: italic;">Hier steht ein Beispieltext der als Begrüßung fungiert.</span></small></div> # # </td> # # </tr> # # </tbody> # # </table> # # </blockquote> # # </p>
Ich habe also eine zweispaltige und einzeilige Tabelle mit dem Attribut "blockbg" die ich mit "p" positionieren möchte (eine Zeile von oben und eine Zeile Abstand von unten). Warum zeigt mit der Validator eine Fehlermeldung an? Ich habe es auch mit <br>" (bzw. </br>) versucht, aber auch da kommt nur eine Fehlermedlung.
MfG
Webdesignerin -
Diskutiere mit und stelle Fragen: Jetzt kostenlos anmelden!
lima-city: Gratis werbefreier Webspace für deine eigene Homepage
-
Weil es dem Validator Spass macht Leute zu ärgern
Welche Fehlermeldung wird denn angezeigt?
Ohne kann man nur raten.
Ich selbst verwende <br/> und das funzt gut. -
Hallo,
das Problem ist, dass die Tabelle ein Blockelement ist, und in <p> und <blockquote>-Tags nicht zu suchen hat. In <p> gehört nur Text hinein (paragraphed content). Auch blockquote darf nicht in <p> stehen.
Wenn du die Tabelle positionieren willst, machst du das am besten auch über CSS. Wenn du sie jedenalls aus p und blockquote rausnimmst, sollte der validator nicht mehr jammern.
ps3web -
karpfen schrieb:
Weil es dem Validator Spass macht Leute zu ärgern
Achsoooo ... das hätte man mir aber auch gleich sagen können Das merkt man aber auch gar nicht an den vielen Threads dazu im Netz ...
karpfen schrieb:
Welche Fehlermeldung wird denn angezeigt?
end tag for element "P" which is not open
karpfen schrieb:
Ich selbst verwende <br/> und das funzt gut.
Nur </br>? Dann würde der Validator doch auch wieder meckern, weil der Tag nicht geöffnet ist.
ps3web schrieb
[...]das Problem ist, dass die Tabelle ein Blockelement ist, und in <p> und <blockquote>-Tags nicht zu suchen hat. In <p> gehört nur Text hinein (paragraphed content). Auch blockquote darf nicht in <p> stehen.
Hmh, wie sicher bist Du Dir da, weil karpfen scheint es ja zu funktionieren?
MfG
Webdesignerin -
Nachdem ich die Fehlermeldung nicht kannte, du aber von <br> geschrieben hast, habe ich nur mal meine Variante des Zeilenumbruchs genannt. Muss aber nicht der Fall sein. Nachdem ich nun die Fehlermeldung kenn, würde ich eher zur Lösung von ps3web tendieren.
Probier es doch einmal aus, indem du den <p> Tag auskommentierst und die Seite erneut validierst.
Beitrag zuletzt geändert: 28.5.2009 13:09:56 von karpfen -
karpfen schrieb:
Ich selbst verwende <br/> und das funzt gut.
Nur </br>? Dann würde der Validator doch auch wieder meckern, weil der Tag nicht geöffnet ist.
<br /> und nicht </br> !
Kuckst du Standalone Tag -
bladehunter schrieb:
karpfen schrieb:
Ich selbst verwende <br/> und das funzt gut.
Nur </br>? Dann würde der Validator doch auch wieder meckern, weil der Tag nicht geöffnet ist.
<br /> und nicht </br> !
Kuckst du Standalone Tag
Oh Sorry, Guck-/Lesefehler meinerseites. Ja Standalone Tag sagt mir natürlich was.
*mal ausprobieren geht*
EDIT 1 : Hmh nee, geht auch nicht. Jetzt kommt folgende Meldung:
<br />
NET-enabling start-tag requires SHORTTAG YES
The sequence <FOO /> can be interpreted in at least two different ways, depending on the DOCTYPE of the document. For HTML 4.01 Strict, the '/' terminates the tag <FOO (with an implied '>'). However, since many browsers don't interpret it this way, even in the presence of an HTML 4.01 Strict DOCTYPE, it is best to avoid it completely in pure HTML documents and reserve its use solely for those written in XHTML.
EDIT 2 : Mit CSS geht es. THX
Nun zum nächsten Problem:
Wenn ich einen Counter (PPH Logger) oder fremden Pagerankdienst einbinde sagt er mir, dass die Angabe des Counterstyles falsch ist:
general entity "style" not defined and no default entity
&style=1
An entity reference was found in the document, but there is no reference by that name defined. Often this is caused by misspelling the reference name, unencoded ampersands, or by leaving off the trailing semicolon (;). The most common cause of this error is unencoded ampersands in URLs as described by the WDG in "Ampersands in URLs".
Entity references start with an ampersand (&) and end with a semicolon (;). If you want to use a literal ampersand in your document you must encode it as "&" (even inside URLs!). Be careful to end entity references with a semicolon or your entity reference may get interpreted in connection with the following text. Also keep in mind that named entity references are case-sensitive; &Aelig; and æ are different characters.
If this error appears in some markup generated by PHP's session handling code, this article has explanations and solutions to your problem.
Note that in most documents, errors related to entity references will trigger up to 5 separate messages from the Validator. Usually these will all disappear when the original problem is fixed.
MfG
Webdesignerin
Beitrag zuletzt geändert: 28.5.2009 13:31:03 von webdesignerin -
Lösung:
HTML 4 -> <br>
XHTML -> <br />
Welchen DOCTYPE verwendest Du?
Beitrag zuletzt geändert: 28.5.2009 13:29:12 von fatfreddy -
Hallo
*g* Crossgeposted
Wie schon im obigen Edit, das erste Problem hat sich mit CSS erledigt.
Mein Dokumenten-Typ:
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
Kannst Du mir auch noch Etwas zu meinem zweiten Problem sagen?
LG
Webdesignerin -
Ersetze mal &style=1 durch &style=1
-
Hallo,
scheint, als müsstest du statt
&style=1
&style=1
schreiben. Normalerweise fangen ja Sonderzeichen wie oder < mit & an, bei dir ist das & aber in einer URL (?), da solltest du es escapen, also als & schreiben. Wenn du XHTML-Code schreibst musst du das sowieso machen.
ps3web -
HI
Mensch, da hab ich mal wieder nicht auf die kleinen, wichtigen Dinge geachtet und schon nimmt mir der Validator das Übel - wo er ja auch Recht hat...
THX (nochmal )
So. Nun habe ich noch ne Frage. IM Quelltext habe ich folgende Zeile u.a. included:
<div style="margin: 0pt auto; width: 800px;">
Da sagt er mir:
document type does not allow element "DIV" here; missing one of "APPLET", "OBJECT", "MAP", "IFRAME", "BUTTON" start-tag
The mentioned element is not allowed to appear in the context in which you've placed it; the other mentioned elements are the only ones that are both allowed there and can contain the element mentioned. This might mean that you need a containing element, or possibly that you've forgotten to close a previous element.
One possible cause for this message is that you have attempted to put a block-level element (such as "<p>" or "<table>") inside an inline element (such as "<a>", "<span>", or "<font>").
Und bevor Geschrei aufkommt: JA ich habe innerhalb diesen Tags unvermeidbare weitere <a> und </a> Tags, da das genannte problematische "div" Element mein Menü positioniert und ich das - warum auch immer - nicht alternativ mit CSS geregelt bekomme.
-
webdesignerin schrieb:
Mein Dokumenten-Typ:
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
Eigentlich sollten neue HTML Dokumente _immer_ XHTML Strict sein.
Alles andere ist wirklich nur dazu da, damit man alte Websites noch einigermaßen an einen Standard anpassen kann, wenn XHTML Strict zu radikale Änderung erfordern würde. -
Sei doch mal etwas großzügiger mit deinen Codeschnipseln. ;)
Was hast Du denn um das DIV herum gebaut? Die Fehlermeldung besagt doch, daß das bemängelte DIV innerhalb eines Textelementes steht. -
HI
Meine menue.php sieht in Etwa so aus:
<div style="margin: 0pt auto; width: 800px;"> <div class="pd_menu_01"> <ul> <li><a href="index.php">Startseite</a> </li> </ul> <ul> <li><a href="#">Kategorie A</a> <ul> <li><a href="Submenue_1.php">Submenü 1</a></li> <li><a href="Submenue_2.php">Submenü 2</a></li> <li><a href="Submenue_3.php">Submenü 3</a></li> <li><a href="Submenue_4.php">Submenü 4</a></li> </ul> </li> </ul> </div> </div>
LG
Webdesignerin -
Hallo,
das Problem liegt ja darin, dass das DIV-Element an dieser Stelle nicht stehen darf. Also müsstest du uns auch den Code geben, der um das DIV-Element herum steht , damit wir wissen, warum der Zusammenhang falsch ist.
ps3web -
Hallo!
...or possibly that you've forgotten to close a previous element.
Schau mal nach ob du vorher nicht ein Inline Element geöffnet hast und nicht richtig geschlossen. Das würde den Fehler erklären.
Am Rande bemerkt:
Die Angabe 0pt ist unnötig. Es ist egal ob ich null Äpfel oder null Birnen hab. Es ist eben nichts! Null reicht aus.<div style="margin: 0pt auto; width: 800px;">
bladehunter schrieb: Eigentlich sollten neue HTML Dokumente _immer_ XHTML Strict sein.
Ob das so bleibt? Es wäre gut möglich, dass bald HTML5 "im Trend" liegt. Daher sollte es auch nicht stören, wenn es wenigstens HTML 4.01 Transitional valide ist.
Alles andere ist wirklich nur dazu da, damit man alte Websites noch einigermaßen an einen Standard anpassen kann, wenn XHTML Strict zu radikale Änderung erfordern würde. -
Vor dem includeten Menü ist nur ein Bild und der Header:
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"> <html> <head> <base href="http://www.url.de/"> <meta http-equiv="content-type" content="text/html; charset=ISO-8859-1"> <title>Webseiten-Titel</title> <meta name="keywords" content=""> <meta name="description" content=""> <link href="default.css" rel="stylesheet" type="text/css"> <link href="menue.css" rel="stylesheet" type="text/css"> </head> <body> <script type="text/javascript" src="http://www.plagaware.de/addpage.js"></script> <div id="header" style="text-align: center;"><br> <center><img style="width: 800px; height: 60px;" alt="" src="images/header.gif"></center> </div> <small>
Direkt danach kommt die menue.php.
werktags schrieb:
Die Angabe 0pt ist unnötig. Es ist egal ob ich null Äpfel oder null Birnen hab. Es ist eben nichts! Null reicht aus.
Das leuchtet mir natürlich ein. Ich bin ja wie gesagt derzeit beim Ausbessern von Quelltextfehlern. Werde ich aber gleich mitbeheben.
LG
Webdesignerin
P.S.: Ich bin auch dafür, HTML zu behalten und nicht auf XHTML zu wechseln, zumal ich nicht bereit zum dritten Mal 100 Seiten durch den Validator zu jagen , wo pro Seite 91 Fehlermeldungen wegen dem HTML Standard kommen. -
Hallo,
das Problem ist das gleiche, wie wir es vorhin auch schon hatten. Im Element <small>, was direkt vor dem DIV kommt, darf kein Block-Content kommen, also keine Elemente wie table, div usw. Du musst <small> entweder vorher schließen oder komplett weglassen. Die kleinere Schrift kannst du ja auch auf das div anwenden mit style="font-size:small".
Außerdem solltest du <center> nicht mehr verwenden, nimm stattdessen <div align="center"> </div> oder zentriere das div per CSS mit margin:auto;
Viele Grüße,
ps3web -
In der letzten Zeile steht ein small-Tag, also ein Inline-Element. Das hat dort nichts zu suchen, wenn dann ein div kommt, was ein Block-Element ist.
webdesignerin schrieb: Ich bin auch dafür, HTML zu behalten und nicht auf XHTML zu wechseln, zumal ich nicht bereit zum dritten Mal 100 Seiten durch den Validator zu jagen , wo pro Seite 91 Fehlermeldungen wegen dem HTML Standard kommen.
Die Unterschiede sind nicht so gravierend. Zudem kann das ein oder andere Editorprogramm das automatisch. Bei Quanta Plus habe ich das mal gefunden. Aber nicht getestet- brauche das ja auch nicht, da ich XHTML verwende.
Dennoch würde ich, wenn möglich, XHTML benutzen. Jedoch kann es sein, dass HTML5 einiges in Angriff nimmt, was eine Webseite logischer macht. Hiermit meine ich z.B sowas wie ein header-Tag oder nav-Tag. Aber erst mal abwarten, wie es sich entwickelt. Vorerst bleibt XHTML der Standard.
PS: ps3web ist immer schneller -
Diskutiere mit und stelle Fragen: Jetzt kostenlos anmelden!
lima-city: Gratis werbefreier Webspace für deine eigene Homepage