Создание пользовательского модуля для sass

Я хочу создать настраиваемый модуль css, который я смогу использовать в sass с node.js. Есть ли какое-нибудь руководство по созданию плагина sass для этого? Например, я хочу создать единицу измерения «dpx», которая будет работать как двойной пиксель, поэтому «width: 20dpx» будет преобразовано в «width: 40px».

Другое решение (не плагин sass), которое может работать с узлом, также приемлемо.

Приемы 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 сценарий полностью изменился.
3
0
527
3

Ответы 3

Используйте функцию SASS, которая принимает размер шрифта и возвращает удвоенное значение.

@function dpx($size) {
  @return $size * 2;
}

div {
  font-size: dpx(20px);  // output: font-size: 40px;
}

Спасибо, но мне нужен именно кастомный модуль, а не функция sass. Потому что реальная задача сложнее, чем пример. Мне также нужно использовать значения других полей в селекторе для подсчета тока. И мне не нужно проходить их все время

lenden 19.06.2018 10:23

В качестве упрощенной версии текущего ответа вы также можете написать следующее:

$d: 2px;

div { font-size: 20*$d; }

Я знаю, что это старый вопрос, но, поскольку я его нашел, другие люди тоже его найдут. В таком случае, как ваше, хорошим решением будет сделать 1rem равным 2px. Сделать это можно так:

html {
  font-size: 2px;
}

теперь каждый 1rem будет равен 2px. Если вы хотите убедиться, что это не нарушит вашу текущую страницу, вы всегда можете добавить

body {
  font-size: 8rem;
}

чтобы установить глобальный размер шрифта на 16 пикселей (просто предположение, поскольку это значение по умолчанию).

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