vue scoped样式穿透,vue样式穿透原理

  vue scoped样式穿透,vue样式穿透原理

  主要介绍vue风格渗透的几种方式,通过实例代码详细介绍,对大家的学习或工作有一定的参考价值。有需要的朋友就跟着下面的边肖学习吧。

  

目录

  限定范围的属性样式渗透概要

  

scoped属性

  我们通常在vue组件的样式标签中编写样式,但是我们这里的样式默认是全局的。如果其他组件的类名重复,会导致样式污染。

  所以vue支持在style标签中添加scoped属性,这样当前组件的样式只在当前样式中生效,其他组件不受影响。

  例子如下:

  div class=page

  你好,世界

  /div

  style lang=scss 作用域。页面{。内容{

  颜色:海蓝宝石;

  字体大小:20px

  }

  }/样式

  在最终的浏览器渲染中,div和span具有特殊的属性。

  然后css的样式最终会带这些属性,根据这些属性找到元素。

  这样,风格的全球性污染就可以避免了。

  如果你已经引入了第三方库,想要修改第三方库的样式,可以直接通过dom查找,修改样式是没有用的。

  例如,我在项目中引入了hungry组件库elementUI。

  电子贺卡class=盒卡

  你好,世界

  /电子名片

  如果我们想让填充变小,下面的写法就没有效果了。

  style lang=scss 作用域。盒子卡{。el-card__body {

  填充:10px

  }

  }/样式

  仅查看默认填充。我们写的样式没有渲染。

  此时需要样式穿透,需要深度选择器/deep/。

  style lang=scss 作用域。盒子卡{

  /深/。el-card__body {

  填充:10px

  }

  }/样式

  你可以看到它在工作。

  

样式穿透

  深度选择器穿透Vue。除了上面的/deep/,我比较熟悉的还有:v-deep,

  那么它们之间有什么区别呢?

  如果使用css而没有css预处理器,可以使用,/deep/,v-deep。如果使用的是less或者node-sass,可以使用/deep/,并且:v-deep可以生效。如果你用的是dart-sass,那么就不能用/deep/,要用:v-deep才能生效。

  

总结

  总而言之:

  可以使用Css,/deep/,可以使用v-deepless和node-sass/deep/,可以使用v-deep dart-sass:v-deep。就是这样。本文介绍了vue风格渗透的几种方式。更多关于vue风格渗透的信息,请搜索我们之前的文章或者继续浏览下面的相关文章。希望你以后能支持我们!

郑重声明:本文由网友发布,不代表盛行IT的观点,版权归原作者所有,仅为传播更多信息之目的,如有侵权请联系,我们将第一时间修改或删除,多谢。

留言与评论(共有 条评论)
   
验证码: