Avatar billede dustie Mester
29. august 2005 - 23:50 Der er 29 kommentarer og
2 løsninger

<br> eller <p>?

Hvad er bedst at bruge (i HTML 4.01 strict) for at opnå et mellemrum/linieskift før <div>:
<p>
<div class="xxx">
<span class="xx">xxxx</span><br>
<span class="xx">xxxx</span><br>
</div>

Eller:
<br>
<div class="xxx">
<span class="xx">xxxx</span><br>
<span class="xx">xxxx</span><br>
</div>


Eller måske noget helt andet?
Og er der andre ting jeg skal ændre på i koden?

Jeg ville først have brugt <p> og </p> men så snart der er </p> med i koden så får jeg en fejl når jeg tester med w3 validatoren.
Avatar billede roenving Novice
30. august 2005 - 00:04 #1
Hvad har du brug for ?-)

-- et p-tag har nogle egenskaber, et br-tag nogle helt andre ...

-- og p-tags defineres vidt forskelligt i forskellige browsere, br-tags indsætter bare et linjeskift, det kan nok ikke gøres anderledes end det i forvejen er defineret til !o]

-- og det skal tilføjes, at jeg ikke selv ville på at benytte mig af p-tags til andet en at omklamre tekst-blokke, jeg selv opfattede som afsnit (Paragraphs på engelsk !-)
Avatar billede dustie Mester
30. august 2005 - 00:54 #2
Jeg vil ikke opnå andet end at der kommer et mellemrum/linieskift.

Hvis jeg sætter et <br> eller <p></p> omkring så får jeg en validerings fejl. Det gør jeg derimod ikke kun med <p>.

Jeg kunne bare godt tænke mig at forstå hvorfor istedet for at det "bare virker".
Lige nu har jeg denne kode (som gentages flere gange af php):

<p>
<div class="xxx">
  <span class="yyy">xxx</span><br>
  <span class="zzz">xxx</span><br>
</div>
Avatar billede roenving Novice
30. august 2005 - 01:10 #3
Hvordan får du de valideringsfejl ?-)

-- afhængig af doctype vil et manglende </p>-tag kunne give fejl, men et <br>-tag bør aldrig kunne give en fejl ...

-- kan du evt. linke til de fejl, du får, for jeg er bare forundret !-)
Avatar billede olebole Juniormester
30. august 2005 - 01:59 #4
<ole>

- men et eksisterende </p> vil kun kunne udløse fejl, hvis man har lavet andre fejl  :)

Det virker da som en validator-fejl, at dette dokument validerer:

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN"
            "http://www.w3.org/TR/html4/strict.dtd">
<html>
<head>
    <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
    <title>TITLE</title>
</head>
<body>

<p>
  <div>
      <span>bla</span>
  </div>

</body>
</html>

/mvh
</bole>

- mens dette ikke gør:

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN"
            "http://www.w3.org/TR/html4/strict.dtd">
<html>
<head>
    <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
    <title>TITLE</title>
</head>
<body>

<p>
  <div>
      <span>bla</span>
  </div>
</p>

</body>
</html>
Avatar billede roenving Novice
30. august 2005 - 02:20 #5
-- har du kastet dem i validatoren ?-)
Avatar billede olebole Juniormester
30. august 2005 - 02:55 #6
yups - både via upload og tekst-area  :o|

De tolkes ifølge validatorens parse-tree begge som:

  <p></p>
  <div>
      <span>bla</span>
  </div>

- men kun den invalide erklæres valid ...!?!!???
Avatar billede roenving Novice
30. august 2005 - 03:00 #7
-- jeg vidste godt at forms havde en status, som betød, at de ikke kunne nestes, men at p-tags tolkedes som en slags underordnede block-level-tags, var ikke lige gået op for mig !-)
Avatar billede roenving Novice
30. august 2005 - 03:03 #8
-- men det giver vel også mening så, at den invalide erklæres godkendt, da validatoren selv indsætter det (i html4 trans !-) optionelle lukketag, men mangler åbningstagget i den version, vi opfatter som valid !o]
Avatar billede olebole Juniormester
30. august 2005 - 03:15 #9
nøøhhh ... jeg kan zqtte få øje på logikken:

<!--================== HTML content models ===============================-->

<!--
    HTML has two basic content models:

        %inline;    character level elements and text strings
        %block;      block-like elements e.g. paragraphs and lists
-->

<!ENTITY % block
    "P | %heading; | %list; | %preformatted; | DL | DIV | NOSCRIPT |
      BLOCKQUOTE | FORM | HR | TABLE | FIELDSET | ADDRESS">

<!ENTITY % flow "%block; | %inline;">

- og denne her specifikt for p-elementet:

<!--=================== Paragraphs =======================================-->

<!ELEMENT P - O (%inline;)*            -- paragraph -->
<!ATTLIST P
  %attrs;                              -- %coreattrs, %i18n, %events --
  >

- som er taget fra HTML4.01-Strict ... og hvad mener de mon så helt præcist med det?  :)
Avatar billede olebole Juniormester
30. august 2005 - 04:40 #10
Jeg havde et 'Dooohhhhh' klar lige inden, E begyndte at opdatere, så du får det nu, inden det fordømte cronjob igen får skidtet til at gå ned  :)

Doooohhhhhh ... P er natuligvis et block-level element, der kan indeholde alle slags _inline_ elementer ... (%inline;)*  ;o)
Avatar billede olebole Juniormester
30. august 2005 - 04:41 #11
- og det samme gælder i øvrigt <dt> ... så ved man det  :)
Avatar billede roenving Novice
30. august 2005 - 11:12 #12
>>dustie

-- hvilket betyder at svaret på dit spørgsmål entydigt er:

-- brug br-tags til at lave mellemrum ved dine divs, for et helt p-tag imellem blokkene er ikke videre smart, og p-tags rundt om er simpelthen ulovligt i forhold til de regler, html skal tolkes efter !-)
Avatar billede dustie Mester
31. august 2005 - 01:56 #13
Jamen, så kan jeg ikke validere min side.

Jeg får denne fejl hvis jeg laver et <br> før <div>:
"... document type does not allow element "BR" here; missing one of "P", "H1", "H2", "H3", "H4", "H5", "H6", "PRE", "DIV", "ADDRESS" start-tag."

Det er HTML 4.01 strict.
Så må fejlen ligge et andet sted?
I kan se koden her:
http://www.tweaks.dk/tagwall/wall.php?w=12
Avatar billede dustie Mester
31. august 2005 - 01:58 #14
Avatar billede olebole Juniormester
31. august 2005 - 03:15 #15
Ja, det er klart ... <br> er kun til at adskille tekst-noder ... ikke elementer  :)

Du skaber afstand mellem elementer ved at lægge f.eks. 'margin-bottom' på det øverste element.

Til nød kan du lave et spacer element, du selv definerer:
  <div style="font-size:0;height:12px">&nbsp;</div>
Avatar billede roenving Novice
31. august 2005 - 03:21 #16
-- eller også er det simpelthen en fejl, at jeg bruger udtrykket: 'et helt p-tag imellem blokkene er ikke videre smart' ...

Det kunne du så gøre !-)

-- hrm, det varer nok et stykke tid, fø strict er en doctype, jeg bliver fortrolige med !o]
Avatar billede dustie Mester
31. august 2005 - 03:21 #17
Ahh okay!
Så blev jeg så meget klogere. Tak for hjælpen. Nu virker det :)
Avatar billede dustie Mester
31. august 2005 - 03:23 #18
Et helt p-tag ?
Den forstår jeg ikke helt. Hvis jeg sætter <p></p> rundt om får jeg samme fejl som før.
Men med margin-bottom virker det perfekt.
Avatar billede dustie Mester
31. august 2005 - 03:26 #19
Smid et svar for points :)
Avatar billede roenving Novice
31. august 2005 - 03:27 #20
Ikke udenom, men imellem !-)

<p></p>
<div class="xxx">
<span class="xx">xxxx</span><br>
<span class="xx">xxxx</span><br>
</div>
Avatar billede dustie Mester
31. august 2005 - 04:23 #21
Den havde jeg ikke lige luret :)
Jeg tror dog jeg holder mig til margin-bottom. Det virker efter min mening mere.. rigtig end <p></p>.
Avatar billede olebole Juniormester
31. august 2005 - 04:46 #22
- hvilket W3C fraråder, da tomme p-tags bør ignoreres af klienten  :)
Avatar billede dustie Mester
31. august 2005 - 18:45 #23
Så bliver det margin-bottom :)
Avatar billede dustie Mester
02. september 2005 - 00:43 #24
Vil i ikke have points?
Ellers snupper jeg dem selv igen så det her kan blive lukket.
Avatar billede olebole Juniormester
02. september 2005 - 00:46 #25
Jamen, her er da så mit svar ... så skal vi bare lige have roenving på banen  :)
Avatar billede dustie Mester
02. september 2005 - 00:49 #26
Jeg føler mig helt nærig nu med alt den hjælp for de sølle 30 points ;)
Avatar billede roenving Novice
02. september 2005 - 00:50 #27
Okay, så velbekomme '-)
Avatar billede dmcn Praktikant
02. september 2005 - 00:51 #28
Sig mig, burde I to gamle sataner ikke sove? ;)
Avatar billede roenving Novice
02. september 2005 - 00:53 #29
Det er ikke point-tallet, som rykker noget !-)

-- rent faktisk er jeg ret overbevist om, at både ole og jeg har været mest glade for den aha-oplevelse vi fik fra dekodningen af p-taggets egenskaber ...

-- og n0rm, sov du bare videre !o]
Avatar billede dustie Mester
02. september 2005 - 04:06 #30
Tak for hjælpen. Nu har jeg både lært noget nyt om html/css og at holde mig fra xhtml ind til videre.

Det ender med jeg engang kan sidde herinde om natten og snakke med på jeres html snak ;-)
Avatar billede dmcn Praktikant
02. september 2005 - 04:45 #31
"Det ender med jeg engang kan sidde herinde om natten og snakke med på jeres html snak ;-)"
Uha - det skal du ikke ønske dig. ;)
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