Formulaire dans un tableau ? - HTML/CSS - Programmation
Marsh Posté le 15-06-2009 à 17:22:05
Bonjour,
styler un formulaire complexe avec des tableaux, pourquoi pas ... Toujours mieux qu'une avalanche de CSS foireux et de div vides servant de support à des règles CSS.
Par contre pour un formulaire tenant sur une deux lignes, sérieux quoi
le div qui les englobe sera celui centré horizontalement.
Marsh Posté le 15-06-2009 à 18:06:59
Ah oui, c'est une explications assez évasive on va dire, surtout que je suis encore qu'un débutant ^^
Le mot "complexe" m'a fait sursauter, en fait, tant que c'est adapté à toutes les résolutions, c'est le principal
Marsh Posté le 15-06-2009 à 18:49:17
Le mieux c'est que tu postes du code avant de venir demander la solution.
Et pour trouver comment faire, lire des articles et bosser (pas de coppier/coller quoi)
http://www.d.umn.edu/itss/support/ [...] html#forms
Si tu ne dois lire qu'un seul article de cette liste, celui-ci est génial
http://www.sitepoint.com/article/f [...] esign-css/
Plus de div non sémantique, mais des li
Marsh Posté le 15-06-2009 à 19:01:32
Ok David, je vais lire tout ça. Mon problème c'est que théoriquement, je comprends très bien comment tout ça fonctionne, mais j'ai du mal à passer à la pratique.
arf, c'est de l'anglais... Je sais plus trop où donner de la tête, on me dit que les tableaux c'est à éviter, mieux vaut les div, ensuite les div sont à éviter, mieux vaut les li... pfiout
Marsh Posté le 15-06-2009 à 19:21:15
Contrairement à ce que les gens pensent, c'est difficile de faire du bon html, je vois dans ce forum trop de dev back-end qui sont incapable de faire un formulaire un peu sémantique.
Donc certains emploient des tables car ils sont mauvais, certainement très bon en php ou .net, mais pas en html/css
Ici, je préfère les li car il faut de tout façon un conteneur pour les label et les input si ils sont flottants.
Ce élément de liste à du sens donc le html n'est pas en trop pour rien;
1° nom
2° prénom
Ensuite, l'anglais est requis pour faire du web. Ce n'est pas non plus de la grande littérature et tous les articles ne sont pas écrit par des anglophones, c'est abordable.
Marsh Posté le 15-06-2009 à 19:47:48
Ok. En fait, c'est pas du tout un formulaire que je veux faire, juste une zone de texte avec deux boutons qui renverra à des pages. Mais comme les balises appartiennent à celles pour faire un formulaire, il est préférable alors que je le mette entre des balises Li alors ? Le truc c'est qu'il faut simplement que la zone de texte + les 2 boutons soient centré. Pour ce qui est du input=radio, faut juste qu'il soit un peu sur la gauche, donc le tout entre les balises Li ?
Marsh Posté le 16-06-2009 à 10:22:07
David Boring a écrit : Contrairement à ce que les gens pensent, c'est difficile de faire du bon html, je vois dans ce forum trop de dev back-end qui sont incapable de faire un formulaire un peu sémantique. |
+1
Effectivement, les tableaux sont à éviter au maximum et les li plutôt utiles sur ce coup-là.
J'ajouterais également pour tous ceux qui croient encore que les tables sont mieux que tout pour faire de la mise en page web qu'il faut penser à l'avenir du Web, aux normes d'accessibilités, etc.
Marsh Posté le 16-06-2009 à 11:46:38
Ok, bon j'travail sur le p'tit bout de code et j'vous dit quoi
Marsh Posté le 17-06-2009 à 19:58:48
-KristoV- a écrit : J'ajouterais également pour tous ceux qui croient encore que les tables sont mieux que tout pour faire de la mise en page web qu'il faut penser à l'avenir du Web, aux normes d'accessibilités, etc. |
div ou td, ça change pas grand chose à l'accessibilité si le tableau est linéarisable.
Tu peux faire de la merde avec des div et des span ou faire un site accessible avec des td (et des titres, liens explicites, etc)
Marsh Posté le 18-06-2009 à 16:42:12
De manière générale je travaille sur les formulaires avec des <li> étant donné que les formulaires sont bien souvent des listes de label et d'input les uns à la suite des autres, c'est une solution sémantique et qui permet de bien mettre en page son formulaire et c'est une solution cross-browser.
Ca me semble être la solution la plus pertinente à l'heure actuelle (j'utilisais avant comme beaucoup des <p> mais ça n'a pas de sens sémantiquement)
Marsh Posté le 18-06-2009 à 16:53:27
Ouais, en gros, les label équivaut au <p> mais sont à utiliser uniquement dans des formulaires
Marsh Posté le 18-06-2009 à 16:55:19
les labels ont surtout l'interêt qu'en cliquant dessus la case à cocher se coche ou se décoche, tu n'es plus obligé de pointer sur la case, l'ensemble case+label est cliquable.
Marsh Posté le 18-06-2009 à 17:25:04
Ah ok, oui en effet, c'est bien plus pratique, puis sémantique ^^
Marsh Posté le 18-06-2009 à 21:11:17
J'en peux plus, j'expose mon code :
Code :
|
Code :
|
Tout va super sur une résolution de 1366x768, mais alors sur une résolution de 1024x768 c'est la catastrophe ! Les liens en haut sont complètement serrés, puis les liens sur le coté droit de la zone de texte sont...sur la zone de texte !
Il me semble que j'ai respecté la sémantique. Quelqu'un a une solution ?
Marsh Posté le 19-06-2009 à 00:23:50
ReplyMarsh Posté le 19-06-2009 à 00:55:14
Faut pas que tu fasses comme ça, les li dans les formulaires c'est bien quand tu as des lignes de formulaire un peu standard, genre formulaire de contact
Code :
|
Et ensuite tu paramètres en CSS. Tu définies une largeur à ton conteneur_centre, et tu le centres au milieu de la page, ensuite tu réparties la largeur sur gauche/droite et eux tu les mets en float: left.
Ensuite tu stylises la liste comme tu veux.
Marsh Posté le 30-06-2009 à 00:14:43
ReplyMarsh Posté le 01-07-2009 à 21:35:49
Tu ne développes pas où est ton souci.
Je t'ai donné le code HTML, après il restait à faire le CSS que j'ai rapidement expliqué...
Marsh Posté le 01-07-2009 à 21:54:43
Oui, mais le problème ne vient pas de input text ou input submit, mais des 3 liens juste sur la droite de input text. Ce sont uniquement les liens qui viennent chevaucher le input text quand je diminue la fenêtre et j'aimerai justement éviter cela.
Marsh Posté le 01-07-2009 à 22:20:11
Code :
|
pour l'instant ça ne ressemble pas vraiment à ce que je voudrais. les deux boutons sont à coté de input text or il faut qu'ils soient juste en dessous. Puis malgré mon text-align:center, rien est centré
Marsh Posté le 01-07-2009 à 23:01:57
Avec les changements que je viens d'éditer dans le code ci-dessus, l'emplacement est exacte, mais j'ai toujours le même problème de chevauchement des 3 liens quand on rétréci la fenêtre
Marsh Posté le 01-07-2009 à 23:28:34
Si tu faisais ce qu'on te dit ce serait mieux...
"Tu définies une largeur à ton conteneur_centre, et tu le centres au milieu de la page, ensuite tu réparties la largeur sur gauche/droite et eux tu les mets en float: left. "
De plus, tu as pas vérifié le code que je t'ai filé, il manquait un guillemet fermant dans le premier submit
Il faut que tu sois plus rigoureux.
Marsh Posté le 01-07-2009 à 23:40:12
C'est ce que j'ai fait la première fois avec un width:50% et un text-align:center mais c'est pire. Le guillemet manquant a bien été détecté, j'ai juste pris la peine de faire un copier/coller de ton code.
C'est vrai que j'manque de rigueur, ça fait 3 semaines que je cherche à faire ce petit truc insignifiant, ça commence à m'irriter sérieusement
Marsh Posté le 02-07-2009 à 00:34:31
Que veux-tu que je te dise, si tu veux pas prendre la peine de faire ce que je te conseille, c'est sur que ton problème peut durer des mois...
Ton problème peut se régler en 5 mins si tu prends le temps d'écouter c qu'on te dit.
Marsh Posté le 02-07-2009 à 00:50:25
J'ai bien fait ce que tu m'as conseillé, mais c'est pas du tout l'effet désiré :
Code :
|
Marsh Posté le 02-07-2009 à 14:02:25
Tu mets la partie de gauche en width: 99% et la partie de droite en width: 99%, comment veux-tu qu'ils soient côte à côte si chaque élément prend 100% de la largeur...
Je me requote pour la 2ième fois :
"Tu définies une largeur à ton conteneur_centre, et tu le centres au milieu de la page, ensuite tu réparties la largeur sur gauche/droite"
Si tu ne lis pas ce que je te dis, ça peut durer des semaines...
Marsh Posté le 02-07-2009 à 14:06:58
phosphoreloaded a écrit :
le div qui les englobe sera celui centré horizontalement. |
Je te requote aussi ce qu'avait dit un autre membre pour t'aider. Tu as tout pour finaliser ce que tu veux faire, il te suffit juste d'être rigoureux et de lire ce qu'on t'écrit.
Marsh Posté le 02-07-2009 à 16:35:15
Code :
|
Là je pense avoir fait ce qu'il fallait. Input et Submit ne sont pas bien centré, puis les liens sont bien trop loin de input text. J'ai malgré tout essayé de voir si en rétrécissant la fenêtre, les liens resteraient au même endroit, ben non. Je considère pourtant avoir suivi les conseils, non ?
Marsh Posté le 02-07-2009 à 22:28:56
Très bon lien. Par contre pour fixer le souci du background-color déborde pour le fieldset sous IE, perso je m'emmerde pas, je fais tout de la même couleur (en l'occurrence blanc) et on n'en parle plus.
Et au lieu d'utiliser une liste, j'utilise des div, mais ça c'est parce que Rails enveloppe les fields qui ont des erreurs avec un div, et ça ferait péter la validation autrement.
Marsh Posté le 03-07-2009 à 08:19:33
pr0faz >
Rajoute un "position: relative;" à ton #conteneur_centre déjà
Puis rajoute en premier dans ton CSS :
Code :
|
Le * permet de s'appliquer à tous les éléments HTML, et ça permet d'éviter les attributs par défaut de chaque navigateur.
Tu comprendras donc que tu peux virer ça :
Code :
|
Une fois que tu as fait ça, refais nous un screenshot et remontre nous ton code.
Marsh Posté le 03-07-2009 à 11:25:35
Code :
|
Marsh Posté le 03-07-2009 à 11:48:29
bah non c'est pas pire, c'est exactement le résultat que tu veux, sauf que certains attributs sont à paramétrer. Vire tes pourcentages inutiles pour les widths, passe tout en pixels
et vire le "border: 0;" dans la première ligne du css
Puis refais un bilan
Marsh Posté le 03-07-2009 à 12:00:27
ReplyMarsh Posté le 03-07-2009 à 12:27:45
Je sais bien, et c'est exactement ce que tu as, sauf que les borders n'apparaissent pas et que les widths sont à revoir, comme je l'ai précisé plus haut.
Bref, fais ce que je t'ai dit, et reviens montrer
Marsh Posté le 03-07-2009 à 14:43:54
Code :
|
On commence à se rapprocher, juste un petit souci, sur la 2ème photos, quand je rétréci la fenêtre, il y a une scrollbarre en bas, j'en déduis que c'est le width:790px du conteneur-centre-droite qui fait ça, y a une solution pour l'enlever ?
Marsh Posté le 03-07-2009 à 16:02:25
moi je te propose ca:
Code :
|
je peux pas faire mieux.
Marsh Posté le 03-07-2009 à 16:04:42
bah déjà la question c'est pourquoi tu l'as mis ? O_o
tu dis que ton conteneur général fait 410, que ton sous conteneur gauche fait 380, le sous conteneur droit devrait faire 30, pourquoi tu as mis 790 OOOO____ooo Vire le et mets 30 (même si dans un second temps, il faudra que tu mettes des tailles plus réalistes)
Et ça vient d'où ce margin-top:-43px; ? Vire le aussi
Et reviens ensuite.
Marsh Posté le 15-06-2009 à 17:11:31
Coucou,
Je sais que d'un point de vu sémantique, mettre un formulaire dans un tableau c'est "immonde" mais alors pourquoi beaucoup le font ?
J'aimerai créer, heu, voici à peu près ce que j'aimerai faire :
Bon c'est pas tout à fait ça, mais disons que ça y ressemble. Le souci c'est que je n'arrive pas à l'adapter à toutes les résolutions.
Alors je repars de zéro et je viens vous demander un coup de main (sans me donner la réponse, essayer de m'amener sur le chemin histoire de ne pas être assisté)
---------------
Mes VenTes - Mes AchaTs