css自定义变量

html-css010

css自定义变量,第1张

css是可以支持变量,且所有主流浏览器都支持。css变量又称"css自定义属性",css的变量声明是以“--”前缀,而前缀是"$"或"@"被预处理器sass或less占用,所以,css以"--"开头可以避免与预处理器产生冲突,

2.属性名可以包含数字,字母,以及下划线或者短横线,也可以是中文,日文或者韩文,但不能是属性名或数字开头,不能包含$,[,^,(,%等字符。

3.变量--primary只能用属性值,不能用作属性名

4.数字和单位直接写一起需使用calc()函数

拓展

cal()函数支持 "+", "-", "*", "/" 运算,需要注意的是,运算符前后都需要保留一个空格,例如:width: calc(100% - 10px);

任何长度值都可以使用calc()函数进行计算;

calc()函数使用标准的数学运算优先级规则;

5.变量的值是字符串时,可以直接拼接

6.var()函数第二个参数是设置默认值,若该变量不存在,则使用此默认值

7.css变量可以在任意选择器中使用包括在标签元素style及@media中

若想了解更深可看大神文章:

https://www.ruanyifeng.com/blog/2017/05/css-variables.html

https://www.zhangxinxu.com/wordpress/2016/11/css-css3-variables-var/

简单地说,就是一些事先写好的css,你只需要给你的html元素加上一些特定的类,就可以快速的得到一些想要的效果。

Blueprint是比较早的,基于静态css的框架。但是现在有两个主要的动态css语言,LESS和SASS,给css提供了变量,mixin,运算符等功能,让写出模块化的css框架成为可能。

Bootstrap现在基本是欧美这里最流行的框架,基于LESS,最近升级2.0以后完全模块化,也不需要太多配置,很好用。这个框架对大部分元素的视觉细节都已经做得很完整,基本上你只需要写html,加几个class,就可以做出像模像样的页面了,做起prototype来嗷嗷快。不过这也是个缺点,因为用的人多了样式都长一个样... 当然,模块化的框架你要修改起来也是很方便的,基本上修改变量就可以了。

另一个比较流行的是基于SASS的Compass,这个框架包含了Blueprint作为其中的一个模块。需要注意的是这个框架和Ruby on Rails是高度整合的,用起来需要大量的命令行操作,比Bootstrap麻烦,但是在Rails开发人员里面用得比较多。

CSS变量定义通过在变量名前加 var- 前缀实现,引用时使用 var() 获取变量值。例如:

:root {

var-companyblue: #369

var-lighterblue: powderblue

}

h1 {

color: var(companyblue)

}

h2 {

color: var(lighterblue)

}