2013-09-28 3 views
1

Я новичок в SASS и Compass, пытаясь создать одну функцию, которая может преобразовать переданное значение пикселя в em. Я нашел один учебник, но он предназначен для SCSS и не работает с SASS.Создайте функцию-конвертер в SASS не SCSS

Даже я проверил сайт САСС, но похоже, что у них есть самый большой документ для SCSS, и не все, что они описывают для SASS.

Вот что я пишу

@function em($px, $base: 24px) 
    @return ($px/$base) * 1em 

Кроме того, используя вертикальный-Rythem в моем проекте и попытался это, но чем снова дает ошибку для $base-font-size

@function em($px, $base: $base-font-size) 
    @return ($px/$base) * 1em 

Так что, когда я использую его в качестве

font-size: em(16px) 

Он должен преобразовать в 1em на выходе

ответ

1

Функция у вас кажется правильной. Просто убедитесь, что вы определили $base-font-size со значением, например 16px.

выше Mixin вы должны также должна работать

$base-font-size: 16px; 
@function em($px, $base: $base-font-size) { 
@return ($px/$base) * 1em; 
} 

Теперь вы можете позвонить font-size: em(16px); и он должен работать Вы также можете вызвать эту функцию с дополнительным основанием, иногда вы можете рассчитать на основании, что это не 16px.

Также можно найти http://css-tricks.com/snippets/css/less-mixin-for-rem-font-sizing/ для определения размера шрифта. Вы можете пропустить им, потому что они имеют вложенность проблемы http://css-tricks.com/why-ems/

Для более подробной версии выше Mixin, где вы можете позвонить

border: emCalc (10 20 30 40);

Где вы не должны повторять точки дорожим снова и снова, и вы можете иметь от 1 до 4 значения в пределах, проверьте подмешать в фундаменте Zurb в _global.scss

https://github.com/zurb/foundation/blob/master/scss/foundation/components/_global.scss#L183

Смежные вопросы