2015-09-15 11 views
9

Ho alcuni elementi all'interno di uno DIV che vengono riordinati a seconda delle dimensioni dello schermo. Voglio modellare ciascuno di questi elementi in modo diverso a seconda del loro ordine di flessione. Poiché le query multimediali sono all'interno di un framework, preferisco non scrivere le mie query multimediali per fare ciò, perché non voglio dover ricordare di cambiare le mie query multimediali se il framework cambia i punti di interruzione per le loro query multimediali. Ho provato a utilizzare il selettore di pari livello +, ma a quanto pare questo si applica solo all'ordine degli elementi nel markup originale, non all'ordine di rendering della casella flessibile. C'è un modo per disegnare un elemento in base all'ordine in cui appare nel DOM renderizzato?Come stile un elemento basato sul suo ordine di box flessibile

+0

No. CSS seleziona gli elementi ... non stili. Non può sapere se un elemento ha uno stile specifico o no. Avresti bisogno di Javascript. –

+0

possibile duplicato di [selettore CSS per attributo di stile] (http://stackoverflow.com/questions/8426882/css-selector-by-style-attribute) –

+1

Non sono necessariamente alla ricerca di un selettore di stili CSS. Capisco, se ci fosse un modo per farlo in modo affidabile, che avrebbe risolto il mio problema; tuttavia, ovviamente non è possibile, quindi sto provando a vedere se c'è un modo per disegnare un elemento in base all'ordine in cui appare nel DOM renderizzato. Aggiornerò la domanda per chiarire questo. – Trevor

risposta

0

Come menzionato nei commenti, non si sarà in grado di utilizzare nth-child, poiché gli stili si applicano all'ordine del DOM effettivo, non al DOM renderizzato.

Per eseguire questa operazione è necessario aggiungere ulteriori classi al codice. Quindi, piuttosto che riordinare usando nth-child, riordinare usando le classi extra.

<div class="flexGrid"> 
    <div class="flexGrid__item flexGrid__item--alpha"></div> 
    <div class="flexGrid__item flexGrid__item--bravo"></div> 
    <div class="flexGrid__item flexGrid__item--charlie"></div> 
    <div class="flexGrid__item flexGrid__item--delta"></div> 
</div> 

Altro dettaglio in questo violino: https://jsfiddle.net/pua5u8a4/1/

Problemi correlati