css 怎么实现 如果有某个子类 就给这个父类加样式

问题描述

我想给父类动态添加个样式,但是否要添加这个样式,取决于其是否含有某个子类。我是不确定是否要给父类加样式,因为所有父类的类名标签都一样,只有子类有区分

相关代码

<tr>
    <td></td>
</tr>

<tr>
    <td class='child'></td>
</tr>

你期待的结果是什么?实际看到的错误信息又是什么?

如果有子类child,就让这个tr隐藏,没有则不做处理,怎么实现?

阅读 20.5k
4 个回答

按常理上来说这个做不到。但是有一些投机的方法,能达到某些效果。具体看一看张鑫旭老师的一篇文章

在scss中可以使用 @at-root解决

.child {
  @at-root {
    .parent {
    }
  }
}

你可以统一把样式加载父级。
比如,这样通过给父级加class。来给子级加样式。

父级 .checkbox{

}
父级.checked .checkbox{

}

如上所示,可以动态添加一个父级class类,而这个class类下面就是您想要的‘某个子类’

<div class="normal  active"></div>

//css
<style lang='scss' scope>
.normal{...}//这里放公用样式
.active {
    .childClass {...} //你想要的某个子类
}
</style>

css中貌似没有可以选择子元素class类的方法,用js就可以了判断了。当然,样式问题尽量使用css来解决,所以可以有些讨巧的方案。

欢迎关注我的微信公众号:前端指南 希望我的回答对您有用
撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题