P in Div Problem
Anonym
- html
Hey Leute ich habe ein Validitätsproblem.
Und zwar zeigt mir W3 an das ich anscheinend Blockelemente in Inlineelemente habe. Ich kann dies nicht ganz nachvollziehen da ich dies nicht sehe (!?). Hier ist ein kleiner Auszug vom Code:
<div id="center_col">
<p><span style="text-decoration:underline; font-size: 18px; font-weight: bold">Herzlich Willkommen auf Adventure-...</span></p>
<p>Guten Tag liebe ...!<br />
Wie unser Motto schon sagt wird hier über moderne und klassische ... berichtet. In unseren ... werden<br />die einzelnen Spiele vorgestellt und bewertet. Die ... helfen, wenn Hilfe beim Lösen der Rätsel benötigt wird und<br />unsere ... geben einen guten Einblick in die Welt der ...<p/>...
Wenn ich mich nicht irre (und ich hoffe ich tus weil ich sonst bald verzweifel), Sind Div und P Blockelemente und Span und Br Inline Elemente.
Habe ich hier irgendwo Block in Inline oder aus welchem Grund sind nach dem Validator alle P falsch?
Vielen Dank für eure Hilfe,
Gruß
@@Anonym:
nuqneH
<div id="center_col">
Benenne ID- und Klassenbezeichner nicht nach der gegenwärtig gewünschten Darstellung!
<p><span style="text-decoration:underline; font-size: 18px; font-weight: bold">
Gib Darstellung nicht inline im HTML in @style-Attributen an, sondern gib sämtliche Darstellung im Stylesheet an!
<p>... geben einen guten Einblick in die Welt der ...<p/>...
Hier hast du ein 'p' in einem 'p', das wird der Fehler sein.
Qapla'
Vielen Dank für die schnelle Antwort.
Der Fehler wurde beseitigt es lag doch am p. 4 Augen sehen halt mehr als zwei manchmal ist man blind ;) Das die Stylesheets alle im CSS Dokument stehen sollten kann ich auch nachvollziehen, weil Layout und Text ja getrennt sein sollen.
Allerdings frage ich mich warum man ID- und Klassenbezeichner nicht nach der gewünschten Darstellung benennen sollte, gibt es dafür einen bestimmten Grund?
Und was wären Alternativnamen?: main, left, right, footer sind also auch falsch?
Gruß
Om nah hoo pez nyeetz, Anonym!
Allerdings frage ich mich warum man ID- und Klassenbezeichner nicht nach der gewünschten Darstellung benennen sollte, gibt es dafür einen bestimmten Grund?
Die gewünschte Darstellung kann sich doch ändern. Lies diesen Thread.
Und was wären Alternativnamen?: main, left, right, footer sind also auch falsch?
main - Darstellung oder Inhalt?
left - Darstellung oder Inhalt?
right - dito
footer - dito
Beantworte dir die Fragen. Übrigens in html5 gibt es die Elemente header und footer.
Matthias
Aloha,
Die gewünschte Darstellung kann sich doch ändern. Lies diesen Thread.
Ich bin da anderer Meinung (und ich weiß, dass ich damit bei SelfHTML ziemlich alleine dastehe):
Ich habe es bisher noch nirgends in der Praxis erlebt, dass sich bei einem Relaunch/Redesign wirklich NUR der CSS-Code ändert, und man folglich von diesem theoretischen Nutzen profitieren könnte (von - zugegeben beeindruckenden - CSS-Proof-of-Concepts a la CSS-Garden mal abgesehen). Ist in der Theorie eine schöne Idee - findet aber in der Realität nur sehr selten statt.
Davon abgesehen wird IDs und Klassennamen oft eine Semantik unterstellt, die sie nach meinem Dafürhalten nicht haben - Content hat Semantik, Auszeichnungselemente haben Semantik, frei wählbare IDs und Klassen hingegen nicht.
Was spricht also dagegen, die Elemente so zu benennen, dass man sie bei Betrachtung der Seite im Browser sofort anhand ihrer Position innerhalb der Seite identifizieren kann?
Eine ID oder Klasse *sprechend* zu bennenen, ist hingegen in jedem Fall sinnvoll, insofern stimme ich Euren Hinweisen so im Prinzip zu.
Viele Grüße,
Jörg
Om nah hoo pez nyeetz, mrjerk!
Was spricht also dagegen, die Elemente so zu benennen, dass man sie bei Betrachtung der Seite im Browser sofort anhand ihrer Position innerhalb der Seite identifizieren kann?
Man muss ja nun nicht auf Teufel komm raus nach passenden Klassenbezeichnern suchen, zumal mit html5 ja nun auch entsprechende Elemente wie navigation oder aside usw. vorgesehen sind.
Matthias