文档手册

条件块 Conditional blocks

2024-07-18 17:22:52

 条件块

 @supports规则

@supports CSS at-rule 允许您指定依赖于 Sciter 对 CSS 属性的支持的 CSS 声明。

@supports (<supports-condition>) {
/* If the condition is true, use the CSS in this block. */
}

<supports-condition> Sciter 中的声明可能只接受属性/价值声明:

@supports (transform-origin: 5% 5%) {
/*... rules if Sciter supports transform-origin ... */
}

 @if/@else规则

@if CSS at-rule 允许您指定仅依赖于媒体变量的加载时间值的 CSS 声明。

@if (<media-expression>) {
/* If the condition is true, use the CSS in this block. */
}
@if (<media-expression>) {
/* If the condition is true, use the CSS in this block. */
}
@else {
/* Otherwise use the CSS in this block. */
}

<media-expression> A 这里是 Sciter 的媒体表达。

@if 用于在运行时不更改的媒体变量。@if/@else 在 C/C++ 预处理器中具有 - 编译时间(Sciter 中的加载时间)条件部分的 #if ... #else ... #endif 语义:

@if (Windows or MacOS) {
html { background:white; }
}
@else {
html { background:black; }
}

将块用于在运行时永远不会更改的条件, @media 将块用于 @if 可能在运行时更改的条件,例如, desktop 媒体变量永远不会更改,但当 high-contrast 用户切换到高对比度主题时可能会更改。