p-Tag im XHTML Standard

Status
Nicht offen für weitere Antworten.

Billie

Erfahrenes Mitglied
Hellas!

Also ein Problem im eigentlichen Sinne habe ich nicht, eigentlich hab ich nur ein Problem mit dem Stoff welchen mir mein Prof. gerade verklickern will. Also wir nehmen gerade HTML bzw. XHTML durch (wobei ich eigentlich in diesem Thema schon fortgeschritten bin, PHP, JSP)... Wie dem auch sei, er macht es recht gut weil er sehr viel Wert auf die W3C Standards legt. Nur gerade eben gab es folgende Problemstellung... ich hatte meine kleine HTML Seite wie folgt gegliedert:

Code:
<p>
  <b>Absatz1</b>
  <br />Text...
</p>
<p>
  <b>Absatz2</b>
  <br />Text...
</p>

Prof. meint nun aber, allgemein in einem X/HTML-Dokument gibt es genau ein <p>-Tag welches nach dem Body geöffnet und vor dem /Body wieder geschlossen wird. Nun mal ganz ehrlich, natürlich kann man Absätze mit br auch realisieren... aber das heißt nicht, dass das p-Tag überflüssig ist, oder?

Und wie ist das eigentlich mit dem geschützten Leerzeichen &nbsp; ... wird das in XHTML wirklich nur noch mit Unicode   geschrieben?

Naja... mich würd eure Meinung interessieren, besonders was bei wirklich großen Projekten evtl. üblich ist...

lg Billie
 
BillieJoe hat gesagt.:
Prof. meint nun aber, allgemein in einem X/HTML-Dokument gibt es genau ein <p>-Tag welches nach dem Body geöffnet und vor dem /Body wieder geschlossen wird. Nun mal ganz ehrlich, natürlich kann man Absätze mit br auch realisieren... aber das heißt nicht, dass das p-Tag überflüssig ist, oder?

Das ist Quatsch...<p> definiert einen Absatz, und davon kannst du zum Einen soviele haben, wie du willst, zum Anderen kannst du sie platzieren wo du willst(naja...nicht überall, aber zumindest in allen Elementen, welche Blockelemente enthalten dürfen...näheres dazu kannst du der DTD entnehmen)

Zu dem <br/>...das ist kein Ersatz für einen Absatz, das es zum Einen lediglich einen Zeilenumbruch erzwingt, was nicht dasselbe ist wie ein Absatz...zum Anderen darf es im Gegensatz zu <p> nur dort stehen, wo Inline-Elemente erlaubt sind, kann also kein direktes Kind des <body> sein.
 
Im Zweifelsfall schickst Du Deinen Code einmal durch den Validator und zeigst Deinem Prof. das Ergebnis und damit, dass Du richtig liegst.

Gruß hpvw
 
Naja, ich werde mir den Unterricht zu Herzen nehmen weil er den neuen Standard erklärt und ich ungefähr bei HTML 3 oder so aufgehört habe, das ganze Geschehen zu verfolgen. Trotzdem stellt er eigentlich schlimme Syntax Regenl auf... so sind Bausteine wie

Code:
<tr>
  <td>Text <b>fett</b> text</td>
</tr>

Nicht erlaubt, muss so aussehen:

Code:
<tr>
  <td>
    Text
      <b>
         fett
      </b>
    text
  </td>
</tr>

Naja, danke dass ihr mir ein wenig zustimmt, dass man es auch übertreiben kann ;)
 
Naja, das ist ja nun keine Syntaxregel, sondern allenfalls eine Code-Konvention.
Gültig sind beide Varianten und wie das im Quelltext aussieht ist eigentlich relativ egal.
Vor allem Inline-Elemente wie <b> noch extra abzusetzen, halte ich für ziemlichen Schwachsinn. (darfst mich gerne zitieren).
Eine ähnliche Variante, wie die Deines Prof., wurde bereits bei HTML 4.01 zum Thema white space angeprangert.

Gruß hpvw
 
Diese Einrückung halte ich zwar für sehr übersichtlich, aber in der Praxis wenig durchsetzbar.
Eine Regel stellt das, wie bereits erwähnt, nicht dar, und wenn es um Code-Konventionen geht, besagt wiederum eine andere, dass Einrückungen um 4 Stellen erfolgen sollten, und eine Zeile nicht länger als 80 Zeichen sein sollte...da wirds bei dieser Einrückung recht eng :-)
 
HTML:
<a href="link.html">
 <img src="bild.png" />
</a>
Wenn du das so schreibst, kann es sogar zu Problemen führen. Hatte ich bei der Kombination mit CSS-Hover-Effekten. Dem IE wars egal, aber die 'richtigen' Browser haben unter dem Bild dann einen schwarzen Balken beim Überfahren gemacht.

Und mal ehrlich: Das 'formatieren' des Codes hat doch nur einen Zweck: Übersicht verbessern. Und das Bsp. deines Profs ist alles andere als übersichtlich.
 
Wenn wir grad schon beim Thema Whitespaces sind: Zur Übersicht ist es ja meist besser, eine mehr oder weniger gut eingerückte HTML-Datei zu haben. Aber fürs Web wäre eine optimierte Version schon besser (ohne überflüssige Zeilenumbrüche, Leerzeichen, Tabs usw.). Gibt es irgendwelche Programme, die einem die Arbeit abnehmen? Weil das manuell zu machen, ist ziemlich mühsam.
 
MS Word (schlag mich jetzt nicht) bietet da etwas an, was man dafür nutzen kann.
Die Suche&Ersetzen-Funktion. Der Unterschied zwischen den meisten anderen: Du kannst gezielt Zeilenumbrüche durch nichts ersetzen :)
Code:
^p
ist glaub ich richtig.
 
Jeder halbwegs gute Code-Editor bietet eine Suchen-Und-Erstzen-Funktion mit, oft auch mit regulären Ausdrücken. Damit sollte es kein Problem sein, überflüssige Whitespaces zu entfernen.
Es gibt ja auch für so ziemlich jede Sprache eine IDE, die automatisches Codeformatting unterstützt. Ich denke, es wird sich auch eine finden, ggf. mit Plugin, die das für HTML kann.

Gruß hpvw
 
Status
Nicht offen für weitere Antworten.
Zurück