学习CSS自定义属性

css变量

今天看了阮一峰老师的博客,看到一篇关于css变量的文章。。。自己在这边整理一下。

1.声明css变量:

  body{          

   --foo: #7F583F;
   --bar: #F7EFD2;

  }

  用--来声明变量,原因很简单因为$foo被sass用掉了,@foo被less用掉了,所以css变量声明选择--foo。

  注意:变量只能用作属性值,不能用作属性名。如:--foo:margin-top; --foo:20px  错误!!!

2.var()函数:一个参数var(--foo)用于读取变量的值;两个参数 var (--foo,#456798)时,第二个参数为默认值,当变量不存在时,使用默认值。

  注意:第二个参数不处理内部的逗号和空格:

  var(--foo,“tom”,“jack”),tom和jack为var()的第二个参数。

  var(--foo,10px 20px 15px),同理10px 20px 15px为第二个参数。

3.变量值的类型:变量为字符串时可以与其他字符串拼接。

  --bar :"hello";

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

  变量为数值时不能与单位直接连用,需要用calc()函数进行拼接

  --foo:20;

  margin-top:var(--foo)px  //无效

  margin-top:calc(var(--foo)*1px); // 有效

  变量带有单位时,不能是字符串,写成字符串无效。              

  /* 无效 */
  .foo {
    --foo: ‘20px‘;
    font-size: var(--foo);
  }

  /* 有效 */
  .foo {
    --foo: 20px;
    font-size: var(--foo);
  }

4.变量的作用域:变量的作用域与css层叠样式的规则一致             

  <style>
   :root { --color: blue; }
   div { --color: green; }
   #alert { --color: red; }
   * { color: var(--color); }
    </style>

   <p>blue</p>
   <div>green</div>
   <div id="alert">red</div>

  全局变量通常放在 :root {} 里面

基本的语法就这些,详情请看:http://www.ruanyifeng.com/blog/2017/05/css-variables.html。

时间: 2024-10-23 05:58:01

学习CSS自定义属性的相关文章

CSS自定义属性级联变量var()

.referenceLink { text-decoration: none !important; font-size: 16px !important; color: hsl(200, 100%, 50%) !important } .referenceLink:hover,.notReferenceLink:hover { color: hsl(240, 100%, 50%) !important } .notReferenceLink { color: inherit !importan

web前端入门到实战:CSS自定义属性+CSS Grid网格实现超级的布局能力

最近我还注意到的一件事就是CSS自定义属性.CSS自定义属性的工作方式有点像SASS和其他预处理器中的变量,主要的区别在于其它方法都是在浏览器中编译后生成,还是原本的CSS写法.CSS自定义属性是真正的动态变量,可以在样式表中或使用javascript即时更新,这使得它们具有更多的可能性.如果你熟悉JavaScript,我喜欢把预处理器变量和CSS自定义属性之间的区别想象成与const和let之间的区别相似--它们都有不同的用途. CSS自定义属性可以方便的实现很多功能(例如主题变化).最近我一

学习CSS了解单位em和px的区别

学习CSS了解单位em和px的区别 2007-11-11 20:17:25  来源:网页教学网收集整理 这里引用的是Jorux的“95%的中国网站需要重写CSS”的文章,题目有点吓人,但是确实是现在国内网页制作方面的一些缺陷.我一直也搞不清楚px与em之间的关系和特点,看过以后确实收获很大.平时都是用px来定义字体,所以无法用浏览器字体放大的功能,而国外大多数网站都可以在IE下使用.因为 1. IE无法调整那些使用px作为单位的字体大小:2. 国外的大部分网站能够调整的原因在于其使用了em作为字

开始学习css

今天开始学习css:应用一本<HTML5与CSS3网页设计基础> 先学习css样式规则声明. Body{ color:blue} 对应:选择符:{声明属性:声明值}: Background-color:属性 Body{ Background-color:yellow} 配置元素背景颜色css属性是Background-color:,颜色是黄色 Color属性 Body{ color:red} 配置文本颜色css属性是color,颜色是红色. 配置背景颜色也文本颜色 Body{ Backgrou

css知多少(2)——学习css的思路

两周之前写过该系列的第一篇,其实当时只是一个想法,这段时间迟迟未更新,是在思考一个解决过程.现在初有成效,就开更吧. 1. 一个段子 开题不必太严肃,写博客也不像写书,像聊天似的写东西是最好的表达方式. 记得之前看过一个段子,也可能是一件真事儿,这不重要.大体内容如下:一个香港的教授说:我们香港的大学和大陆的大学差的很远啊,大陆的大学连看门保安都懂得哲学,因为当你想要进入校园时,保安都会问你一个很哲学的问题“你是谁,你从哪里来,你到哪里去?”. 看完段子的第一反映肯定是很自嘲的笑了,笑了之后就忘

CSS学习------CSS定位(position)与浮动(float)

position属性:用来对元素进行定位 定位的意义: 定位允许你定义元素框相对于其正常位置应该出现的位置. 相对于父元素. 相对于另一个元素. 相对于浏览器窗口本身的位置. 定位分为:绝对定位和相对定位. 相对定位: 如果对一个元素进行相对定位,它将出现在它所在的位置上.然后,可以通过设置垂直或水平位置,让这个元素"相对于"它的起点进行移动. 在使用相对定位时,无论是否进行移动,元素仍然占据原来的空间.因此,移动元素会导致它覆盖其它框. 示例: <html>   <

学习CSS视觉格式化模型,你需要掌握这些知识

本文主要是学习CSS的视觉格式化模型visual formatting model(视觉格式化模型),它是一种处理文档并把它显示在可视化媒体上的算法.这是CSS中的一个基础概念.visual formatting model把文档的每一个元素转换成0个,1个或多个符合CSS盒模型的盒子,每个盒子的布局内容包括如下部分: . 盒子尺寸:明确指定受限制或不指定 . 盒子类型:行内,行内级,原子行内级,块盒 . 定位方案:包括正常文档流,float或者绝对定位 . 节点树的其他元素:其子元素或兄弟元素

学习css常用基本层级伪类属性选择器

常见的css选择器包含:常用选择器.基本选择器.层级选择器.伪类选择器.属性选择器,其中常用选择器分为:1.html选择符*{}//给页面上所有的标签设置模式:2.类选择符.hcls{}//给class是hcls的一类标签设置模式:3.id选择符#h3{}//给id是h3的标签设置样式:4.关联选择符#div h1.#div h1.ljhcls:5.div,h1,pmspan,button{}基本选择器分为:first-child第一个.::first-letter第一个字母.::fist-li

任务十二:学习CSS 3的新特性

面向人群: 初学者 难度: 简单 重要说明 百度前端技术学院的课程任务是由百度前端工程师专为对前端不同掌握程度的同学设计.我们尽力保证课程内容的质量以及学习难度的合理性,但即使如此,真正决定课程效果的,还是你的每一次思考和实践. 课程多数题目的解决方案都不是唯一的,这和我们在实际工作中的情况也是一致的.因此,我们的要求不仅仅是实现设计稿的效果,更是要多去思考不同的解决方案,评估不同方案的优劣,然后使用在该场景下最优雅的方式去实现.那些最终没有被我们采纳的方案,同样也可以帮助我们学到很多知识.所以