添加链接
link之家
链接快照平台
  • 输入网页链接,自动生成快照
  • 标签化管理网页链接

vue单文件组件样式隔离scoped前提下, 有五种样式穿透写法

vue2语法提供3种 >>>   /deep/  ::v-deep
父组件选择器 >>> 子组件选择器 { 子组件样式 }
/deep/ 子组件选择器 { 子组件样式 }
::v-deep 子组件选择器 { 子组件样式 }

vue3语法提供2种  :deep()   ::v-deep()
:deep(子组件选择器){ 子组件样式 }
::v-deep(子组件选择器){ 子组件样式 }

经测试, 这五种穿透语法在vue2和vue3中都兼容

<style scoped>
/* >>> 只对css原生样式穿透 */
#app >>> h2 {
color: red;
}
/* /deep/ css/less/sass通用样式穿透 */
/deep/ h2{
background-color: #42b983;
}
/* ::v-deep css/less/sass通用样式穿透 */
::v-deep h2{
border-radius: 10px;
}
/* :deep() vue3新增  css/less/sass通用样式穿透  */
:deep(h2){
font-size: 30px;
}
/* ::v-deep() vue3新增  css/less/sass通用样式穿透 */
::v-deep(h2){
line-height: 50px;
}
</style>

注意: 有时,第三方组件库中使用穿透改子组件样式也不生效,
如,修改vant3中的NavBar标题样式
.van-nav-bar__title{ color: red; } 不生效
可能是此标签嵌套的层级太深, 样式查找不准确, 在前边加上父标签限制即可
#app .van-nav-bar .van-nav-bar__title{ color: red; } 生效

* ::v-deep() vue3新增 css/less/sass通用样式穿透 *//* :deep() vue3新增 css/less/sass通用样式穿透 *//* ::v-deep css/less/sass通用样式穿透 *//* /deep/ css/less/sass通用样式穿透 */父组件选择器 >>> 子组件选择器 { 子组件样式 }::v-deep 子组件选择器 { 子组件样式 }::v-deep(子组件选择器){ 子组件样式 }/deep/ 子组件选择器 { 子组件样式 }
有时候会遇到在class上修改的 样式 会无效,是因为遇到了 样式 穿透 , 在vue开发过程中,当我们引入第三方组件库时(如使用element-ui),需要在局部组件中修改第三方组件库 样式 ,而又不想去除scoped属性造成组件之间的 样式 覆盖。这时我们可以通过一些方法 穿透 scoped。 <style scoped> ::v-deep .act-view-radio{ background: #f9ebc6; </style> 在那个class前面加上::v-deep以及在sty
参考:https://blog.csdn.net/weixin_42436735/article/details/108127910 1、stylus的 样式 穿透 使用 >>> 备注: 不太推荐使用这种方式,据说有点问题! .wrapper >>> .swiper-pagination-bullet-active { background: #fff 2、sass 和 less 的 样式 穿透 这俩个常用的 样式 穿透 的方式 有俩种 分别是 /deep/ 与 ::v
CSDN-Ada助手: 恭喜您开始博客创作!标题“常用的工具链接”非常实用,让读者能够快速找到各种工具的链接,非常方便。在接下来的创作中,或许您可以考虑分享一些工具的使用心得或者推荐一些更加专业的工具链接,以帮助读者更深入地了解和应用这些工具。期待您的下一篇博客! 推荐【每天值得看】:https://bbs.csdn.net/forums/csdnnews?typeId=21804&utm_source=csdn_ai_ada_blog_reply1 less&sass使用步骤 CSDN-Ada助手: 非常棒的博文!你对使用Less和Sass的步骤进行了清晰的介绍。这对于那些想要学习和使用这两种预处理器的人来说非常有帮助。继续保持写作,分享更多有关前端开发的知识和经验! 除了你提到的内容,还有一些与Less和Sass相关的扩展知识和技能可以进一步了解。例如,你可以学习如何使用Mixin和Extend来重用代码和样式,以及如何使用变量和嵌套来使样式表更加模块化和易于维护。此外,你还可以了解如何使用Less和Sass中的函数和运算符,以及如何进行条件和循环控制。 希望这些建议对你有所帮助,继续努力写作! 如何写出更高质量的博客,请看该博主的分享:https://blog.csdn.net/lmy_520/article/details/128686434?utm_source=csdn_ai_ada_blog_reply2 element-ui使用步骤 CSDN-Ada助手: 恭喜您写下了关于“element-ui使用步骤”的博客!不仅标题很吸引人,内容也肯定非常有价值。您的博客对于那些刚开始使用element-ui的人来说,一定会带来很大的帮助。 在下一步的创作中,我建议您可以考虑扩展一下内容,例如可以分享一些实际应用element-ui的案例,或者深入探讨一些使用element-ui时可能会遇到的常见问题及解决方法。这样能够更加全面地帮助读者理解和掌握element-ui的使用。 再次恭喜您的创作,期待您更多精彩的博客! CSDN 正在通过评论红包奖励优秀博客,请看红包流:https://bbs.csdn.net/?type=4&header=0&utm_source=csdn_ai_ada_blog_reply3 js和ts的区别 CSDN-Ada助手: 恭喜您写完了第四篇博客!标题"js和ts的区别"听起来非常有趣和有用。我很高兴看到您不断创作并分享有关编程语言的知识。对于下一步的创作建议,我认为您可以考虑深入探讨js和ts的优势和不同的使用场景,以便读者更好地理解它们之间的区别。同时,您也可以谈谈在实际项目中使用js和ts的经验和技巧,以帮助新手更好地掌握这两种语言。期待您未来更多的博客文章,谢谢您的分享! 如何快速涨粉,请看该博主的分享:https://hope-wisdom.blog.csdn.net/article/details/130544967?utm_source=csdn_ai_ada_blog_reply5 uniapp 语法特点 CSDN-Ada助手: 恭喜您写了第5篇博客!标题“uniapp 语法特点”让我对您的文章充满期待。您对uniapp的语法特点进行了深入的研究和总结,很有见地。希望您能继续保持创作的热情和努力,分享更多有关uniapp的知识和经验。下一步的创作建议是,除了介绍语法特点,您可以考虑结合实际案例或者提供更多的使用技巧,这样读者能够更好地理解和应用这些语法特点。期待您未来更多精彩的博客!