12. maj 2005 - 22:48Der er
12 kommentarer og 2 løsninger
Brugen af <p>-koder
Jeg er forvirret mht. brugen af <p></p>. Selv når jeg kigger på korrekt udførte html-dokumenter, syntes jeg det virker mere eller mindre tilfældigt, hvornår den bruges og hvornår den ikke gør. Jeg har en forklaring der lyder: "Et afsnit: Springer en linje over mellem afsnittene", men jeg syntes ikke det kan forklare alle de placeringer de får.
<p>Dette svarer til første afsnit i en fx en stil, man skriver i skolen.</p> <p>Dette svarer til andet afsnit i en fx en stil, man skriver i skolen.</p>
Med CSS kan du selv bestemme afstanden mellem afsnittene, samt margin til siderne.
I et afsnit kan man bruge <br> til at gennemtvinge et lineskift, men denne har ikke nogen ekstra afstand til linien ovenover.
Hvis det stadig er uklart, kan du så vise et eksempel på hvor <p>-taget forvirrer dig, og husk at angive hvor det kommer fra.
<i><b>tekst tekst tekst tekst<br /> tekst tekst tekst tekst tekst</b></i> <p><i><b><img src="cheer.gif" align="left" /> tekst tekst tekst tekst tekst<br /> tekst tekst tekst tekst tekst</b></i></p>
Lad os sige at ovenstående er et udpluk af en længere kode. hvad nu hvis der lige før dette befinder sig fx. dette <h3>tekst tekst</h3>, men man kun ønsker et linjeskift? Med både h-koden og p-koden bliver der jo to. Hvad gør mani sådan en situation? Må p-koden da udelades som ovenfor?
Historien om <p> tagget et lidt mere omstædig end som sådan.
I starten af html standarden’s eksistens skulle man faktisk kun skrive et enkelt <p> og den afsluttende tag fandtes simpelthen ikke. Det samme gælder visse andre tages som f.eks. <br>, <hr> og <li>. Af hensyn til bagud-kompatibilitet forstår langt de fleste browsere stadig kode som ser sådan ud.
Senere begyndte man så at snakke noget mere om standarder og specielt om standarder bygget over xhtml. En af tankerne bag xhtml er at man gerne vil have html-koden til at ligne mere og mere den måde xml er bygget op på. Der er mange grunde til dette, og der er endda et par artikler her på Eksperten som handler om alt dette.
I xml *skal* alle tags være afsluttet. Det er ikke mere lovligt *kun* at have en start tag. I xhtml er det derfor ikke mere lovligt at have <p> uden også at have </p>, at have <li> uden at have </li>, osv.
<p> taggen markere normalt en paragraf og det er derfor en helt logisk konstruktion at man benytter den sådan her:
<p>paragraffens indhold ligger imellem de to tags</p>
Mht. en af de andre tags jeg har nævnt, <br>, forholder det sig lidt anderledes. For denne er der ikke noget naturligt indhold at placere imellem:
<br>Øh? Hvor er det lige vi vil have vores break?</br>
Man lader derfor <br> taggen afslutte sig selv, og dette ser sådan her ud:
<br />
Konklusion: Hvis man tilføjer tjeks i toppen af sin html-kode som siger at sidens indhold skal kunne validere imod en af xhtml standarderne vil det altså være ulovligt at skrive <p> uden en </p> og at bare skrive <br> på den gamle måde.
Nu om dage er det sjusket at undlade </p> men langt de fleste browsere forstår det alligevel. Men det er nu meget sjusket at huske </p> nogen steder og så glemme den andre steder. Det tyder på at man ikke har fået helt fat på pointen.
p_and : Hvis udvikleren har udeladt et p-tag for at undgå den ekstra luft efter h3'eren, er han/hun en hat. :) h3'eren kan styles så den ekstra luft forsvinder, når p-tagget indsættes bagefter.
Lukke-tag'et for paragraf-container'en (<p></p>) har nu altid eksisteret i HTML - men også altid været valgfri. Derudover er jeg ganske enig med nielle og n0rmality :)
Hvis du skriver: <h3>En overskrift</h3> <p>En tekst</p>
- giver det i øvrigt ikke mere luft end mellem de to linier end: <h3>En overskrift</h3> En tekst
Det er rigtigt, det gør der heller ikke. Det var en tanketorsk (ref. mellemrummene).
Alt det andet vidste jeg i forvejen. Jeg fik måske også kørt mit spørgsmål lidt af sporet, ved at komme med det eksempel. Jeg har lidt problemer med at finde ud af hvornår der er tale om en paragraf og hvornår der ikke er. Hvordan lyder definitionen? Jeg har ikke kunnet finde en ordentlig forklaring.
- med det mener jeg, at hvis du har en tekst-blok, du gerne vil have vist som en paragraf - altså med ca. dobbelt linieskift over og under - så kan du bruge <p></p>.
Da det kun er dig, der ved, hvordan du vil have de enkelte tekst-blokke vist, er det også dig, der definerer, om du synes en blok skal vises som en paragraf :)
Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.