gros probleme IE (eternellement lui)

Eléphant du PHP | 299 Messages

03 oct. 2009, 23:38

Salut a tous, j' ai decidé de me lancer sur fshl , pour colorer les textes en divers languages.

Sous IE, dés que je met le code entouré d' une quote, j' ai mon tableau qui contient le code qui est decalé sur la droite.
Si j' enleve le code, retour a la normal.

Voila ce que j' ai comme indices:

(je savais pas si je devais ecrire dans php ou css vu qu' il y a les deux)


dans mon header, j' ai ceci, quote correspondant forcement a la "quote" et "code" qui est quasiment la meme a part la couleur de fond qui change.
En fait "quote" contient juste le mot "Code : " suivi du code en dessous "code".

#quote
{
width: 100px;
font-size: 14px;
background-color : #90f290;
padding-left: 20px;
margin-right: 5px;
margin-left: 5px;
margin-bottom: 2px;
font-family: "Verdana", Arial, Verdana, serif;
}
#code
{
color: #FFFFFF;
font-size: 13px;
width: 100px;
background-color : #196c2a;
padding-left: 20px;
margin-right: 5px;
margin-left: 5px;
margin-top: 2px;
font-family: "Verdana", Arial, Verdana, serif;
}

Mon bout de code, le voila:
					echo '<pre class="normal">';
					echo code($parser->highlightString($start_language, $text));
					echo '</pre>';
code() est la fonction bbcode le reste fait partie de fshl (logiciel pour colorer les codes php, html, etc...)


Si vous avez des questions je suis la, merci mille fois parce que je trouverai ca dommage d' arreter la pour une connerie #-o
Modifié en dernier par graffx le 04 oct. 2009, 13:10, modifié 2 fois.

Eléphant du PHP | 299 Messages

04 oct. 2009, 00:52

Alors en enlevant la fonction code() sur mon contenu, retour a la normal:

$texte = preg_replace('`\[quote\](.+)\[/quote\]`isU', '<div id="code">CODE :</div><div id="quote"><br />$1<br /></div>', $texte);


Quel peut etre le probleme doc??

Mammouth du PHP | 2937 Messages

04 oct. 2009, 10:42

Je vais t'attirer l'attention sur plusieurs points.

D'abord, ton code HTML généré fait apparaître plusieurs id="quote" ; or, un identifiant doit être unique. Ensuite, tu utilises l'élément div, qui se trouve au sein de l'élément pre, ce qui n'est pas valable syntaxiquement : div est un élément de type bloc ; or, l'élément pre ne peut avoir pour éléments enfants que des éléments de type inline (comme span, par exemple), à quelques exceptions près (résumées dans la spécification HTML 4.01 à la définition de pre). Enfin, je constate une jolie cascade de tableaux ; à ta place, je tâcherais d'apprendre à construire une page HTML sans tableau de mise en forme : tu gagneras à la fois en légèreté de code et en maintenance.

Eléphant du PHP | 299 Messages

04 oct. 2009, 13:10

Oui je sais pour les tableaux j' ai honte X) ca devait etre un projet basé sur un coup de tete avec une connaissance, alors facilité quand tu nous tiens....

Merci a toi , en effet id ne peut etre utilisé qu' une seule fois! Le bug venait apparement de la! Pour le <pre>, je ne savais pas, je repart donc plus riche :)


Merci a toi en tout cas!!!