原生css变量声明

码影探星使
• 阅读 1372

原生css变量声明

噫~~~
我为什么要用原生css这个名词啊,管他呢。
我发现了一个不得了的东西,接触前端都有一年多的时间了,今天才知道原生css也可以变量声明这个黑科技啊。
我是不是和时代脱轨太长时间了。
好了,来吧,介绍一下这个东东。
统计一下,知道这个东西的同学请在下方评论打1

定义css变量

我们都知道使用less或者sass这些预处理语言,可以做到变量声明,下面举个例子,声明一个颜色是白色的变量,变量名是mio

  1. less

    @mio : #fff;
    div{
        color : @mio;
    }
  2. sass

    $mio : #fff;
    div{
        color : $mio;
    }
  3. css

    *{
        --mio : #fff;
    }
    div{
        color : var(--mio);
    }

    注意css的写法,声明变量必须写在选择器里面,变量名用--定义。

用处

结合变量声明这个功能,可以做到定义全局的公共样式,比如主题色,比如官方板块间距,比如移动端适配不同屏幕页面的排版方式之类的。
我们再结合css3提供的cacl()计算属性,这个属性支持四则运算,支持的单位有rem,em,%,px,使用时在运算符号两边加空格。
举个例子:

:root{
    --cellwidth:200px;
    --cellheight: calc(var(--cellwidth) / 4);
}
div{
    width: var(--cellwidth);
    height: var(--cellheight);
    line-height: var(--cellheight);
    margin-top: calc(var(--cellwidth) - var(--cellheight) + 2px);
}
这段代码计算的div,宽200px,高50px,行高50px,margin-top是52px
运行后的结果:

原生css变量声明

妈耶,太厉害了,css越来越厉害了

点赞
收藏
评论区
推荐文章
徐小夕 徐小夕
3年前
前端: 如何更高效的学习Css? 有哪些库值得推荐?
之前有很多朋友问我如何快速学习css以及有哪些好用的css库,最近也抽出时间思考整理了一下,今天就和大家分享一下我的经验.如何高效学习Css之前在工作中也使用css做过很多有意思的事情,比如用css画图标,写轮播图,写动效,做布局等等,但是这些应用的实现都依赖于html和css基础知识.根据我自己的学习经验,我们需要掌
菜园前端 菜园前端
2年前
什么是 CSS?
原文链接:什么是CSS?CSS指层叠样式表(CascadingStyleSheets),理解为CSS样式就可以了。CSS样式有什么作用呢?比如我们在页面中添加了一个div,我想给这个div设置宽度、高度、背景色、阴影、内容字体样式等等,就是通过CSS样式来
Wesley13 Wesley13
3年前
SASS入门教程及用法指南
作为前端开发人员,你肯定对css很熟悉,但是你知道css可以自定义吗?大家都知道,js中可以自定义变量,css仅仅是一个标记语言,不是编程语言,因此不可以自定义变量,不可以引用等等。面对这些问题,我们现在来引进一个SASS(https://www.oschina.net/action/GoToLink?urlhttp%3A%2F%2Fwww.haoro
Wesley13 Wesley13
3年前
CSS扩展语言
CSS没有变量?不要诬蔑我们大CSS好不?就像ES一样,你说JS没有模块,ES6给你整一个出来,而在这之前就已经有相关的库出来了。CSS也一样,你说CSS没有变量,CSS3就给你一个var(),变量你值得拥有!//语法//<customprepertyname自定义属性名//<declarationvalue
Wesley13 Wesley13
3年前
CSS 计数器的妙用:数字递增动效
!(https://oscimg.oschina.net/oscnet/f5d0e4c18b3547b1b5549fe37351ae72.gif)  持续进步的同学都关注了“1024译站”CSS计数器是由CSS维护的变量,这些变量可根据CSS规则增加从而跟踪使用次数。我们可以利用这个特性,根据文档位置来调整内容表现,比如显示列表编号
Stella981 Stella981
3年前
Sass用法指南
学过CSS的人都知道,它不是一种编程语言。你可以用它开发网页样式,但是没法用它编程。也就是说,CSS基本上是设计师的工具,不是程序员的工具。在程序员眼里,CSS是一件很麻烦的东西。它没有变量,也没有条件语句,只是一行行单纯的描述,写起来相当费事。很自然地,有人就开始为CSS加入编程元素,这被叫做"CSS预处理器"(csspreproces
Stella981 Stella981
3年前
Less功能特性
(1)变量   我们常常在CSS中看到同一个值重复多次,这样难易于代码维护constbgColor"skyblue";$(".postcontent").css("backgroundcolor",bgColor);$("wrap").css("backgroundcolor",bgColor);
Stella981 Stella981
3年前
CSS预处理器SASS用法和koala工具的使用
   最近在学习前端的时候,发现了一个SASS(CSS预处理器),感觉在前端布局写css样式来说是相当强大,效率又高,在用到SASS的时候感觉很爽。   首先说一下传统的CSS,在程序员的眼里感觉是一个很麻烦的东西,没有变量,也没有运算,还没有条件语句,感觉写的相当费事。  在人们都感觉费事的同时,真有牛人把CSS加入了编程的元素,这就是(CS
Stella981 Stella981
3年前
Python+Selenium练习篇之5
前面介绍了,XPath,id,class,linktext,partiallinktext,tagname,name七大元素定位方法,本文介绍webdriver支持的最后一个方法:by\_css。css和XPath类似,也需要掌握一些语法,才能写出正确的,完整的css选择表达式。相关脚本代码如下:codingu
Stella981 Stella981
3年前
DCloud
ylbtechDCloudMUI:HellomuiMUI最接近原生App体验的前端框架1.返回顶部1、MUI最接近原生App体验的前端框架极小100k的js文件,60k的css文件。原生编写,不依赖任何三方框架极强xcode和Androidstudio里所有原生控件都具备高
Wesley13 Wesley13
3年前
CSS基本用法介绍
CSS介绍css定义如何显示HTML元素.当浏览器读到一个样式表,它就会按照这个样式表来对文档进行格式化(渲染).CSS语法css实列每个CSS样式由两个组成部分:选择器和声明。声明又包括属性和属性值。每个声明之后用分号结束。css注释/这是注释/CSS的几种引入方