Toon posts:

<P> in <SPAN> binnen html 4.01 transitional richtlijnen

Pagina: 1
Acties:
  • 103 views sinds 30-01-2008
  • Reageer

Verwijderd

Topicstarter
Ik heb dus het volgende:
code:
1
2
3
4
5
<span class=style>
blaat
<P>
blaat
</span>

Maar dit mag niet volgens de 4.01 transitional richtlijnen, dan komt de volgende melding:
Line 97, column 2: document type does not allow element "P" here; missing one of "APPLET", "OBJECT", "MAP", "IFRAME", "BUTTON" start-tag
Hoe krijg ik nou die <P> erin zonder uit de span te treden? Zo dus niet:

code:
1
2
3
4
5
<span class=style>
blaat
</span><P><span class=style>
blaat
</span>


Want dan klopt de layout van mn page niet meer, aangezien .style een absolute positie aangeeft, en er dus op deze manier alle stukjes <span> over elkaar heen zouden komen.

  • Willem
  • Registratie: Februari 2001
  • Laatst online: 22:58
een span is een inline element
gebruik dus of een div met daarin p of een p met daarin span :)

Motor (of auto) onderhoud bijhouden


  • 1st_Ro
  • Registratie: December 2002
  • Laatst online: 07-01-2022
Moet je niet gewoon de <P> netjes afsluiten ?

dus zoiets :

<SPAN class="style">
blaat
<P>paragraafje</P>
nog meer blaat
</SPAN>

  • Woudloper
  • Registratie: November 2001
  • Niet online

Woudloper

« - _ - »

* Woudloper is voor een combinatie van beide bovenstaande suggesties ;)

dus:
HTML:
1
2
3
4
5
<div id="test">
   <p id="paragraaf">
    Hier dan de tekst met <span class="style">inline span</span>
   </p>
</div>

  • Bosmonster
  • Registratie: Juni 2001
  • Laatst online: 19-08 22:14

Bosmonster

*zucht*

een p in een div.. En het nut daarvan is? :P

  • OkkE
  • Registratie: Oktober 2000
  • Laatst online: 10-11-2025

OkkE

CSS influencer :+

En als de topic starter eerst eens uitlegd waarom hij een <p> in een <span> wil, misschien dat we dan een oplossing kunnen geven die wél 4.01 valid is. :)

“The best way to get the right answer on the Internet is not to ask a question, it's to post the wrong answer.”
QA Engineer walks into a bar. Orders a beer. Orders 0 beers. Orders 999999999 beers. Orders a lizard. Orders -1 beers.


  • drm
  • Registratie: Februari 2001
  • Laatst online: 09-06-2025

drm

f0pc0dert

* drm is niet voor het gebruik van id's bij p tags

een P element hoef je zelden tot nooit als zodanig aan te spreken, dus je kunt dan beter een class gebruiken, of beter nog een style-definitie op basis van de context
code:
1
2
3
4
5
6
7
8
9
10
11
div#test p {
   blaat
}
div#test p span.spef {

}
...
<div id="test">
    <p>blaat <span class="spef">spef</span> blaat</p>
    <p>blaat <span class="spef">spef</span> blaat</p>
</div>
Bosmonster:
een p in een div.. En het nut daarvan is? :P
De div kunnen positioneren inclusief alle inhoud ;)

Music is the pleasure the human mind experiences from counting without being aware that it is counting
~ Gottfried Leibniz


  • edwinistrator
  • Registratie: December 2000
  • Laatst online: 23-03-2022
volgens mij is het niet de bedoeling dat je div ten opzichte van een p positioneerd maar ten opzichte van een andere div, toch?

  • drm
  • Registratie: Februari 2001
  • Laatst online: 09-06-2025

drm

f0pc0dert

operation3:
volgens mij is het niet de bedoeling dat je div ten opzichte van een p positioneerd maar ten opzichte van een andere div, toch?
Dat maakt opzich niet uit. Desnoods kun je de p's onafhankelijk van de div positioneren als je dat leuk vind, maar netjes is anders ;)

Ik begrijp overigens ook niet helemaal waar je opmerking vandaan komt :)

Music is the pleasure the human mind experiences from counting without being aware that it is counting
~ Gottfried Leibniz


  • edwinistrator
  • Registratie: December 2000
  • Laatst online: 23-03-2022
hhmmm, ik wel :P

  • Bosmonster
  • Registratie: Juni 2001
  • Laatst online: 19-08 22:14

Bosmonster

*zucht*

drm schreef op 19 February 2003 @ 10:26:

De div kunnen positioneren inclusief alle inhoud ;)


Positioneer dan gewoon de p. Het verschil tussen een p en div is toch minimaal. Zijn beiden block-elements, alleen heeft p wat standaard margins ofzo om er een paragraaf van te maken.

  • RM-rf
  • Registratie: September 2000
  • Laatst online: 20:30

RM-rf

1 2 3 4 5 7 6 8 9

Bosmonster schreef op 19 February 2003 @ 11:03:

[...]


Positioneer dan gewoon de p. Het verschil tussen een p en div is toch minimaal. Zijn beiden block-elements, alleen heeft p wat standaard margins ofzo om er een paragraaf van te maken.
misschien heeft het zin om eens te bedenken waarvoor de P staat, P = Paragraph en dus een tekst-alinea.
het heeft zin om dit dus daar ook voor toe te passen, net zoals het zin heeft logische naamgeving voor script-functions toe te passen (dus niet function e_w() maar function set_obj_width())

DIV staat voor division (onderwerp van een ander topic ooit in /13) en staat voor een 'afdeling', een groter block met verdere content.

juist gebruik is het toepassen is stukken tekst-blokken

code:
1
2
3
4
5
6
7
8
9
10
11
12
13
<div id="content">
   <h1>dit is een titel</h1>

   <P> stukje alinea met tekst</p>

   <P> weer een verdere alinea met tekst</p>

   <h2>subtitel </h2>

   <P> en een derde alinea, deze keer met 
      wat <span class="stijltje">extra inline content</span> en 
      <em>declaratieve</em> tags </p>
</div>

zulke code maakt de pagina 'schoon', de gekozen tags maken direct duidelijk waar de content voor staat en het is niet nodig de css-file erbij te nemen om de pagina te begrijpen

[ Voor 9% gewijzigd door RM-rf op 19-02-2003 11:48 ]

Intelligente mensen zoeken in tijden van crisis naar oplossingen, Idioten zoeken dan schuldigen


  • drm
  • Registratie: Februari 2001
  • Laatst online: 09-06-2025

drm

f0pc0dert

Dat is exact wat ik bedoel, idd, RM-rf :)

Music is the pleasure the human mind experiences from counting without being aware that it is counting
~ Gottfried Leibniz


  • edwinistrator
  • Registratie: December 2000
  • Laatst online: 23-03-2022
nee, dat is juist wat ik exact bedoel. ;)

  • Bosmonster
  • Registratie: Juni 2001
  • Laatst online: 19-08 22:14

Bosmonster

*zucht*

Nou moet ik eerlijk zeggen dat ik nooit p-tags gebruik.. Maar liever br's om alinea's te onderscheiden. Krijg je wat betere tussenruimte (exact de lettergrootte van het element waar je in zit, ipv een voorgedefinieerde waarde).

  • Woudloper
  • Registratie: November 2001
  • Niet online

Woudloper

« - _ - »

Bosmonster schreef op 19 February 2003 @ 14:27:
Nou moet ik eerlijk zeggen dat ik nooit p-tags gebruik.. Maar liever br's om alinea's te onderscheiden. Krijg je wat betere tussenruimte (exact de lettergrootte van het element waar je in zit, ipv een voorgedefinieerde waarde).
Let dan wel op dat het wel zo is dat de <br> tag in de toekomst (lees: XHTML 2.0) het veld gaat ruimen, dus dat je dan toch over zou moeten stappen op het gebruik van de P tags.

  • drm
  • Registratie: Februari 2001
  • Laatst online: 09-06-2025

drm

f0pc0dert

Bosmonster:
Nou moet ik eerlijk zeggen dat ik nooit p-tags gebruik.. Maar liever br's om alinea's te onderscheiden. Krijg je wat betere tussenruimte (exact de lettergrootte van het element waar je in zit, ipv een voorgedefinieerde waarde).

Lijkt mij vreemd, want je kunt de marge van een p element gewoon keurig opgeven in je stylesheet. Wat er dan nog voor pleit om br's te gebruiken ontgaat mij eigenlijk een beetje.

Music is the pleasure the human mind experiences from counting without being aware that it is counting
~ Gottfried Leibniz


  • Willem
  • Registratie: Februari 2001
  • Laatst online: 22:58
margin-top en bottom lijkt me inderdaad niet zo'n probleem bij een p

Motor (of auto) onderhoud bijhouden


Verwijderd

Ik quote even mezelf uit een recent topic:
Verwijderd schreef op 15 February 2003 @ 12:08:
[nohtml]
Marges rond paragrafen geef ik vaak op in em, evenals text-indent, en andere CSS properties die je meestal in en rond teksten gebruikt :)

[...]

Om hier even een eenvoudig en toch duidelijk voorbeeldje te geven: stel je hebt een website met 20, 200 of 2000 pagina's met tekst. Nu vraagt een klant of het misschien mogelijk is om de eerste regel van een paragraaf iets in te laten springen.

Als je dan <br /> tags hebt gebruikt, en geen <p> tags, dan kun je jezelf wel voor je kop slaan, omdat je voor elke alinea  's kunt gaan zetten. Met de <p> tags geef je simpelweg even in je stylesheet het volgende op:
Cascading Stylesheet:
1
2
3
4
p
{
   text-indent: 1em;
}

Die <br /> tags kun je wel gebruiken binnen paragrafen, als je echt een zin op een nieuwe regel wilt laten beginnen, maar volgens mij gaat het dan vrijwel altijd om een nieuwe paragraaf. (En die kun je weer niet laten inspringen in dat geval ;))

Kies er dan liever voor om de marge's van paragrafen op 0 te zetten, en bedenk een manier om je teksten dan in grotere stukken te verdelen, als je tussen sommige paragrafen wél witruimte wilt. Definieer bijvoorbeeld een CSS class voor de eerste paragraaf na zo'n witruimte, maar mooier is het gebruik van sections. (de section tag wordt geïntroduceerd in XHTML 2.0, het is eigenlijk ook een algemeen container element, net als <div>, dus een <div class="section"> zou dit element voorlopig kunnen nabootsen)

[...]

Het enige geval waarin je moet overwegen om géén <p> elementen te gebruiken, is als je niet echt kunt spreken van een paragraaf, of zelfs zin. Bij een zin zou ik waarschijnlijk al van die paragraaf tags gebruik maken :)
[/nohtml]

  • Bosmonster
  • Registratie: Juni 2001
  • Laatst online: 19-08 22:14

Bosmonster

*zucht*

drm schreef op 19 February 2003 @ 14:34:
[nohtml]
[...]
[/nohtml]
Lijkt mij vreemd, want je kunt de marge van een p element gewoon keurig opgeven in je stylesheet. Wat er dan nog voor pleit om br's te gebruiken ontgaat mij eigenlijk een beetje.


Dat is exact wat ik zeg. Dan moet ik daar los de marges voor gaan instellen. Als ik dan verschillende marges wil (lees: verschillende lettergroottes gebruik), moet ik dus voor iedere lettergrootte weer een eigen p-class aan gaan maken met een eigen marge...

Daar heb ik niet zo'n zin in, de br past zich automatisch aan aan de lettergrootte van je tekst.
Cheatah blabla :P
Je kunt ook gewoon de container waar de tekst inzit een iets andere padding/margin geven om zo in een keer een content veld van uitlijning te voorzien. Waarom zou ik dat in hemelsnaam per paragraaf willen regelen?

Sorry, maar behalve het kunnen veranderen van de uitlijning van de de eerste regel (text-align) zie ik er verder weinig nut in.

[ Voor 7% gewijzigd door Bosmonster op 19-02-2003 15:08 ]


Verwijderd

P's vergelijken met DIV's is als appels en de welbekende peren. Het daait allemaal om het structureren van content. Naar mijn mening voeg je met BR's geen structuur toe, en met P's, etc, wel.

Lees voor de gein eens
Bed and BReakfast van Tantek.
Bosmonster schreef op 19 februari 2003 @ 15:01:
Als ik dan verschillende marges wil (lees: verschillende lettergroottes gebruik), moet ik dus voor iedere lettergrootte weer een eigen p-class aan gaan maken met een eigen marge...
Je hoeft je margins niet absoluut op te geven! Je kan ook relatieve (aan de lettergrootte, b.v.) maten opgeven:
code:
1
2
3
4
p {
    margin-top:2em;
    margin-bottom:1em;
}

Dit past zich uitstekend aan aan de lettergrootte.

  • drm
  • Registratie: Februari 2001
  • Laatst online: 09-06-2025

drm

f0pc0dert

Bosmonster:
Dat is exact wat ik zeg. Dan moet ik daar los de marges voor gaan instellen. Als ik dan verschillende marges wil (lees: verschillende lettergroottes gebruik), moet ik dus voor iedere lettergrootte weer een eigen p-class aan gaan maken met een eigen marge...
Dat is niet nodig, zoals Blues al zegt, maar then again, wat is er mis met een goed gedefinieerde stylesheet? Als je andere lettergrotes gaat gebruiken, is het toch sowieso niet vreemd om een nieuw stijl element (hetzij door een class, hetzij contextueel) op te geven?
Daar heb ik niet zo'n zin in, de br past zich automatisch aan aan de lettergrootte van je tekst.
one em is equal to the font size of the current element
Je kunt ook gewoon de container waar de tekst inzit een iets andere padding/margin geven om zo in een keer een content veld van uitlijning te voorzien. Waarom zou ik dat in hemelsnaam per paragraaf willen regelen?

Sorry, maar behalve het kunnen veranderen van de uitlijning van de de eerste regel (text-align) zie ik er verder weinig nut in.
Mja, it's all about the meaning of the elements, zal ik maar zeggen.

Als je een paragraaf maakt, noem het dan ook zo :) Maar goed, daar kun je hoog en laag over discussieren, maar obviously verschillen we hierin van mening ;)

Music is the pleasure the human mind experiences from counting without being aware that it is counting
~ Gottfried Leibniz


  • RM-rf
  • Registratie: September 2000
  • Laatst online: 20:30

RM-rf

1 2 3 4 5 7 6 8 9

drm schreef op 19 februari 2003 @ 21:07:

one em is equal to the font size of the current element
eigenlijk lijkt het me te adviseren om voor margin-top en margin-bottom eerder de ex te gebruiken:
dit is gelijk aan de x-hoogte van een specifiek font, typografisch gezien wat mooier, omdat fonts met grote stok-hoogtes optisch ander werken (alhoewel op scherm-weergave het effect minimaal is)

'em' en 'ex' kennen tevens een handige uitzondering, voor font-size zelf fungeren ze als variabele die de font-size van het parent-element weergeeft, en ze maken dus het mogelijk handige relationele font-sizes te definieren

Intelligente mensen zoeken in tijden van crisis naar oplossingen, Idioten zoeken dan schuldigen

Pagina: 1