Black Friday = Pricewatch Bekijk onze selectie van de beste Black Friday-deals en voorkom een miskoop.

Verschillende weergave van <br/> in IE en FF

Pagina: 1
Acties:

  • monnick
  • Registratie: December 2005
  • Niet online
Ik ben bezig met het bouwen van een site, daarop staan uiteraard lappen text. Ik wil de tekst natuurlijk een beetje leesbaar houden door newlines en paragrafen.

Het probleem was eerst gewoon bij alle tekst dat IE en FF verschillend omspringen met een <br/>. Wanneer ik binnen een <p></p> 1 <br/> plaatste werd dat in FF weergegeven als een newline, IE negeerde de <br/> compleet. Wanneer ik 2 <br/>'s plaatse kreeg in in FF een witregel, in IE een newline (dus geen witregel).

In statische tekst was dit eenvoudig op te lossen door gewoon elke alinea een eigen <p></p> te geven (zoals het hoort). Maar ik heb ook content die uit de database komt. In deze tekst uit de database staan natuurlijk newlines (/n) die ik met de PHP-functie nl2br() omzet naar <br/>. Maarja, de <br/> tag werkt verschillend in FF en IE, dit is dus geen goede oplossing voor mijn probleem.

Nu heb ik al wat gegoogeld en gezocht op GoT. Er is redelijk wat over dit probleem te vinden. Maar ik heb geen nette oplossing kunnen vinden. Volgens mij moeten er wel mensen zijn die bekend zijn met dit probleem? :P

Ik hoop dat mijn probleem zo duidelijk verwoord is en dat jullie het begrijpen. ;)

btw. doc-types van mijn pagina' s zijn xHTML strict

  • Kiphaas7
  • Registratie: Februari 2005
  • Laatst online: 09:58
Vergeet je geen spatie?
code:
1
<br />


Overigens, waarom zou je niet de content die uit de database komt kunnen omzetten naar p? Als je begint met <p>, daarna iedere newline vervangt door </p><p>, en eindigt met </p> moet het toch kloppen?

  • monnick
  • Registratie: December 2005
  • Niet online
Kiphaas7 schreef op zondag 31 augustus 2008 @ 15:56:
Vergeet je geen spatie?
code:
1
<br />


Overigens, waarom zou je niet de content die uit de database komt kunnen omzetten naar p? Als je begint met <p>, daarna iedere newline vervangt door </p><p>, en eindigt met </p> moet het toch kloppen?
Die spatie maakt niet uit. Precies hetzelfde probleem.

De oplossing die je noemt zou opzich een nette zijn. Maar wanneer je elke newline een nieuwe paragraaf begint komt er ook een witregel tussen. Dus niet alleen een newline.

Dan zou je iets moeten maken als:

code:
1
2
3
4
5
6
7
8
1 newline:

als browser = IE ---> <br /><br />
als browser = FF ---> <br />

2 newlines:

zowel IE als FF ---> </p><p>     (jouw manier dus)


Maar opzich moet dit wel makkelijker kunnen toch? Dit lijkt me best een ranzige oplossing namelijk. :P

  • Kiphaas7
  • Registratie: Februari 2005
  • Laatst online: 09:58
Ik ging ervan uit dat je eigenlijk liever alleen paragrafen, en geen br's wil... Verkeerd begrepen dus.

Overigens kom ik het probleem niet tegen als ik de volgende testcase maak?

HTML:
1
2
3
4
5
6
7
8
9
10
11
12
13
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
    <head>
    <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
    <title>Blaat</title>
    </head>
    
    <body>  
        <p>
            blaat blaat blaat<br />blaat blaat blaat
        </p>    
    </body>
</html>


Zowel IE6 als 7 (en opera, ff3..) gaan hier goed mee om?

  • monnick
  • Registratie: December 2005
  • Niet online
In ieder geval enorm bedankt voor je moeite. Ik heb het eens getest in een nieuwe testpagina (net zoals jij hierboven paste), met 1 <br /> en 2 <br />, maar zowel IE als FF hebben dan inderdaad geen problemen. Het werkt naar behoren.

Maar was is dan de oorzaak van het afwijkende gedrag van IE bij mijn website?? Het gaat trouwens om bijvoorbeeld de volgende pagina: http://www.tomrunia.nl/marjolein/nieuws.php
Zoals je kunt zien is na "Justo." in FF een witregel, in IE alleen een newline.

Misschien iets in mijn stylesheet waardoor IE moeilijk doet?

  • Bosmonster
  • Registratie: Juni 2001
  • Laatst online: 11-11 10:24

Bosmonster

*zucht*

Zie zo niks, probeer eens wat styles weg te halen tot het weer klopt, dan weet je waar het aan ligt.

Je html begint overigens met een witregel, wat ervoor zorgt dat IE in quirksmode rendert. Die witregel zou ik sowieso weghalen, scheelt een hoop problemen.

  • monnick
  • Registratie: December 2005
  • Niet online
Bosmonster schreef op zondag 31 augustus 2008 @ 18:45:
Zie zo niks, probeer eens wat styles weg te halen tot het weer klopt, dan weet je waar het aan ligt.

Je html begint overigens met een witregel, wat ervoor zorgt dat IE in quirksmode rendert. Die witregel zou ik sowieso weghalen, scheelt een hoop problemen.
De witregel boven mijn doc-type werd veroorzaakt naar PHP en heb ik nu verholpen. Dat veranderd echter niks aan het probleem.

Verder heb ik even gekeken naar m'n stylesheet. De volgende gedeeltes zijn van toepassing op de <p></p> waarin de tekst staat (nieuws.php) dus.

code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
.gastenboek_box2 {
    width:90%;
    background-color: #FFFFFF;
    border: 1px solid #666666;
    padding:10px;
    margin-top:10px;
    margin-left:15px;
}

.gastenboek_box2 p {
    margin:0;
    padding:0;
    margin-top: 10px;
}


Ik heb met de bovenstaande elementen wat gerommeld (ook verwijderd) maar dat verhelpt niks aan het probleem.....Het is mij een raadsel..... :?

  • marko77
  • Registratie: Februari 2002
  • Laatst online: 06-05 19:41
Ik denk dat je dit alleen kun oplossen door styles te elimineren. Dus elke keer een stuk uit je css weghalen en kijken of het iets uitmaakt.
Het zal niet voor het eerst zijn dat IE om een onbegrijpelijke reden iets verkeerd rendert.

Mijn rig


  • r0bert
  • Registratie: September 2001
  • Laatst online: 30-07 02:32
Dus elke keer een stuk uit je css weghalen
Commenten natuurlijk ;)

  • reddevil
  • Registratie: Februari 2001
  • Laatst online: 06-10 14:25
kijk naar je letter-spacing op je body tag.

  • Kiphaas7
  • Registratie: Februari 2005
  • Laatst online: 09:58
offtopic:
Je hebt nog een aantal foutjes zitten in je markup die niet direct met het probleem te maken zullen hebben maar wel nuttig zijn om te fixen...
http://validator.w3.org/c...29&doctype=Inline&group=0


Overigens zie ik op je pagina in IE7 dat de enkele br gewoon goed wordt weergegeven, de dubbele doet hetzelfde als de enkele in IE7. Nog steeds niet helemaal lekker, maar eigenlijk geen probleem, want 2 br's is een paragraaf. :)

  • reddevil
  • Registratie: Februari 2001
  • Laatst online: 06-10 14:25
Kiphaas7 schreef op maandag 01 september 2008 @ 11:03:
offtopic:
Je hebt nog een aantal foutjes zitten in je markup die niet direct met het probleem te maken zullen hebben maar wel nuttig zijn om te fixen...
http://validator.w3.org/c...29&doctype=Inline&group=0


Overigens zie ik op je pagina in IE7 dat de enkele br gewoon goed wordt weergegeven, de dubbele doet hetzelfde als de enkele in IE7. Nog steeds niet helemaal lekker, maar eigenlijk geen probleem, want 2 br's is een paragraaf. :)
Naah 2 br's is 1 lege regel (en je bedoelde zeker een alinea :)) :P

  • Kiphaas7
  • Registratie: Februari 2005
  • Laatst online: 09:58
reddevil schreef op maandag 01 september 2008 @ 11:54:
[...]


Naah 2 br's is 1 lege regel (en je bedoelde zeker een alinea :)) :P
Ik snap wel dat het gewenste gedrag is dat er een lege regel komt.... Maar in feite klopt het sowieso niet om 2 br's te gebruiken om een nieuwe paragraaf te starten, dus heb je het probleem helemaal niet (imho).

En ik bedoel niet alinea, want daar is 1 br voor. Witregel = paragraaf, regel voortijdig afbreken = alinea. ;)

[ Voor 7% gewijzigd door Kiphaas7 op 01-09-2008 13:13 ]


  • Bosmonster
  • Registratie: Juni 2001
  • Laatst online: 11-11 10:24

Bosmonster

*zucht*

Kiphaas7 schreef op maandag 01 september 2008 @ 13:12:
[...]

En ik bedoel niet alinea, want daar is 1 br voor. Witregel = paragraaf, regel voortijdig afbreken = alinea. ;)
Das niet waar overigens. De nederlandse vertaling voor het engelse 'paragraph' is 'alinea'. In het nederlands is een paragraaf een verzameling van alinea's (deel van een hoofdstuk).

Hier verschilt het engels en het nederlands in (paragraph is geen paragraaf). Alinea's kunnen onderscheiden zijn door een witregel, maar dit is niet per definitie noodzakelijk. Belangrijker is de inhoud.

Het p-element is dus bedoeld voor alinea's in nederlandse context.

[ Voor 9% gewijzigd door Bosmonster op 01-09-2008 13:33 ]


  • LAN
  • Registratie: Oktober 2000
  • Niet online

LAN

Een newline met wat extra spacing eronder oplossen door 2 br's lijkt me discutabel.

Als je in het ene geval een br een newline en in het andere geval een newline en spacing wilt laten doen; dat voelt als een presentatie issue, dus css.

  • monnick
  • Registratie: December 2005
  • Niet online
Ik zal mijn pagina in ieder geval weer xHTML valid maken. Bedankt voor de tip, had hem al een tijdje niet door de validator heen gehaald.

Verder weet ik nog steeds niet hoe ik dit probleem op ga lossen. Ik denk even verder in de stylesheet kloten want daar moet het probleem toch ergens zitten. De fout zou inderdaad in het "line-height" element kunnen zitten. Ik ga er weer mee aan de gang als ik tijd heb (net aan mijn studie TN in Delft begonnen, druk druk druk)

In ieder geval bedankt voor jullie reacties! :)

  • Kiphaas7
  • Registratie: Februari 2005
  • Laatst online: 09:58
Bosmonster schreef op maandag 01 september 2008 @ 13:29:
[...]


Das niet waar overigens. De nederlandse vertaling voor het engelse 'paragraph' is 'alinea'. In het nederlands is een paragraaf een verzameling van alinea's (deel van een hoofdstuk).

Hier verschilt het engels en het nederlands in (paragraph is geen paragraaf). Alinea's kunnen onderscheiden zijn door een witregel, maar dit is niet per definitie noodzakelijk. Belangrijker is de inhoud.

Het p-element is dus bedoeld voor alinea's in nederlandse context.
Nouja zeg, haal ik het toch nog door elkaar...

  • Iska
  • Registratie: November 2005
  • Laatst online: 12-11 17:27

Iska

In case of fire, use stairs!

code:
1
<br/>&nbsp;
ipv alleen
code:
1
<br/>
is de oplossing

[ Voor 24% gewijzigd door Iska op 01-09-2008 21:19 ]

-- All science is either physics or stamp collecting

Pagina: 1