2013-08-25 8 views
5

Voglio fare questo: http://www.youtube.com/watch?v=ls3Clk-kz3s ma emettere rems (con fallback px) invece di ems.Come rendere Compass Vertical Rhythm output Rems invece di Ems con il fallback px?

Apparentemente questo https://github.com/chriseppstein/compass/pull/896 viene aggiunto alla bussola e dovrebbe funzionare in qualche modo, ma non riesco a ottenere ciò che mi serve da http://compass-style.org/reference/compass/typography/vertical_rhythm/ nel mio file .scss per renderlo.

Se dovessi semplicemente prendere il codice da https://gist.github.com/ry5n/2026666 come mixin (anche senza bussola a tutti) e l'uso:

@include set-font-size() 

invece di:

@include adjust-font-size-to() 

Funziona perfettamente con i valori rem e fallback di px.

Ma se cerco solo di usare la bussola e andare con

$font-unit: 1rem; 
$relative-font-sizing: false; 

Funziona ma senza px fallback.

Se qualcuno potesse inserire il codice completo .scss necessario a Vertical Rhythm per funzionare con Rems, lo apprezzerei molto.

E perché ho bisogno di $ relative-font-dimensionamento: false se sto usando Rems? Inoltre, ci sono alcune filosofie in competizione sul ritmo verticale oltre a portare il testo su una griglia come questa? Quale preferisci e qual è il tuo flusso di lavoro?

Grazie mille in anticipo.

risposta

5

Per il momento, questi aggiornamenti su Compass rimangono nella gemma pre-rilascio e la documentazione corrispondente non è ancora disponibile su compass-style.org (nemmeno beta.compass-style.org). Per utilizzare le nuove funzionalità, installare l'ultimo gioiello (0.13.alpha.4):

gem install compass --pre 

Con il nuovo gioiello, il ritmo API verticale è leggermente diverso, per lo più nelle sue variabili configurabili, come da https://github.com/chriseppstein/compass/pull/896. In breve, impostare la dimensione e la linea di altezza font di base, e impostare la nuova variabile ritmo unità $ a rem:

$base-font-size: 16px; 
$base-line-height: 24px; 
$rhythm-unit: 'rem'; 

La variabile $ ritmo unità sostituisce $ font-unità, e $ relativa-font-dimensionamento è ora una cosa privata, interiore, di cui non devi preoccuparti.

Dopodiché, tutte le normali mixine del ritmo verticale emetteranno i remi con fallback (a meno che non si imposti esplicitamente $ rem-with-px-fallback su false). Si noti che il resto dell'API rimane quasi identico, ad eccezione del mixin rhythm, che ora presenta argomenti predefiniti più sensati. Ci sono alcune aggiunte che sono dettagliate nello original pull request.

Una cosa da tenere a mente che le funzioni ritmiche non possono fornire fallback di pixel, poiché restituiscono semplicemente un valore.

+0

Grazie mille ry5n. Per funzionalità molto necessarie per Compass e anche una risposta dettagliata. Sto usando CodeKit da solo, quindi probabilmente aggiornerà se stesso e Compass quando verrà rilasciato un nuovo rilascio (qualche idea quando?). Ma la tua ultima frase significa che nella nuova versione di Compass non ci saranno fallimenti di pixel come https://gist.github.com/ry5n/2026666? – Ketri

+0

Quando la bussola 0.13 è stato rilasciato (non sono sicuro di quando), avrete fallimenti di pixel per tutti i mixin di ritmo verticale, come 'adjust-font-size-to',' leader', 'trailer',' leading-border' e così via. L'unica cosa per cui non si ottengono fallback di pixel sono le * funzioni *, di cui 'rhythm()' è l'unico che uso davvero. Poiché questi valori di calcolo sono semplicemente calcolati (non generano output CSS), non possono fornire fallback di pixel. – ry5n

+0

A proposito, è possibile dire a CodeKit di usare una gemma locale piuttosto che la bussola integrata. Vedi: http://css-tricks.com/forums/topic/can-you-use-compass-gems-with-codekit/#post-115282 http://incident57.com/codekit/help. php # help-compass – ry5n