CSS 高级语法

css

CSS 高级语法

CSS 变量

Tip

自定义属性,也被称作 CSS 变量或者级联变量可用于存储在整个文档中重复使用的数据,如颜色体系中的颜色值可能在项目的多个地方被使用到,如果这个值发生了变化,需要全局搜索并且一个一个替换十分麻烦,可以用 CSS 变量将其存储起来,并在各处的规则集中使用这个变量引用对应的值,便于后期的维护;此外使用具有语义化的变量名,便于使用理解。

css
/* 声明一个自定义属性 */
element {
  --main-bg-color: brown;
}

/* 使用变量 */
element {
  background-color: var(--main-bg-color);
}

一般选择器使用 :root 伪类,将变量与数据的绑定设置在文档的根元素,该变量就可以在整个文档需要的地方使用

Tip

CSS 自定义变量格式是 --*,其中 -- 为前缀,* 可以是数字、字母、下划线、连字符。

Warning

自定义属性受级联的约束,并从其父级继承其值。

Tip

也可以使用 Less 或 Sass 等语言编写样式规则集,但是需要使用预处理器进行额外的编译,将这些文件转换为标准的 CSS 文件。

CSS 函数

Tip

函数标记是一种可以表示更复杂类型或调用特殊处理的组件值类型。

调用语法与一般的编程语言中使用的函数类似,从函数名开始,紧接着是左括号,然后是参数到符号,然后是右括号。

calc()

Tip

该标记函数在声明 CSS 属性值时执行一些计算。如 <length><frequency><angle><time><number>、或 <integer> 等属性

calc() 函数用一个表达式作为它的参数,用这个表达式的结果作为值

  • 表达式中的操作数可以使用任意 <length> 值。
  • 可以在一个表达式中混用这类值的不同单位
  • 在需要时,你还可以使用小括号来建立计算顺序。
  • 表达式可以是任何如下操作符的组合:
    • + 加法
    • - 减法
    • * 乘法,乘数中至少要有一个是 <number> 类型的
    • / 除法,除数(/ 右面的数)必须是 <number> 类型的
Tip

+- 运算符的两边必须始终要有空白符;*/ 运算符不需要空白符,但考虑到统一性,仍然推荐加上空白符。

示例

css
/* 设置图片宽度,在两张并列图片之间插入 10px 间隔 */
img {
    margin-right: 10px;
    max-width: 100%;
    width: calc((100% - 10px)/2);
}
/* 设置第二张图片右侧外边距为 0(仅在两图片而非图片与边框之间插入间隔) */
img:last-of-type {
    margin-right: 0;
}

minmax()

CSS 函数 minmax() 定义了一个长宽范围的闭区间, 它与网格布局 CSS Grid 一起使用。

此函数包含两个参数,最小值 和 最大值,每个参数可以是使用绝对单位或相对单位的数值,或者是 max-contentmin-content、或 auto 之一。


Copyright © 2024 Ben

Theme BlogiNote

Icons from Icônes