Я недавно пересматривал свой CSS в таблицу стилей SASS. Я использую расширение Mindscape Web Workbench для VS2012, которое перегенерирует CSS каждый раз, когда вы сохраняете свой SCSS. Я начал с кода, подобного этому:
/* Starting point: */
h1 { font-size: 1.5em; /* 24px ÷ 16px */ }
Затем я попытался сначала реорганизовать это:
/* Recfator: */
h1 { font-size: (24px / 16px)em; }
Но это, к сожалению, производит:
/* Result: */
h1 { font-size: 1.5 em; } /* doesn't work, gives "1.5 em" */
Обратите внимание на дополнительное пространство, которого я там не хочу. Я попробовал несколько альтернатив, вот несколько:
h1 { font-size: (24/16)em; } /* doesn't work, gives "1.5 em" */
h2 { font-size: 24 / 16em; } /* doesn't work, gives "24/16em" */
h3 { font-size: (24px / 16px) * 1em; } /* works but "* 1 em" feels unnecessary */
h4 { font-size: (24em) / 16; } /* works, but without "px" it not
really conveying what I mean to say */
Я также пробовал эти варианты с переменными (потому что я так хочу их), но это не сильно изменило ситуацию. Чтобы привести примеры в этом вопросе гладко, я забыл переменные. Тем не менее, я с радостью принимаю решение, основанное на использовании переменных (в чистом виде).
Я прошел через релевантную SOC-документацию на '/' и оценил, что это очень сложно для SASS, потому что '/"характер уже имеет смысл в базовом CSS. В любом случае, я надеялся на чистое решение. Я что-то пропустил?
PS. Этот blogpost предлагает одно решение, используя определенную пользователем функцию. Это кажется немного тяжелым, хотя, поэтому мне интересно, если есть "более чистые" решения в соответствии с моими попытками выше. Если кто-то может объяснить, что "функциональный подход" является лучшим (или даже единственным) решением, я также соглашусь с ним в качестве ответа.
PS. Этот связанный вопрос, похоже, примерно то же самое, хотя он определенно хочет делать дальнейшие вычисления. Принятый ответ там - это мое третье решение (умножение на 1em
), но мне бы хотелось узнать, есть ли другой (более чистый) способ, если я захочу отказаться от возможности делать дальнейшие расчеты. Возможно, метод, упомянутый в указанном вопросе ( "интерполяция" ), полезен для меня?
Нижняя строка:, как вы можете чисто добавить тип устройства (например, em
) к результату вычисления в SASS?