Функция / работа SASS с vh

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

Этот

html {
  font-size: calc(14px + 30 * ((100vw - 320px) / 680)); 
}

возвращает font-size: 14px; нужного мне размера. Но функция, которую я пишу:

@function root-font-size-function($viewport) {
   // $viewport: 1px * $viewport;
   $size: calc(14px + 30 * (($viewport - 320px) / 680));
  @return $size;
}
:root {
  font-size: root-font-size-function(100vw);
}

возвращает ошибку:

Функция / работа SASS с vh

Как я могу правильно написать эту sass-функцию?

Вам необходимо интерполировать эти переменные в calc: calc(#{$viewport})

Vivick 25.08.2018 09:41

Спасибо, это работает

Louis 25.08.2018 09:45
Приемы CSS-макетирования - floats и Flexbox
Приемы CSS-макетирования - floats и Flexbox
Здравствуйте, друзья-студенты! Готовы совершенствовать свои навыки веб-дизайна? Сегодня в нашем путешествии мы рассмотрим приемы CSS-верстки - в...
Введение в CSS
Введение в CSS
CSS является неотъемлемой частью трех основных составляющих front-end веб-разработки.
Как выровнять Div по центру?
Как выровнять Div по центру?
Чтобы выровнять элемент <div>по горизонтали и вертикали с помощью CSS, можно использовать комбинацию свойств и значений CSS. Вот несколько методов,...
Навигация по приложениям React: Исчерпывающее руководство по React Router
Навигация по приложениям React: Исчерпывающее руководство по React Router
React Router стала незаменимой библиотекой для создания одностраничных приложений с навигацией в React. В этой статье блога мы подробно рассмотрим...
Система управления парковками с использованием HTML, CSS и JavaScript
Система управления парковками с использованием HTML, CSS и JavaScript
Веб-сайт по управлению парковками был создан с использованием HTML, CSS и JavaScript. Это простой сайт, ничего вычурного. Основная цель -...
CSS: FlexBox
CSS: FlexBox
Ранее разработчики использовали макеты с помощью Position и Float. После появления flexbox сценарий полностью изменился.
1
2
512
1
Перейти к ответу Данный вопрос помечен как решенный

Ответы 1

Ответ принят как подходящий

Благодаря @Vivick это работает при интерполяции переменной $viewport следующим образом:

@function root-font-size-function($viewport) {
   $size: calc(14px + 30 * ((#{$viewport} - 320px) / 680));
  @return $size;
}
:root {
  font-size: root-font-size-function("100vw");
}

Другие вопросы по теме