Bonjour à tous,
Je travail en ce moment sur un projet où les éléments de formulaire sont fort présents. Du coup, j'essaie de faire un formulaire adaptatif selon le parent. Si le form a de la place pour s'étendre alors j'aimerais qu'il soit présenté sous une forme "inline" et si il est dans un parent qui est plus petit (aside, modal, peu importe mais je ne connais pas sa taille...), alors j'aimerais que le form soit présenté en "block"...
Etant donné que je ne connais pas la taille du parent puisque il y a pas mal d'utilisation dans le projet et je ne connais pas les emplacement à l'avance (et que dans ce cas là les médiaqueries ne me servent à rien), j'ai réfléchis (un peu)... et j'ai pensé à grid et son minmax.
Voilà un test un peu brouillon...
Mon problème actuel est de limité cette grid à repeat de 2 colonnes maximum. Est-ce que c'est possible ? Une autre méthode ? (je cherche une solution sans js). Aussi dans mon idéal dans la version "inline", les labels pourrait avoir un min-width de 'min-content', max-width de '1fr'. Pour les inputs & co, une taille de 2fr
Une petite idée/piste ?
Voilà ce que je veux dire par inline/block :
edit : ça m'a fait repenser à un article que Rémi Parmentier (Hteumeuleu) avait écrit sur les alternatives aux médiaqueries pour les e-mail. Je vais peut-être essayer cette direction pour faire un test
Modifié par Yordi (31 May 2018 - 15:38)
Je travail en ce moment sur un projet où les éléments de formulaire sont fort présents. Du coup, j'essaie de faire un formulaire adaptatif selon le parent. Si le form a de la place pour s'étendre alors j'aimerais qu'il soit présenté sous une forme "inline" et si il est dans un parent qui est plus petit (aside, modal, peu importe mais je ne connais pas sa taille...), alors j'aimerais que le form soit présenté en "block"...
Etant donné que je ne connais pas la taille du parent puisque il y a pas mal d'utilisation dans le projet et je ne connais pas les emplacement à l'avance (et que dans ce cas là les médiaqueries ne me servent à rien), j'ai réfléchis (un peu)... et j'ai pensé à grid et son minmax.
Voilà un test un peu brouillon...
Mon problème actuel est de limité cette grid à repeat de 2 colonnes maximum. Est-ce que c'est possible ? Une autre méthode ? (je cherche une solution sans js). Aussi dans mon idéal dans la version "inline", les labels pourrait avoir un min-width de 'min-content', max-width de '1fr'. Pour les inputs & co, une taille de 2fr
Une petite idée/piste ?
Voilà ce que je veux dire par inline/block :
"Inline"
label ---------------- input -------------------------------------------
label ---------------- select ------------------------------------------
label ---------------- textarea ----------------------------------------
label ---------------- container... -------------------------------------
"Block"
label ---------------------
input ---------------------
label ---------------------
select --------------------
label ---------------------
textarea ------------------
label ---------------------
container... --------------
edit : ça m'a fait repenser à un article que Rémi Parmentier (Hteumeuleu) avait écrit sur les alternatives aux médiaqueries pour les e-mail. Je vais peut-être essayer cette direction pour faire un test
Modifié par Yordi (31 May 2018 - 15:38)