saas和less不同于普通css的地方

本文探讨了CSS变量(CSS Custom Properties)如何简化样式管理,与Less等预处理器的静态变量对比,强调了其在运行时可动态修改的优势。通过实例展示了自定义变量的声明、使用和级联规则,以及在JavaScript中的应用。
摘要由CSDN通过智能技术生成

自定义属性(有时候也被称作CSS变量或者级联变量)是由CSS作者定义,它包含的值可以在整个文档中重复使用。由自定义属性标记设定值(比如: --main-color: black;),由 var() 函数来获取值(比如: color: var(–main-color);)
CSS变量和Less等预处理工具有什么区别?
CSS变量为我们带来一些预处理器的便利,并且不需要额外的编译。Less在webpack中需要添加less-loader进行处理。
Less使用的变量存在一个主要缺点,即它们是静态的,并且无法在运行时进行更改。但是CSS变量支持JS进行动态的修改。
CSS变量的用法入门
:root {
–main-color: #06c;
}

#foo h1 {
color: var(–main-color);
}
复制代码
–main-color是自定义变量名,变量值为#06c。请注意,所有自定义变量均以两个破折号开头。
var() 函数检索自定义变量名并将其替换为自定义变量值,从而产生颜色:#06c,只要在样式表中 h1 父级某个位置定义了变量,它就可以在 var 函数使用。
自定义属性受级联的约束,并从其父级继承其值。通过在 :root 伪类上设置CSS变量,然后在整个文档需要的地方都可以使用。
请注意,自定义属性区分大小写,因此 --header-color 和 --Header-Color 是不同的CSS变量。
通过媒体查询动态修改变量然后设置页面的边距。
:root {
–gutter: 4px;
}

section {
margin: var(–gutter);
}

@media (min-width: 600px) {
:root {
–gutter: 16px;
}
}
复制代码
在JavaScript中修改CSS变量,动态的修改样式颜色。

hello world

复制代码 关于样式的几个属性和方法在这里回顾一下。 任何支持style 特性的HTML 元素在JavaScript 中都有一个对应的style 属性。这个style 对象是CSSStyleDeclaration 的实例,包含着通过HTML 的style 特性指定的所有样式信息,但不包含与外部样式表或嵌入样式表经层叠而来的样式。
复制代码 style 对象定义了一些属性和方法。这些属性和方法在提供元素的style特性值的同时,也可以修改样式。

getPropertyValue(propertyName):返回给定属性的字符串值。
removeProperty(propertyName):从样式中删除给定属性。
setProperty(propertyName,value,priority):将给定属性设置为相应的值。

通过cssText 属性可以访问style 特性中的CSS代码。在读取模式下,cssText 返回浏览器对style特性中CSS 代码的内部表示。在写入模式下,赋给cssText 的值会重写整个style 特性的值;也就是说,以前通过style 特性指定的样式信息都将丢失。

复制代码 虽然style 对象能够提供支持style 特性的任何元素的样式信息,但它不包含那些从其他样式表层叠而来并影响到当前元素的样式信息。 获取计算的样式使用getComputedStyle()方法。这个方法接受两个参数:要取得计算样式的元素和一个伪元素字符串(例如":after")。 复制代码 用过sass或less的都知道,主要他们可以有嵌套和变量以及函数功能,其实在原生css中,已经开始逐渐支持,但是语法不够强大,比如无法嵌套书写。而且由于css变量浏览器的兼容问题一直没有被广泛使用. https://www.bilibili.com/medialist/detail/ml1514625470
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值