有趣且重要的css知识合集(6)动态控制css伪元素【var()】
创始人
2024-03-27 04:10:36
0

在vue里,js和css的属性可以随意控制,比如:class和:style,但是我们想要动态控制伪元素的属性该怎么做呢?

比如下图,右下角小圆圈就是通过伪元素定义上去的,那我们想要自由实现伪元素的显示和隐藏该怎么做呢?那就可以通过 var()  var()函数可以代替元素中任何属性中的值的任何部分,想要具体了解的可以看官方文档噢~下面是链接

var()

0、相关概念

var() 是css自定义变量,使用为var(--*), *号为变量,为什么必须加双短横线呢?,因为$*被 Sass 用掉了,@*被 Less 用掉了。为了不产生冲突,官方的 CSS 变量就改用两根连词线了,有两个参数,第二参数为默认值,当*变量不存在时,则直接使用默认值

1、示例图

伪元素显示:

 伪元素隐藏:

 

 2、使用方法

通过 --display 这个变量来控制

.resize{&::after{content: '';position: absolute;border-radius: 50%;width: 8px;height: 8px;border: 2px solid rgb(2, 167, 240);background-color: #fff;right: -4px;bottom: -4px;cursor: nwse-resize;display: var(--display);}
}

3、拓展知识

1、css中使用自定义变量已经很多地方啦~比如你可以到你项目里看到 :root的使用,在:root里声明的为全局作用域,下属所有选择器都可以继承此属性,当然你定义在一个class里就是局部作用域啦

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

--hello: 'hello';   
--world: var(--hello)' world';

3、如果变量值是数值,不能与数值单位直接连用,要使用的话就用calc拼接

.resize{ --distance: 10; margin-left: calc(var(--distance) * 1px); 
}

4、如果变量值带有单位,就不能写成字符串,直接写出来

.resize{--distance: 10px;margin-left: var(--distance);
}

5、关于支持css变量和不支持css变量的浏览器兼容

.resize{--distance: 10px;margin-left: var(--distance);margin-left:10px;
}// 可以使用@support命令进行检测
@supports ( (--resize: 10px)) {/* 支持*/
}
@supports ( not (--resize: 10px)) {/* 不支持 */
}

相关内容

热门资讯

锚定“十五五”开局 专家建言宏... 12月27日,中国社会科学院财经战略研究院、浙江财经大学共同举办的“财经战略年会(2025)暨第二届...
每周股票复盘:锴威特(6886... 截至2025年12月26日收盘,锴威特(688693)报收于37.41元,较上周的37.28元上涨0...
资深征地律师助力维权,孙侠律师 在征地拆迁领域,遇到专业、靠谱的律师至关重要。资深征地律师、出名征地律师的专业服务,能为当事人在复杂...
推动法律监督新格局走深走实 推动法律监督新格局走深走实 ——专访二级大检察官,天津市检察院党组书记、检察长陈凤超 天津市检察院...
鱼全翻着白肚皮,水还变黑了!养... 图片来源:摄图网 本文为《方圆》杂志原创稿件 这天,养鱼户陆大军发现 鱼塘里的鱼竟然全部翻着白肚皮,...
问法预告|遇到网络纠纷不知如何... 如今,互联网已经成为人们生活工作的重要场所,随着应用场景的增多,与互联网有关的纠纷也呈现上升趋势。从...
电商平台律师推荐:上海正策(杭... 在电商行业蓬勃发展的今天,各类法律问题也随之而来,选择一位靠谱的电商平台律师至关重要。那么,电商平台...
东城区“集贤人才”大会举办 发... 人民网北京12月28日电 (记者池梦蕊)12月27日,以“集贤东城·‘才’创未来”为主题的东城区“集...
闪评 | 日本内阁连曝政治资金... 当地时间12月26日,日本总务大臣林芳正公开道歉,原因在于其竞选团队向山口县选举管理委员会提交的去年...
不靠美政府建高铁了!加州撤回起... 央视记者当地时间12月27日获悉,美国加利福尼亚州已正式撤回此前针对美联邦政府的诉讼,不再挑战联邦政...