css-functions-属性函数

概述

本文主要介绍CSS Functions中和属性有关的函数varattrenv

使用方法可以参考示例:CSS-Functions:属性函数

自定义属性var

var()函数可以插入一个自定义属性CSS 变量的值,用来代替非自定义属性中值的任何部分。

自定义属性名必须是以--开头的任何有效标识符,var()函数可以接收多个参数,第二个参数及其后面的参数都可以作为回退值,即前面的参数无效,会依次使用后面的值,另外var()函数可以嵌套,如下示例

div {
  width: var(--width, --node-width, 100px);
}
全局定义

var()函数可以使用在:root中定义的全局属性

:root {
  --width: 100px;
}

div {
  width: var(--width, --node-width, 100px);
}
局部定义

var()函数为Javascript操作 CSS 样式提供了极为方便的方式,可以动态修改 CSS 变量应用到元素的样式上去,局部属性名的作用大于全局定义属性名的作用。我们可以将行内样式理解成局部属性定义,如下:

<span style="--width:150px;"></span>

以上的属性--width会覆盖:root中定义的--width,这个时候 div 元素的--width取值还是:root中的100px

属性attr

目前attr函数仅能运用在伪类元素上,它会获取元素上的自定义属性值,如下

<style>
  span:before {
    content: attr(data);
  }
</style>
<span data="Hello World"></span>

安全属性 env

env的应用没有前两个广,主要用于获取用户代理定义的环境变量,而不是用户自定义的,比如这几个环境变量

p {
  padding: env(safe-area-inset-top) env(safe-area-inset-right) env(
      safe-area-inset-bottom
    ) env(safe-area-inset-left);
}
  • 5
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
PostCSS 插件有很多,以下是 PostCSS 官方网站上列出的所有插件及其作用: 1. PostCSS-import:使用 @import 导入外部 CSS 文件。 2. PostCSS-mixins:类似于 Sass 的 Mixin。 3. PostCSS-nested:允许使用嵌套规则。 4. PostCSS-simple-vars:使用自定义变量,类似于 Sass 的变量。 5. PostCSS-math:进行数学计算。 6. PostCSS-color-function:使用颜色函数。 7. PostCSS-calc:使用 calc 函数。 8. PostCSS-extend:使用类似于 Sass 的 @extend。 9. PostCSS-for:使用类似于 Sass 的 @for。 10. PostCSS-each:使用类似于 Sass 的 @each。 11. PostCSS-conditionals:使用类似于 Sass 的 @if 和 @else。 12. PostCSS-nth-child-fix:支持伪类选择器 :nth-child。 13. PostCSS-modules:将 CSS 类名转换成哈希值,避免类名冲突。 14. PostCSS-pxtorem:将像素值转换成 rem 值,使得页面更好地适配不同大小的设备。 15. PostCSS-zindex:自动计算 z-index 值。 16. PostCSS-font-magician:自动引入相应的字体文件。 17. PostCSS-will-change:为元素添加 will-change 属性。 18. PostCSS-apply:使用类似于 CSS 变量的 @apply。 19. PostCSS-csso:代码压缩优化。 20. PostCSS-discard-comments:去除注释。 21. PostCSS-discard-duplicates:去除重复的样式。 22. PostCSS-discard-empty:去除空的样式。 23. PostCSS-discard-overridden:去除被覆盖的样式。 24. PostCSS-merge-longhand:合并长手写属性。 25. PostCSS-merge-rules:合并相同的规则。 26. PostCSS-minify-font-values:压缩字体值。 27. PostCSS-minify-gradients:压缩渐变值。 28. PostCSS-minify-params:压缩参数值。 29. PostCSS-minify-selectors:压缩选择器。 30. PostCSS-normalize-charset:添加 @charset 规则。 31. PostCSS-normalize-display-values:标准化 display 属性值。 32. PostCSS-normalize-positions:标准化定位属性值。 33. PostCSS-normalize-repeat-style:标准化背景重复和背景平铺属性值。 34. PostCSS-normalize-string:标准化字符串。 35. PostCSS-normalize-timing-functions:标准化缓动函数。 36. PostCSS-normalize-unicode:标准化 Unicode 字符。 37. PostCSS-normalize-url:标准化 URL。 38. PostCSS-normalize-whitespace:标准化空白。 39. PostCSS-ordered-values:按字母顺序排列属性值。 40. PostCSS-reduce-idents:缩短标识符,如类名、id 等。 41. PostCSS-reduce-initial:缩短初始值。 42. PostCSS-reduce-transforms:合并 transform 属性。 43. PostCSS-unique-selectors:去除重复的选择器。 44. PostCSS-pseudo-class-any-link:添加 :any-link 伪类。 45. PostCSS-pseudo-class-first:添加 :first-match 和 :nth-match 伪类。 46. PostCSS-pseudo-class-focus-within:添加 :focus-within 伪类。 47. PostCSS-pseudo-class-last:添加 :last-match 伪类。 48. PostCSS-pseudo-class-matches:添加 :matches 伪类。 49. PostCSS-pseudo-class-not:添加 :not 伪类。 50. PostCSS-pseudo-class-placeholder:添加 ::placeholder 伪类。 51. PostCSS-pseudo-element-any-link:添加 ::any-link 伪元素。 52. PostCSS-pseudo-element-content-insert:添加 ::before 和 ::after 伪元素。 53. PostCSS-pseudo-element-custom-properties:添加 ::part 和 ::theme 伪元素。 54. PostCSS-pseudo-element-dir:添加 ::dir 伪元素。 55. PostCSS-pseudo-element-file-selector-button:添加 ::file-selector-button 伪元素。 56. PostCSS-pseudo-element-fullscreen:添加 ::fullscreen 伪元素。 57. PostCSS-pseudo-element-placeholder-shown:添加 ::placeholder-shown 伪元素。 58. PostCSS-pseudo-element-range-thumb:添加 ::range-thumb 伪元素。 59. PostCSS-pseudo-element-scrollbar:添加 ::scrollbar 伪元素。 60. PostCSS-pseudo-element-scrollbar-button:添加 ::scrollbar-button 伪元素。 61. PostCSS-pseudo-element-scrollbar-track:添加 ::scrollbar-track 伪元素。 62. PostCSS-pseudo-element-scrollbar-track-piece:添加 ::scrollbar-track-piece 伪元素。 63. PostCSS-pseudo-element-slotted:添加 ::slotted 伪元素。 当然,还有很多其他的 PostCSS 插件,可以根据自己的需要来选择和使用。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Jinuss

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值