【CSS】使用active,checked等状态类名控制交互样式

实际开发中我们会遇到交互页面的状态改变,如果我们给不同的状态创建不同的语义化类名样式,会导致js中有很多样式控制的类名,不利于维护。

——————————————————————————————————————

对此我们可以使用最简单的办法,对所有控制交互的样式使用 .active .checked状态类名!

同时我们要遵守最重要的一条准则!

即: .active .checked状态类名自身【绝对不能有CSS样式】!

这些状态类名只是为了和其他类名产生关系,然后再根据关系产生对应的样式变化。这种关系可以是父子,兄弟或者自身。

例如:

.page.active { max-height: 250px; } 

.active > .open{ display: none; }

.page.active组合类名触发的,.box元素同时有.active状态的时候,变化

同样,.active > .open表示,当父元素状态为.active的时候,隐藏。

 

相邻父子关系.active > .xxxIE7浏览器才开始支持,由于如果几乎所有普通交互都使用这同一个.active类名,

因此,不能简单使用父子选择器.active .xxx有一定概率会发生冲突,使用相邻父子关系.active > .xxx约束则无此问题;

相邻兄弟选择器.active + .xxx以及普通兄弟选择器.active ~ .xxx全部都是IE7浏览器才开始支持。

 

常用的一些状态类名

最常用: .active以及.disabled,在单复选框使用checked,自定义下拉使用selected等。

另外,还有其他一些状态类名,有.on,以及.in和.out。

.on的状态含义宽泛,很多情况都可以使用.on,而 .in 和 .out 可用来标示CSS3 animation动画状态。

posted on 2020-03-25 19:10  65Seeker  阅读(560)  评论(0编辑  收藏  举报