Supponiamo che io sono un paio di elementi adiacenti:selettore CSS per le interruzioni di linea
<div class="container">
<div>1</div>
<div>2</div>
<div>3</div>
<div>4</div>
<div>5</div>
<div>6</div>
</div>
in stile con il seguente:
.container > div {
display:inline-block;
white-space:nowrap;
}
Dal momento che stiamo usando display:inline-block
, i div
s scorrerà come elementi in linea . Quello che mi piacerebbe fare è essere in grado di specificare una regola CSS da applicare quando i fratelli div
s sono disposti sulla stessa riga (cioè non c'è un'interruzione di riga inserita tra).
Per fare un esempio, supponiamo che i div
s di cui sopra sono disposti come nella figura seguente:
[ 1 ][ 2 ][ 3 ][ 4 ]
[ 5 ][ 6 ]
Vorrei scrivere una regola CSS che o corrisponde elementi 2, 3, 4 e 6 (ovvero div
s con fratelli o sorelle disposte sulla stessa linea) o il set inverso (elementi 1 e 5, ovvero div
s senza fratelli precedenti disposti sulla stessa linea).
Ciò sarebbe davvero utile per lo stile, ad es. (Supponendo ++
è il selettore che sto cercando)
.container > div ++ .container > div {
/* separator between elements on the same line */
border-right:1px solid #000;
}
Non c'è modo in CSS per selezionare gli elementi in base a ciò che si sta chiedendo. – CBroe
Forse questo può essere fatto con jQuery, selezionando gli elementi che corrispondono a 'position(). Left' –
Penso che tu stia cercando di ri-utilizzare l'HTML lì. Lo spazio tra i tag in realtà non dovrebbe essere usato per questo scopo. Più simile, dovrebbe esserci una sorta di raggruppamento logico (tramite nomi di classe in markup o codice). Potrebbe esserci un modo per risolvere il tuo problema, ma non sono sicuro che sia la cosa giusta da fare. –