Если я правильно прочитал ваш вопрос, вы ссылаетесь на функцию css max , а не на функцию max, предоставляемую Sass - также примером является CSS и, следовательно, для работы в SCSS нужен упомянутый хак Sass.
Первое, с чем вам нужно иметь дело, это реализация iOS 11.0 - 11.2 с использованием constant
. Самый простой способ сделать это - назначить вставку безопасной области переменным CSS.
В следующем примере я создал значение по умолчанию 0px для всех переменных - но вы также можете использовать запасные значения при использовании переменных var(--some-var, 12px)
(использует 12px, если --some-var не определен).
Вторая часть - ваш код, использующий переменные --safe-area-inset.
Надеюсь, это имеет смысл: -)
:root {
/* -------------------------------------------------------------------
Assign the default/constant/env values to CSS variables
*/
--safe-area-inset-top : 0px;
--safe-area-inset-right : 0px;
--safe-area-inset-bottom: 0px;
--safe-area-inset-left : 0px;
@supports (top: constant(safe-area-inset-top)){
--safe-area-inset-top : constant(safe-area-inset-top);
--safe-area-inset-right : constant(safe-area-inset-right);
--safe-area-inset-bottom: constant(safe-area-inset-bottom);
--safe-area-inset-left : constant(safe-area-inset-left);
}
@supports (top: env(safe-area-inset-top)){
--safe-area-inset-top : env(safe-area-inset-top);
--safe-area-inset-right : env(safe-area-inset-right);
--safe-area-inset-bottom: env(safe-area-inset-bottom);
--safe-area-inset-left : env(safe-area-inset-left);
}
}
@supports(padding: max(0px)) {
.post {
/* -------------------------------------------------------------------
Use the CSS variables in the max function
*/
padding-left: max(12px, var(--safe-area-inset-left));
padding-right: max(12px, var(--safe-area-inset-right));
}
}