2013-02-20 13 views
11

Come posso posizionare le div affiancate senza usare il galleggiante? Sto chiedendo perché ho letto alcune volte che non dovrei usare float. O in questo caso particolare è ancora il float il modo migliore per posizionare gli elementi?Layout a due colonne senza elementi mobili?

+1

a scopo di impaginazione generali, galleggianti sono l'opzione più semplice e più sicuro per la creazione di colonne. Per le griglie di dati e le e-mail HTML, le tabelle sono il modo appropriato per creare colonne. Oltre a ciò, è questione di quale sia il tuo specifico bisogno in ogni caso. –

risposta

0

Hai alcune opzioni ...

  • assoluto larghezza posizionamento COL1: 50% a sinistra: 0% Larghezza COL2: 50% a sinistra: 50%
  • posizionamento fisso "come sopra, ma interferirà con scrolling"
  • un layout di tabella, anche se i puristi protesteranno, funzionerà correttamente
+0

la prima opzione sembra funzionare ma ora devo affrontare un altro problema. i due div sono all'interno di un div wrapper con larghezza fissa e imbottitura. Posizionamento assoluto uccide il padding – devotchkah

+0

@devotchkah - Puoi aggiungere un margine sinistro e un margine destro ai div assoluti che corrispondono al riempimento dei wrapper esterni. –

+1

sì, credo che funzionerebbe, ma ho aggiunto padding al wrapper solo così non avrei dovuto aggiungere margini o padding a nessun altro div, sai? – devotchkah

16

http://jsfiddle.net/9LaJt/

.210

Si dovrebbe dare un'occhiata a:

display: inline-block 

Come disse Mark, per evitare di allineamento della linea di base:

vertical-align: top 
+0

fantastico! ma guarda cosa succede quando aggiungo del contenuto http://jsfiddle.net/xvcDT/ – devotchkah

+0

gli elementi inline sono sempre posizionati in fondo alla riga. È possibile impostare l'altezza manualmente. – Raffael

+5

Elementi in linea _default_ al posizionamento verticale della linea di base. Puoi impostare l'allineamento verticale: in alto; http://jsfiddle.net/rFwtv/3/ – Mark

Problemi correlati