2012-01-19 10 views
10

È possibile fare riferimento a una proprietà precedentemente definita in un selettore senza introdurre una variabile intermedia?SASS/SCSS: fare riferimento alla proprietà senza utilizzare una variabile intermedia

Mi piacerebbe dire qualcosa come:

.foo { 
    padding: 15px; 
    width: 300px - $padding; 
} 

so che $ imbottitura sembra sintatticamente per una variabile definita, io uso solo nell'esempio di cui sopra per illustrare ciò che voglio raggiungere in termini di funzionalità.

L'esempio di cui sopra sarebbe equivalente a questo:

.foo { 
    $padding: 15px; 
    padding: $padding; 
    width: 300px - $padding * 2; 
} 
+0

lo voglio anche in Sass. –

risposta

8

No, non è possibile, e sarebbe bello.

Non ho provato, ma per quanto ne so l'unico pre-processore css che può fare è stylus. Guardare il numero variable section nella sua documentazione, dove è indicato Property Lookup. Funziona in questo modo:

.foo { 
    padding: 15px; 
    width: 300px - @padding * 2; 
} 

Ma no, in Sass non è possibile, per quanto mi riguarda.

+8

Questa è esattamente la sintassi che voglio in sass. Avevo paura che non sarebbe stato possibile. È ora di fare una richiesta di funzionalità. –

+0

In secondo luogo, sarebbe incredibilmente utile in alcune situazioni (come mixin hover classes che spostano dinamicamente la posizione dell'immagine di sfondo all'altezza dell'elemento genitore)! –

2

Se è un'opzione per utilizzare un altro preprocessore quindi scss, mi raccomando davvero di utilizzare Stylus. C'è una funzionalità chiamata Property lookup che è esattamente ciò che desideri.

+1

Da quando è opportuno rispondere a una domanda per una tecnologia diversa? "Come posso fare X con MySQL?" "Non puoi, ma il database Y lo supporta!" – cimmanon

+2

Probabilmente hai ragione. Ma poiché in SASS non esiste un'opzione, forse è un'opzione per il collega di passare il preprocessore. –

+0

Ogni volta che una soluzione non è disponibile nei limiti della domanda, penso che sia più che onesto offrire suggerimenti su dove trovare la funzione richiesta. – theCrius

Problemi correlati