Pb bizarre de mise en page :S

Eléphant du PHP | 59 Messages

09 nov. 2005, 01:06

Hello tout le monde.

Voilà j'ai un problème bizarre de mise en page, et c'est drôle car tout change en fonction d'un détail qui n'a rien à voir...

Jm'explique:

Prenez ce code:

Code : Tout sélectionner

<table width="100%" border="0" cellpadding="0" cellspacing="0"><tr> <td width="15" height="71">test</td> <td></td> <td width="15" height="71">test</td> <td></td> <td width="15" height="71">test</td> <td></td> <td width="15" height="71">test</td> <td></td> <td width="15" height="71">test</td> </tr></table>
Le but est que les 5 cellules soient espacées entre elles de la même longueur, que la première te la dernières touchent les extrémités, et que les cellules contenant "test" fassent 15 de largeur, et les <td></td> ben c'est pour permettre d'étendre de même longueur...

Résultat: ça ne fonctionne pas...

Prenez maintenant le même code, mais en virant le cellpadding="0" :

Code : Tout sélectionner

<table width="100%" border="0" cellspacing="0"><tr> <td width="15" height="71">test</td> <td></td> <td width="15" height="71">test</td> <td></td> <td width="15" height="71">test</td> <td></td> <td width="15" height="71">test</td> <td></td> <td width="15" height="71">test</td> </tr></table>
Là ça fonctionne ^o)

Donc si un jour on veut faire le but recherché, mais sans qu'on ne voie les bords, on fait comment ? :S


Si quelqu'un a une solution, elle est la bienvenue :)
Merci à tous !
Ciao
Pierre

Avatar du membre
ViPHP
ViPHP | 3008 Messages

09 nov. 2005, 12:05

J'avoue que je n'ai pas du tout saisis ton problème. J'ai testé en enlevant le cellpadding, même résultat au final... :roll:

Administrateur PHPfrance
Administrateur PHPfrance | 11457 Messages

09 nov. 2005, 12:23

Je ne suis pas certain qu'une largeur de cellule de 15 pixels suffise à afficher le mot "test".
Surtout si tu n'as pas fixé le corps (la taille) de ta police de caractères...

Essaie en remplaçant "test" par un simple point . ;)

Eléphant du PHP | 59 Messages

09 nov. 2005, 14:51

lol re-bonjour charabia, ça fait longtemps :p

euuh albat, en fait mon code ici est simplifié par rapport à cque je veux faire, mais si tu veux en vrai j'ai 5 images à caser dans des cellules de 92px, donc je dis <td width="92"><img src="..." width="92"></td> et si tu veux la table doit s'étendre dans une largeur "100%", et donc cela doit faire 5 images, la première tout à gauche de la <table>, la 5ème tout à droite de la <table>, chaque cellule d'image doit faire 92pxl, et entre chaque cellule à image, il doit y avoir une cellule extensible en largeur, donc en gros la structure:

Code : Tout sélectionner

<table width="100%" border="0" cellpadding="0" cellspacing="0"><tr> <td width="92"><img width="92" height="17"></td> <td></td><!-- Cellule Extensible --> <td width="92"><img width="92" height="17"></td> <td></td><!-- Cellule Extensible --> <td width="92"><img width="92" height="17"></td> <td></td><!-- Cellule Extensible --> <td width="92"><img width="92" height="17"></td> <td></td><!-- Cellule Extensible --> <td width="92"><img width="92" height="17"></td> </tr></table>
et mon problème il est que la dernière cellule qui contient une image est censée faire 92 de largeur, elle en fait plus, et donc mon image est pas à droite du cadre...

Tu me diras surement "ben t'as qu'à mettre un align="right" ..." mais non car il faut qu'il y ait le même espace entre les 5 images :)

Charabia, peut-être mon <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"> n'est-il pas bon ? :D je lol

Une idée ? *-)
Merci !
Bye
Pierre

Administrateur PHPfrance
Administrateur PHPfrance | 11457 Messages

09 nov. 2005, 14:55

Déjà, je dirai qu'une cellule vide n'est pas extensible.
Essaie avec :
<td> </td> // juste une espace entre les deux balises
Le temps que tu testes ça, je vais réfléchir... ;)

Eléphant du PHP | 59 Messages

09 nov. 2005, 15:08

j'ai déjà essayé, et va pas non plus :cry: j'ai aussi essayé avec &nbsp; mais marche pas non plus...
et une cellule vide est extensible non ? essaye

Code : Tout sélectionner

<table width="100%"><tr> <td width="20">1</td> <td></td> <td width="20">2</td> <td width="20">3</td> </tr></table>
elle est vide et elle s'étend :)

Eléphant du PHP | 59 Messages

09 nov. 2005, 15:10

merde par contre essaye le même code avec un cellpadding="0" et ça va plus...

par contre, avec le &nbsp; là ça a l'air d'aller *-)

jvais tester sur page complète...

Eléphant du PHP | 59 Messages

09 nov. 2005, 15:14

ui ben voilà avec &nbsp; ça va...

pourtant je sais que je l'ai essayé, donc ça devait être avec autre chose alors... mais quoi ? :\

enfin soit, toujours est-il que ça a l'air de fonctionner avec &nbsp; :)

ben merci en tout cas ! :) ça aura pas été très long comme problème, mais bon...

charabia à la prochaine lors de mon prochain problème :p lol

allez merci à tous les 2
++
Pierre

Administrateur PHPfrance
Administrateur PHPfrance | 11457 Messages

09 nov. 2005, 15:20

Et le [Résolu] ?... ;)

Eléphant du PHP | 59 Messages

09 nov. 2005, 16:13

scuse jcomptais le faire mais g oublié :p

on sait jamais que t'aies une idée :p non je lol

ciao et merci