返回顶部
首页 > 资讯 > 前端开发 > VUE >CSS中变量怎么用
  • 870
分享到

CSS中变量怎么用

2024-04-02 19:04:59 870人浏览 独家记忆
摘要

小编给大家分享一下CSS中变量怎么用,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!   一、变量的声明   声明变量的时候,

小编给大家分享一下CSS中变量怎么用,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!

  一、变量的声明

  声明变量的时候,变量名前面要加两根连词线(--)。

  body{

  --foo:#7F583F;

  --bar:#F7EFD2;

  }

  上面代码中,body选择器里面声明了两个变量:--foo和--bar。

  它们与color、font-size等正式属性没有什么不同,只是没有默认含义。所以CSS变量(CSSvariable)又叫做"CSS自定义属性"(CSScustomproperties)。因为变量与自定义的CSS属性其实是一回事。

  你可能会问,为什么选择两根连词线(--)表示变量?因为$foo被Sass用掉了,@foo被Less用掉了。为了不产生冲突,官方的CSS变量就改用两根连词线了。

  各种值都可以放入CSS变量。

  :root{

  --main-color:#4d4e53;

  --main-bg:rgb(255,255,255);

  --loGo-border-color:rebeccapurple;

  --header-height:68px;

  --content-padding:10px20px;

  --base-line-height:1.428571429;

  --transition-duration:.35s;

  --external-link:"externallink";

  --margin-top:calc(2vh+20px);

  }

  变量名大小写敏感,--header-color和--Header-Color是两个不同变量。

  二、var()函数

  var()函数用于读取变量。

  a{

  color:var(--foo);

  text-decoration-color:var(--bar);

  }

  var()函数还可以使用第二个参数,表示变量的默认值。如果该变量不存在,就会使用这个默认值。

  color:var(--foo,#7F583F);

  第二个参数不处理内部的逗号或空格,都视作参数的一部分。

  var(--font-stack,"Roboto","Helvetica");

  var(--pad,10px15px20px);

  var()函数还可以用在变量的声明。

  :root{

  --primary-color:red;

  --logo-text:var(--primary-color);

  }

  注意,变量值只能用作属性值,不能用作属性名。

  .foo{

  --side:margin-top;

  

  var(--side):20px;

  }

  上面代码中,变量--side用作属性名,这是无效的。

  三、变量值的类型

  如果变量值是一个字符串,可以与其他字符串拼接。

  --bar:'hello';

  --foo:var(--bar)'world';

  利用这一点,可以debug(例子)。

  body:after{

  content:'--screen-category:'var(--screen-category);

  }

  如果变量值是数值,不能与数值单位直接连用。

  .foo{

  --gap:20;

  

  margin-top:var(--gap)px;

  }

  上面代码中,数值与单位直接写在一起,这是无效的。必须使用calc()函数,将它们连接。

  .foo{

  --gap:20;

  margin-top:calc(var(--gap)*1px);

  }

  如果变量值带有单位,就不能写成字符串。

  

  .foo{

  --foo:'20px';

  font-size:var(--foo);

  }

  

  .foo{

  --foo:20px;

  font-size:var(--foo);

  }

  四、作用域

  同一个CSS变量,可以在多个选择器内声明。读取的时候,优先级最高的声明生效。这与CSS的"层叠"(cascade)规则是一致的。

  下面是一个例子。

  <style>

  :root{--color:blue;}

  p{--color:green;}

  #alert{--color:red;}

  *{color:var(--color);}</style><p>蓝色</p><p>绿色</p><pid="alert">红色</p>

  上面代码中,三个选择器都声明了--color变量。不同元素读取这个变量的时候,会采用优先级最高的规则,因此三段文字的颜色是不一样的。

  这就是说,变量的作用域就是它所在的选择器的有效范围。

  body{

  --foo:#7F583F;

  }

  .content{

  --bar:#F7EFD2;

  }

  上面代码中,变量--foo的作用域是body选择器的生效范围,--bar的作用域是.content选择器的生效范围。

  由于这个原因,全局的变量通常放在根元素:root里面,确保任何选择器都可以读取它们。

  :root{

  --main-color:#06c;

  }

  五、响应式布局

  CSS是动态的,页面的任何变化,都会导致采用的规则变化。

  利用这个特点,可以在响应式布局的media命令里面声明变量,使得不同的屏幕宽度有不同的变量值。

  body{

  --primary:#7F583F;

  --secondary:#F7EFD2;

  }

  a{

  color:var(--primary);

  text-decoration-color:var(--secondary);

  }

  @mediascreenand(min-width:768px){

  body{

  --primary:#F7EFD2;

  --secondary:#7F583F;

  }

  }

  六、兼容性处理

  对于不支持CSS变量的浏览器,可以采用下面的写法。

  a{

  color:#7F583F;

  color:var(--primary);

  }

  也可以使用@support命令进行检测。

  @supports((--a:0)){

  

  }

  @supports(not(--a:0)){

  

  }

  七、javascript操作

  JavaScript也可以检测浏览器是否支持CSS变量。

  constisSupported=

  window.CSS&&

  window.CSS.supports&&

  window.CSS.supports('--a',0);

  if(isSupported){

  

  }else{

  

  }

  JavaScript操作CSS变量的写法如下。

  //设置变量

  document.body.style.setProperty('--primary','#7F583F');

  //读取变量

  document.body.style.getPropertyValue('--primary').trim();

  //'#7F583F'

  //删除变量

  document.body.style.removeProperty('--primary');

  这意味着,JavaScript可以将任意值存入样式表。下面是一个监听事件的例子,事件信息被存入CSS变量。

  constdocStyle=document.documentElement.style;

  document.addEventListener('mousemove',(e)=>{

  docStyle.setProperty('--mouse-x',e.clientX);

  docStyle.setProperty('--mouse-y',e.clientY);

  });

  那些对CSS无用的信息,也可以放入CSS变量。

  --foo:if(x>5)this.width=10;

  上面代码中,--foo的值在CSS里面是无效语句,但是可以被JavaScript读取。这意味着,可以把样式设置写在CSS变量中,让JavaScript读取。

  所以,CSS变量提供了JavaScript与CSS通信的一种途径。

以上是“CSS中变量怎么用”这篇文章的所有内容,感谢各位的阅读!相信大家都有了一定的了解,希望分享的内容对大家有所帮助,如果还想学习更多知识,欢迎关注编程网VUE频道!

--结束END--

本文标题: CSS中变量怎么用

本文链接: https://lsjlt.com/news/92546.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

猜你喜欢
  • CSS中变量怎么用
    小编给大家分享一下CSS中变量怎么用,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!   一、变量的声明   声明变量的时候,...
    99+
    2024-04-02
  • CSS变量怎么用
    小编给大家分享一下CSS变量怎么用,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!CSS变量最强大的CSS级别来自于CSS变量,它允许您声明一组公共属性值,这些值可...
    99+
    2023-06-27
  • 在CSS中怎么使用JS变量
    这篇“在CSS中怎么使用JS变量”文章的知识点大部分人都不太理解,所以小编给大家总结了以下内容,内容详细,步骤清晰,具有一定的借鉴价值,希望大家阅读完这篇文章能有所收获,下面我们一起来看看这篇“在CSS中怎么使用JS变量”文章吧。幻想以前做...
    99+
    2023-06-27
  • CSS中怎么定义变量并使用
    小编给大家分享一下CSS中怎么定义变量并使用,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!CSS 中原生的变量定义语法是:--,变量使用语法是:var(--) ;...
    99+
    2023-06-27
  • 在css中变量是什么
    这篇文章主要讲解了“在css中变量是什么”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“在css中变量是什么”吧! 在css中,变...
    99+
    2024-04-02
  • thinkphp中怎么设置CSS和JavaScript变量
    本篇内容主要讲解“thinkphp中怎么设置CSS和JavaScript变量”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“thinkphp中怎么设置CSS和JavaScript变量”吧!一、设置...
    99+
    2023-07-05
  • 怎么利用CSS变量修改样式
    这篇文章将为大家详细讲解有关怎么利用CSS变量修改样式,文章内容质量较高,因此小编分享给大家做个参考,希望大家阅读完这篇文章后对相关知识有一定的了解。改变div的hover背景色<!-- css --><...
    99+
    2023-06-08
  • Java中变量怎么用
    小编给大家分享一下Java中变量怎么用,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!public class TestVariable{pub...
    99+
    2023-06-02
  • CSS变量是什么
    这篇文章主要讲解了“CSS变量是什么”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“CSS变量是什么”吧!CSS变量简介如今的浏览器开发似乎正好取代了流行的库...
    99+
    2024-04-02
  • 在项目开发中怎么灵活使用css变量
    这篇文章主要讲解了“在项目开发中怎么灵活使用css变量”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“在项目开发中怎么灵活使用css变量”吧!在项目开发的过程...
    99+
    2024-04-02
  • CSS变量的使用问题怎么解决
    这篇文章主要讲解了“CSS变量的使用问题怎么解决”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“CSS变量的使用问题怎么解决”吧!1. 小心 !importa...
    99+
    2024-04-02
  • 如何在CSS中使用 var()变量
    今天就跟大家聊聊有关如何在CSS中使用 var()变量,可能很多人都不太了解,为了让大家更加了解,小编给大家总结了以下内容,希望大家根据这篇文章可以有所收获。定义和使用CSS变量与任何其他CSS定义一样,变量遵循相同的范围和继承规则。使用它...
    99+
    2023-06-08
  • 可以在css中使用变量吗
    这篇文章将为大家详细讲解有关可以在css中使用变量吗,文章内容质量较高,因此小编分享给大家做个参考,希望大家阅读完这篇文章后对相关知识有一定的了解。CSS 变量当前有两种形式:变量,就是拥有合法标识符和合法的值。可以被使用在任意的地方。可以...
    99+
    2023-06-14
  • Java中变量怎么使用
    这篇文章主要介绍了Java中变量怎么用,具有一定借鉴价值,感兴趣的朋友可以参考下,希望大家阅读完这篇文章之后大有收获,下面让小编带着大家一起了解一下。为了在Java中存储一个数据,必须将它容纳在一个变量之中。而数据类型决定了一个变量可以赋给...
    99+
    2023-06-03
  • PHP中怎么使用可变变量名
    本篇文章为大家展示了PHP中怎么使用可变变量名,内容简明扼要并且容易理解,绝对能使你眼前一亮,通过这篇文章的详细介绍希望你能有所收获。有时候PHP的可变变量名会给编程带来很大的方便。也就是说变量名可以被动态的命名和使用。通常变量通过下面这样...
    99+
    2023-06-17
  • 怎么使用CSS变量实现心动效果
    本篇内容介绍了“怎么使用CSS变量实现心动效果”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成! 前...
    99+
    2024-04-02
  • 怎么使用内联CSS变量进行布局
    本篇内容主要讲解“怎么使用内联CSS变量进行布局”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“怎么使用内联CSS变量进行布局”吧!它是怎么工作的在深入探讨这些概...
    99+
    2024-04-02
  • 使用CSS变量有什么好处
    这篇文章主要讲解了“使用CSS变量有什么好处”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“使用CSS变量有什么好处”吧!什么是CSS变量?如果你曾使用过某种...
    99+
    2024-04-02
  • 怎么在shell中使用变量
    怎么在shell中使用变量?很多新手对此不是很清楚,为了帮助大家解决这个难题,下面小编将为大家详细讲解,有这方面需求的人可以来学习下,希望你能有所收获。变量删除和替换案例:从头开始匹配,将符合最短的数据删除 (#)variable_1=&q...
    99+
    2023-06-09
  • 在JS中如何使用css变量详解
    在JS中如何使用css变量 使用:export关键字在less/scss文件中导出一个js对象。 $menuText:#bfcbd9; $menuActiveText:#409E...
    99+
    2024-04-02
软考高级职称资格查询
推荐阅读
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作