用户组权限样式的CSS优先级问题怎么解决?
大家好,我在做用户组权限样式区分时遇到个问题。现在有管理员、普通用户、访客三个用户组,需要给按钮显示不同样式:
.user-btn {
background: #ccc;
}
.admin .user-btn {
background: blue;
color: white;
}
.visitor .user-btn {
background: red;
opacity: 0.5;
}
但实际测试发现管理员按钮有时会继承访客的透明度效果,检查代码后发现是因为父元素用了同样的类名。试过加!important和调整选择器顺序都没完全解决,有没有更好的CSS结构方式来隔离用户组样式呢?
这样类名互不干扰,直接用class="admin-user-btn"就行了。用层叠顺序比继承靠谱,!important容易翻车。
.user-btn.admin-btn这种平级结构,避免继承问题。