Probleme affichage Tableau

Fermé
sarah - 18 sept. 2013 à 01:01
 Sarah - 30 sept. 2013 à 01:22
Bonjour,

J'ai un petit soucis de conception et j'aimerais avoir vos idées si possible,
J'ai à développer des tableau de plusieurs colonnes et lignes en php (et html donc)

La partie PHP c'est OK
Mais je n'arrive vraiment pas a faire le tableau html+css,
je m'explique
Les tableaux doivent apparaître proprement (aligner l'un a côté de l'autre)
- sur iphone ou blackberry
- sur tout les navigateurs avec n'importe quel résolution d'écran

ce que j'ai fait moi c'est un peu comme ça :

DIV GLOBAL
div BLOC 1
div TABLEAU 1
et les TR TD habituel
div TABLEAU 2
et les TR TD habituel
div TABLEAU 3
et les TR TD habituel
div BLOC 2 (qui doit être en dessous)
div TABLEAU 4
et les TR TD habituel
div TABLEAU 5
et les TR TD habituel
div TABLEAU 6
et les TR TD habituel

le probleme c'est que moi j'ai fait sa avec du css en dur (genre bloc 1 fait width 800px et height 400px) mais cette methode ne peut marcher si lecran est trop petit (black berry) ou qu'il zoom comme un malade (ça casse tout l'alignement)
comment prendre en compte cela, tout en sachant que j'ai le droit qu'a du IE8 sans CSS3 ou HTML5 (ils sont pas si gentils) .


2e questions:
Il me parle de plus en plus de pouvoir ajouter des colonnes grâce a un bouton, mais comment faire cela si je définis des tailles en dur ? jvais pas m'amuser a faire des soustractions de pixels pour agrandir un blocs a chaque fois :-(


Je suis désolée pour ces questions, mais je suis un peu perdue



A voir également:

3 réponses

Bonjour,

Vous savez je suppose que les tableaux html sont dédiés depuis CSS (et même avant) aux données tabulaires et non au positionnement.
C'est donc une erreur ou du moins un non respect de normes(rassurez vous il m'arrive fréquemment de ne pas respecter cette norme sans que mes sites en souffrent). Là où je ne vous suit pas c'est que vous utilisez des div pour englober vos tableaux. Vos tableaux peuvent très bien être positionnés comme des div et les tableaux peuvent inclure d'autres tableaux pour un peu que ce soit bien fait.
Si vous automatisez le processus avec php qui va faire un 'echo' au travers d'une boucle vous n'avez pas à vous préoccuper d'avoir des balises lisibles puisque si vous modifiez vous modifiez la programmation(php) et non la mise en page par html directement.

il ne faut jamais définir des tailles en dur, en tout cas si vous voulez un affichage qui dépends pas de la résolution d'écran de l'utilisateur. Utilisez des valeurs proportionnelles comme les % ou le quadratin.
CSS3 et HTML5 n'a aucun rapport il me semble.
Le positionnement se fait en CSS2 et HTML standard, HTML5 amènes des nouvelles fonctionnalités mais conserve les bases établies depuis ses anciennes versions.

Concrétement:

vous voulez 2 tableaux qui se superposent vous n'avez pas besoin d'indiquer de taille ou dimensions fixes ici 3 solutions:

_utilisez un retour à la ligne après le premier tableau
_vous utiliser des float sans oublier de
_vous ne fait rien du tout, les balises table ne sont pas inline mais block donc pour chaque occurrence elle vont remplir tout l'espace dont elles ont besoin, cela ne marchera que si le contenu de chaque tableau prends assez de place pour remplir plus de la moitié de la largeur de l'écran; à vous de voir avec la première ligne des tableaux-le titre de chaque colonne en général-.
0
Bonjour Yota,
tout d'abord, merci beaucoup pour toutes ces explications claires :-)

Je ne comprends pas trop comment , avez vous un exemple de : "les tableaux peuvent être positionnés comme des div et les tableaux peuvent inclure d'autres tableaux", car on m'a toujours dis d'oublier les tableaux pour la mise en page ...

Alors j'utilise des div pour englober mes tableaux pour une seule raison (que je comprends mauvaise) que je souhaite définir un cadre a ces blocs qui se superpose car en tout il y en a 12 tableaux ( 7 tableaux sur la premiere ligne, en dessous 3, et en dessous 2), ils n'ont pas la même taille et grâce a ces div englobante ça me permettait d'avoir un cadre et qu'il prenne la taille d'un bloc sans risque que ça depasse et que chaque ligne ou colonne soit alignées en hauteur et largeur par rapport aux autres tableaux --> je sais pas si je suis claire.

Sinon J'ai choisis de marcher avec la 2e solution que vous avez évoqués c'est à dire les FLOAT , par contre par curiosité pouriez-vous finir votre phrase s'il vous plait "vous utiliser des float sans oublier de " je crois qu'elle est coupée .


Concernant les automatisations PHP je fais justement cela, donc les TR TD TABLE se crées de façon dynamique, mais c'est la ou je voulais en venir, si je rajoute une colonne dans une table je ne trouve pas moyen de le rentrer dans le tableau.
Car vu la quantité de données que j'affiche dans chaque case, si je fais en pourcentage, je risque d'avoir des cases trop petites ou une police trop petite.
Voila pourquoi je faisais un truc tout moche genre "1200px/ 7" pour les tableaux du haut

Et bien sur ils ne veulent pas de SCROLL ... :'(
0
personne ? :(
0
pas d'idée ? :(
0
Personne ?

Et aussi je comprends pas trop l'idee d'imbriqué des tableaux, sa va pas gener la semantique de la page ? Le js ? Que dois je surtout faire attention ?

Car ça parait compliqué ( jessaye la) dmbriqué 4 tableaux dans 1 et avec le javascript car jrecupere des valeurs ou des voyants et la tout pete :-((((
Par contre ce qui est genial c'est que ça aligne tout les tableaux .

Mercii
0