CSS: trop de saut de ligne avant afficher d'un tableau <table>

sontns2 Messages postés 4 Date d'inscription   Statut Membre Dernière intervention   -  
maka54 Messages postés 698 Date d'inscription   Statut Membre Dernière intervention   -
Voici mon problème de saut de ligne:
code dans un fichier php(version 5.3.5):

<strong>Testtable ***********</strong>
<table summary="ligne 1 : les navigateurs, ligne 2 : les pourcentages">
<caption>Top 5 des navigateurs utilisés sur CSS débutants en décembre 2007<caption>
<tr>
<th>Firefox</th>
<th>Explorer</th>
<th>Mozilla</th>
<th>Safari</th>
<th>Opéra</th>
</tr>
<tr>
<td>49,6 %</td>
<td>39,4 %</td>
<td>5,0 %</td>
<td>2,4 %</td>
<td>0,9 %</td>
</tr>
</table>
et voici l'affichage:

Testtable **************








Top 5 des navigateurs utilisés sur CSS débutants en décembre 2007

Firefox Explorer Mozilla Safari Opéra

49,6 % 39,4 % 5,0 % 2,4 % 0,9 %


Entre "Testtable" et "Top 5 des..." il y a trop de saut de ligne que je ne sais pas comment les supprimer.

Merci de me donner une solution.
A voir également:

7 réponses

animostab Messages postés 2829 Date d'inscription   Statut Membre Dernière intervention   738
 
si tu mettais l'url de la page et aussi le CSS, parce que la normalement il n'y a aucun espace entre
Testtable **************
et
Top 5 des navigateurs utilisés sur CSS débutants en décembre 2007

à moins qu'il y ait un margin-top a table ou un margin-bottom a strong je voit pas pourquoi il y aurait un espace
--
0
sontns2 Messages postés 4 Date d'inscription   Statut Membre Dernière intervention  
 
Merci Animostab. J'ai mis ces codes dans une database, quand l'user active le lien, mon program met ces codes en execution.
Je vais regarder dans mon database afin de voir s'il y a un effet de bord par MySQL.
Sinon moi aussi je ne vois pas pourquoi il y a ces sauts de lignes.
Afin je cherche un contournement à ce pb car je ne peux pas afficher un tableau sans les sauts de lignes. Plus mon tableau a de l'entry, plus les sauts sont importants.
Y a t' il d'autre moyen à part de CSS?
Merci encore.
0
animostab Messages postés 2829 Date d'inscription   Statut Membre Dernière intervention   738
 
Si le code généré après execution est bien celui que tu as mis je ne vois pas pourquoi il y aurait un espace

essaie dans le CSS

strong { margin:0; padding:0;}

table {margin:0;}

voir si il n'y aurais pas du CSS appliqué sur ces éléments soit par le parsing soit par un javascript déjà présent ou dans un css.

Sinon franchement je ne vois pas pourquoi cet espace.

--
0
sontns2 Messages postés 4 Date d'inscription   Statut Membre Dernière intervention  
 
Bonjour,

J'ai localisé mon problème comme ceci: j'ai mis mes commands dans une variable (ex.$mytest). Si je fais echo $mytest; ça marche bien mais si je fais echo nl2br($mytest);ça crée des sauts de lignes. Mais j'ai absolument besoin de nl2br pour me protéger car normalement ceux qui sont dans $mytest proviennent d'une formulaire d'entrée par le client.

Voici mon prog de test simplifìé en php:

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN" "http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" lang="fr" xml:lang="fr">
<head>
<title>Test ECHO</title>
<meta http-equiv="Content-Type" content="text/html charset=UTF-8"/>
<link rel="stylesheet" media="screen" type="text/css" title="testCss" href="testcss.css" />

</head>

<body>


<?php
$mytest="<strong>Testtable</strong>
<table >
<caption>Top 5 des navigateurs utilisés sur CSS débutants en décembre 2007<caption>
<tr>
<th>Firefox</th>
<th>Explorer</th>
<th>Mozilla</th>
<th>Safari</th>
<th>Opéra</th>
</tr>
<tr>
<td>49,6 %</td>
<td>39,4 %</td>
<td>5,0 %</td>
<td>2,4 %</td>
<td>0,9 %</td>
</tr>
</table>";
echo $mytest;
?>

<div style="font-size:130%;color:#000b30;">
<?php echo nl2br($mytest);?>
</div>
</body>
</html>

Voici le résulta d'exécution:

Testtable
Top 5 des navigateurs utilisés sur CSS débutants en décembre 2007
Firefox Explorer Mozilla Safari Opéra
49,6 % 39,4 % 5,0 % 2,4 % 0,9 %

Testtable
















Top 5 des navigateurs utilisés sur CSS débutants en décembre 2007

Firefox Explorer Mozilla Safari Opéra
49,6 % 39,4 % 5,0 % 2,4 % 0,9 %

Merci de m'indiquer comment sortir de cette situation.
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
animostab Messages postés 2829 Date d'inscription   Statut Membre Dernière intervention   738
 
Je suis pas super bon en php mais bon nl2br c'est sa fonction de rajouter des br

essaie d'utiliser preg_replace ou str_replace pour les supprimer.

un truc du genre
$text= nl2br($mytest);
$text1= str_replace('<br>', '', $text);
echo $text1;


En php je suis pas doué donc c'est juste une piste je peux pas faire mieux.


--
0
sontns2 Messages postés 4 Date d'inscription   Statut Membre Dernière intervention  
 
Merci encore animostab.
la solution str_replace ne change rien!
la fonction nl2br permet de créer <br /> automatiquement à la fin de chaque ligne.
J'ai regardé de près cette fonction et remarque qu'elle rajoute autant de ligne chaque fois d'il y a de "point à la ligne" dans <table>. Dans mon exemple, il y aura 18 lignes sautées avant l'affichage du lableau!
Si je supprime tous les "point à la ligne" dans <table> alors çca marche:

Ex:
$mytest="<strong>Testtable</strong>
<table > <caption>Top 5 des navigateurs utilisés sur CSS débutants en décembre 2007<caption>
<tr> <th>Firefox</th> <th>Explorer</th> <th>Mozilla</th> <th>Safari</th> <th>Opéra</th> </tr> <tr> <td>49,6 %</td> <td>39,4 %</td>
<td>5,0 %</td> <td>2,4 %</td> <td>0,9 %</td> </tr>
</table>";

Résultat:

Testtable


Top 5 des navigateurs utilisés sur CSS débutants en décembre 2007

Firefox Explorer Mozilla Safari Opéra
49,6 % 39,4 % 5,0 % 2,4 % 0,9 %

J'ai mieux cerné le problème maintenant, j'espère trouver une solution ou un contournement.
Merci encore de m'éclairer.
0
maka54 Messages postés 698 Date d'inscription   Statut Membre Dernière intervention   80
 
La solution est enfantine, tu n'as pas besoin d'utiliser nl2br


Mais j'ai absolument besoin de nl2br pour me protéger car normalement ceux qui sont dans $mytest proviennent d'une formulaire d'entrée par le client.

cette fonction ne protège en rien

montres-nous ton code php
0