CSS3的函数和事件

本文介绍了CSS3中的函数calc和toggle,以及事件pointer-events的用法。calc用于进行计算,支持基本数学运算,广泛兼容。toggle则是一种未被广泛支持的功能,允许子孙元素循环替换继承值。pointer-events属性可以控制元素是否响应鼠标事件,常用于弹框遮罩层的交互设计。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

很久没写过关于css的博客了,今天来记录一下最近遇到的几个新东西。

参考资料:

Css3函数

之前只知道sass,less这种预处理器有函数,突然发现css3也吸收了他们的想法,搞了自己的函数。目前css的函数有两个:calc/toggle

calc

calc就是calculate的缩写,运算。支持 “+”, “-“, “*”, “/” 运算,使用标准的数学运算优先级规则,要注意运算符前后要有个空格。例如:

width: calc(100% - 100px);

从上边的例子来看,在一些场景下也会很有用的。兼容性也很不错,除了部分安卓浏览器之外,其他都已经支持了。
这里写图片描述

toggle

看到toggle第一反应是常见的切换,但实际上他的并不是这个作用。toggle能允许子孙元素使用取值序列中的值循环替换继承而来的值。例如每级ul使用不同的标记:

// 定义一个多级的ul,第一级使用disk markers,子孙级依次使用circle, square, box。
ul {
    list-style-type: toggle(disk, circle, square, box);
}

toggle目前不被任何浏览器兼容,可以说根本没啥卵用,这里就当是给自己科普一下吧。
这里写图片描述

Css3事件

pointer-events

pointer-events能够设置或检索在何时成为属性事件的target。常用的取值有auto/none,其他值只能应用在SVG上。当值为none时,该元素将不会作为点击事件的target,为auto时会。

应用场景: 我们常见的很多弹框和输入框,都会在激活时增加一个半透明的遮罩,当我们点击遮罩时,便会关闭弹框或取消输入。其实这个遮罩层一直都在整个界面之上,平时是透明无色的,并且pointer-event: none;,点击会穿透他,不影响其他元素的点击事件;当激活弹框或输入框的时候,给他一个半透明背景色,并且pointer-event: auto;,他就可以作为点击事件的target了。能够触发他对应的点击事件,然后执行相应的关闭逻辑。

这里写图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值