Avatar billede p_and Nybegynder
12. maj 2005 - 22:48 Der 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.
Avatar billede basementjack Nybegynder
13. maj 2005 - 00:37 #1
<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.
Avatar billede p_and Nybegynder
13. maj 2005 - 01:22 #2
Et eksempel.

<div align="center">

<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>

</div>

Hvorfor er der ingen p-kode i første afsnit?
Avatar billede dmcn Praktikant
13. maj 2005 - 01:24 #3
Fordi udvikleren har misforstået formålet med p-tagget og ikke koder semantisk. :)
Avatar billede p_and Nybegynder
13. maj 2005 - 01:24 #4
Jeg kan ikke lægge et link. Det er udskrifter jeg har fået. Kan desværre ikke se hvor det er fra.
Avatar billede p_and Nybegynder
13. maj 2005 - 01:30 #5
Så det er forkert lavet af gud-ved-hvem ...

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?
Avatar billede nielle Nybegynder
13. maj 2005 - 07:09 #6
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.
Avatar billede dmcn Praktikant
13. maj 2005 - 10:49 #7
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.
Avatar billede olebole Juniormester
13. maj 2005 - 14:31 #8
<ole>

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

/mvh
</bole>
Avatar billede p_and Nybegynder
13. maj 2005 - 16:14 #9
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.
Avatar billede olebole Juniormester
13. maj 2005 - 17:00 #10
Definitionen lyder:
  Hvis du synes, det er en paragraf, så er det en paragraf - og så kan du bruge <p></p>
Avatar billede olebole Juniormester
13. maj 2005 - 17:03 #11
- 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  :)
Avatar billede p_and Nybegynder
13. maj 2005 - 17:17 #12
Ok. Jeg takker. :)
Point til olebole og nielle.
Avatar billede olebole Juniormester
13. maj 2005 - 17:19 #13
:)
Avatar billede nielle Nybegynder
13. maj 2005 - 17:21 #14
Svar :^)
Avatar billede Ny bruger Nybegynder

Din løsning...

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.

Loading billede Opret Preview
Kategori
Vi tilbyder markedets bedste kurser inden for webudvikling

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester