Disposizione campi

  • Creatore Discussione Creatore Discussione Gae
  • Data di inizio Data di inizio

Gae

Utente Attivo
15 Mar 2021
55
4
8
Salve, ho una form con dei campi label ed input
label ed input sono sulla stessa linea e ho varie linee
In tale maniera, la visualizzazione è disordinata. Vorrei che tutti gli input inizino dalla label più lunga e se possibile le label incolonnate a dx in modo da aver una visualizzazione migliore
 
Ciao, si potrebbe risolvere in vari modi, uno dei quali sta nell'uso delle griglie css.

Qui un tutorial che potresti usare come base:

Nota che viene presentato un approccio tradizionale, con l'uso di float, e confrontato con una soluzione più moderna, con l'uso dell'impaginazione a griglia.

Con la proprietà grid-template-columns, applicata al form, puoi definire l'impostazione delle colonne.
In quel caso la prima colonna (dove sono posti i label) è impostata con una larghezza fissa di 200px ma potresti applicare il valore auto per ottenere la larghezza automatica, basata appunto sull'ingombro maggiore dei vari contenuti di tale colonna.

Tieni presente che in quel tutorial la griglia agisce direttamente sui contenuti label e input, cioè non sono presenti ulteriori contenitori per definire le righe della griglia. In questo modo risulta più pratico disporre diversamente gli elementi per ottenere facilmente un layout responsive (vedi come è stato impostato il css)

Prova magari a partire da quel tutorial e vedi se riesci ad applicarlo al tuo caso, se poi incontri difficoltà se ne può discutere qui stesso.
Fai sapere, buon proseguimento.
 
Ciao, si potrebbe risolvere in vari modi, uno dei quali sta nell'uso delle griglie css.

Qui un tutorial che potresti usare come base:

Nota che viene presentato un approccio tradizionale, con l'uso di float, e confrontato con una soluzione più moderna, con l'uso dell'impaginazione a griglia.

Con la proprietà grid-template-columns, applicata al form, puoi definire l'impostazione delle colonne.
In quel caso la prima colonna (dove sono posti i label) è impostata con una larghezza fissa di 200px ma potresti applicare il valore auto per ottenere la larghezza automatica, basata appunto sull'ingombro maggiore dei vari contenuti di tale colonna.

Tieni presente che in quel tutorial la griglia agisce direttamente sui contenuti label e input, cioè non sono presenti ulteriori contenitori per definire le righe della griglia. In questo modo risulta più pratico disporre diversamente gli elementi per ottenere facilmente un layout responsive (vedi come è stato impostato il css)

Prova magari a partire da quel tutorial e vedi se riesci ad applicarlo al tuo caso, se poi incontri difficoltà se ne può discutere qui stesso.
Fai sapere, buon proseguimento.
Grazie per il tutorial, molto interessante. Penso di usare la grid che é più recente. Mica può creare inserendolo all'interno di un flexBox ?
 
Come già ti dissi in una tua precedente discussione, flexbox è concepito per applicare una disposizione degli elementi in una sola direzione (o riga o colonna), a differenza di grid con cui invece è possibile disporre gli elementi impostando delle regole che lavorano sulle due direzioni (sia sulle righe sia sulle colonne).

I due sistemi possono certamente convivere assieme a patto che siano impostati a dovere secondo le reali necessità del caso.
 
Grazie, lo studierò approfonditamente cercando dai non fare troppi errori
 
volendo semplificare le cose potresti anche usare una tabella impostando il border a 0 (invisibile) e inserendo i vari elementi del form all'interno delle celle della tabella.
 

Discussioni simili