一、需求与问题描述需求:列表默认最多显示3项,点击更多按钮显示其余列表项。
于是有了CSS :
Li:nth-child(N4 ) { display: none; } HTML如下所示。
ul id='ul' li选项1/li li选项2/li li选项3/li li选项4/li li选项5/li/ulpbutton id='b1 '更多/button/p更多
许多前端开发人员都考虑使用以下CSS代码来显示元素:
li.style.display='block '; 乍一看,这样实现也没有任何问题,但实际上,通过观察以下实际的绘制效果图就知道为什么不行:
正如您所看到的,显示的列表中的项目符号不见了。
原因很简单,li元素的默认显示计算值不是“block”,而是“list-item”。
实际开发时,“list-item”并不一定能记住。 在这种情况下,可以用revert关键字代替。 这意味着将使用浏览器的默认显示来计算值,而不是任何标签。
li.style.display='revert '; 此时,在显示列表的同时,项目符号也正常显示,如下图所示。
请尽情点击这里。 列表display中的不同值表示比较demo
二、revert关键字是用于什么的revert关键字,可以将当前元素的样式还原为浏览器中的内置样式。
目前,支持最新的浏览器。
revert关键字可以与CSS all特性一起使用,以便将控制元素完全恢复为浏览器的默认状态。
例如,进度条的效果在iOS端非常漂亮、有质感,无需定制样式,就可以将all:revert恢复为系统默认界面的样式。
仅iOS Safari有效*/@ supports (-WebKit-overflow-scrolling 3360 touch ) progress ) all:revert; }另外,例如写着两个美丽的按钮:
如果要使用浏览器的本机简单按钮,可以将按钮元素设置为all:revert进行恢复。
您可以获得以下按钮效果:
三、其他display场景显示revert控件元素的显示非常适合通用组件开发,例如实现一个标签切换或折叠切换效果,其中有元素的显示控件。
此时,告别传统的display:block显示,不需要判断和设定原始的display计算值,可以直接使用display:revert。
这样,当要素被显示时,只要直接用HTML标签来区别内嵌、信息块即可。
例如,span元素显示为inline、div、p元素显示为block,table元素显示为table等。
似乎没有默认显示计算值为flex或grid的HTML元素。
所以,revert也只能说是不错的方案,但还不是终极方案。
四.其他全局关键字CSS世界有其他三个全局关键字,分别是inherit、initial、unset。
然后根据实用性和兼容性,组织了全局关键词属性值评估表。 如下所示。
CSS全局关键字属性值评估表关键字属性值实用性兼容性综合评估inheritaaainitialb-bbun setb-B- revert BCB -但不是本文的重点,因此不做介绍。