一、/deep/的含义和使用

/deep/ 是一种 CSS 深度选择器,也被称为深度组合器或者阴影穿透组合器,主要用在 Web 组件样式封装中。

在 Vue.js 或者 Angular 中,使用了样式封装技术使得组件的样式不会影响到全局,也就是说组件内部的样式默认情况下只对组件内部的元素生效,不会影响到组件外部的元素。

但是有时候我们需要改变组件内部元素的样式,这时候就需要使用 /deep/::v-deep>>> 这样的深度选择器,它们可以使得我们定义的样式穿透组件的样式封装边界,作用到组件内部的元素。

上面那段 CSS 代码中,/deep/ #js-nodes .el-tabs__content 表示选择 id 为 js-nodes 的元素下所有的 class 为 el-tabs__content 的元素,而且这个选择器可以穿透组件边界,作用到子组件内部的元素。

注意

  • /deep/ 在一些浏览器和 CSS 预处理器中已经被废弃,取而代之的是 ::v-deep 和 >>>,你可能需要根据你的开发环境来选择合适的深度选择器
  • 不同的 CSS 预处理器对这两种深度选择器的支持可能会有所不同,例如,如果你使用的是 Sass,那么你只能使用 ::v-deep,因为 Sass 不支持 >>>。所以需要根据你的实际开发环境来选择合适的深度选择器

场景使用

我想给这一块加一个滚动条,通过overflow-y属性可以实现,需要给div一个高度

理论上这段代码是可以作用与这个div,但是没有起作用,加上/deep/就可以了

Logo

旨在为数千万中国开发者提供一个无缝且高效的云端环境,以支持学习、使用和贡献开源项目。

更多推荐