2012-08-02 14 views
6

Quindi, usando PHP sto visualizzando una pagina di immagini. Ho un tag div per contenere queste immagini.Posizionamento alternato sinistro e destro con CSS

Quello che sto cercando di fare, è il posizionamento alternativo di queste immagini sul lato sinistro e destro del browser.

Quindi l'ingresso 1 è posizionato sulla sinistra del scorrendo verso il basso ingresso 2 è posizionato sulla destra ecc

Se il mio div contenitore è style="position:relative;width=100%" Come faccio le mie immagini si alternano abbracciare il lato sinistro e di il browser?

+0

non abbastanza informazioni ... – Christoph

+0

Sembra che tutte le risposte mi stanno dando soluzioni dove l'immagine sinistra e l'immagine a destra sono la stessa linea orizzontale - ma sto cercando l'immagine a sinistra, poi scorri verso il basso, poi l'immagine a destra, ecc. – Ralph

+0

Il chiaro: a sinistra e chiaro: le parti giuste di quelle soluzioni dovrebbero farle allineare verticalmente piuttosto che orizzontalmente. – Faust

risposta

2

per la sinistra-huggers:

style="float:left;clear:left;" 

e per il diritto-huggers

style="float:right;clear:right;" 

... anche se il contenitore non è sufficientemente larga per adattarsi più di 2 immagini in tutto, è non avrà bisogno delle dichiarazioni "chiare".

0

Set float: left; quando index%2 == 0 e float: right; quando index%2==1 index essendo una variabile indice di un iterazione ciclo sulle vostre immagini.

6

Ci sono diversi modi possibili, sarebbe la seguente:

CSS:

div img{ 
float:left; 
clear:both;  
} 
div img:nth-of-type(2n){ 
    float:right; 
} 

Controllare il Example

Se non volete che si alternano in questo modo, l'uso

div img{ 
float:left; 
clear:left;  
} 
div img:nth-of-type(2n){ 
    float:right; 
    clear:right; 
} 

A seconda del browser che si deve supportare (Internet Explorer 8 e versioni precedenti non supportano tale selettore), utilizzare una classe su tutte le immagini pari e sostituire :nth-of-type(2n) con quella classe.

+0

Stavo proprio per suggerire questo. La soluzione solo CSS è il mio approccio preferito per qualsiasi regola di styling alternata. –

+0

@Ralph è possibile accettare la risposta facendo clic sul segno di spunta a sinistra per indicare alla Community Stackoverflow che il problema è stato risolto. – Christoph

+1

Buona soluzione, attenzione però: il nth-of-type richiede IE9 o versioni successive. – Faust

0

In modo simile alle altre risposte

div img:nth-child(even) { float: right; clear: right; } 
div img:nth-child(odd) { float: left; clear: left; } 

Demo: http://jsfiddle.net/GL667/

Problemi correlati