use-fluid-font

Устанавливает равномерное масштабирование свойств шрифта (font-size и line-height) в указанных пределах в зависимости от ширины экрана. Сокращённый вариант одновременного использования use-fluid-prop('font-size') и use-fluid-prop('line-height').

Рекомендуется использовать как миксин высшего порядка для задания проектных умолчаний с целью уменьшения шаблонного кода.

Параметры

ИмяТипПо умолчаниюОписание
$start *listСписок, содержащий начальные значения ширины экрана и свойств шрифта.
$end *listСписок, содержащий конечные значения ширины экрана и свойств шрифта.

Свойства шрифта передаются в виде строки, содержащей значения font-size и line-height, разделённые слэшем (/), как и в стандартном свойстве font: 14px/1.6. Также можно установить только значение font-size (14px) или только line-height (/1.6).

Пример использования

@use 'more-sass' as more;

.element {
    @include more.use-fluid-font((320px, '14px/1.5'), (1280px, '20px/1.4'));
}
.element {
    font-size: 14px;
    line-height: 21px;
}

@media (min-width: 320px) {
    .element {
        font-size: calc(14px + 6 * (100vw - 320px) / 960);
        line-height: calc(21px + 7 * (100vw - 320px) / 960);
    }
}

@media (min-width: 1280px) {
    .element {
        font-size: 20px;
        line-height: 28px;
    }
}

Пример использования в качестве миксина высшего порядка

// setup.scss
@use 'more-sass' as more;

@mixin fluid-font($min, $max) {
  @include more.use-fluid-font((320px, $min), (1280px, $max));
}

// Other files
.element {
    @include fluid-font('14px/1.5', '20px/1.4');
}
.element {
    font-size: 14px;
    line-height: 21px;
}

@media (min-width: 320px) {
    .element {
        font-size: calc(14px + 6 * (100vw - 320px) / 960);
        line-height: calc(21px + 7 * (100vw - 320px) / 960);
    }
}

@media (min-width: 1280px) {
    .element {
        font-size: 20px;
        line-height: 28px;
    }
}