H2 + P är inte garanterat sant!
efa skrev:
Konstig fråga kanske, men måste H2 (eller någon annan H för den delen) alltid följas av P?
Ingen konstig fråga... Och ett generellt svar är inte helt enkelt heller om man skall vara noga med det där med att följa standard ;)
Så det långa svaret är att det beror på...
Om du använder <!DOCTYPE för HTML 4 Transitional så är svaren ovan helt korrekta - där kan man blanda friskt i praktiskt taget vilken tagg som helst.
Men om du använder <!DOCTYPE för HTML 4 Strict så beror det på vilken "omslutande tagg" du tänker lägga din text i.
Två exempel för fallet HTML4 Strict:
<BODY>
<H2>Blablabla</H2>
Här är text inte tillåten!
Man måste ha "blocktaggar" ytterst i
bodytaggen i Strict HTML 4
</BODY>
Däremot så är följande korrekt:
<BODY>
<DIV>
<H2>Blablabla</H2>
Men i inuti en div kan du blanda "block" och
"flytande text" ("Flow") hursomhelst i
HTML4 Strict
</DIV>
</BODY>
Orsaker: (läses ur DTD:n för respektive HTML-variant)
Transitional:
<!ELEMENT BODY O O ([b]%flow;[/b])* +(INS|DEL) -- document body -->
...
<!ELEMENT DIV - - ([b]%flow;[/b])* -- generic language/style container -->
Källa: http://www.w3.org/TR/html401/sgml/loosedtd.html
Strict:
<!ELEMENT BODY O O ([b]%block;[/b]|SCRIPT)+ +(INS|DEL) -- document body -->
...
<!ELEMENT DIV - - ([b]%flow;[/b])* -- generic language/style container -->
Källor:
http://www.w3.org/TR/html401/sgml/dtd.html
http://www.w3.org/TR/html401/struct/global.html#edef-BODY
http://www.w3.org/TR/html401/struct/global.html#edef-DIV
Samma sak gäller för xhtml 1.0 Transitional och Strict
I xhtml 1.1. och uppåt gäller samma sak som för HTML4 Strict - dvs man måste lägga sin "H2 + text" i en div-tagg för att det skall tillåtas. ;)