CSS作用域(样式分割)的使用汇总


Posted in HTML / CSS onNovember 07, 2021

一、CSS作用域(样式分割)的使用

在vue中,让css样式只在当前组件中生效:scoped 属性是 HTML5 中的新属性,是一个布尔属性,如果使用该属性,则样式仅仅应用到 style 元素的父元素及其子元素。

CSS作用域(样式分割)的使用汇总

二、scoped的实现原理

vue中的scoped属性的效果主要通过PostCSS转译实现,如下是转译前的vue代码:

<style scoped>
    .test {
      color: blue;
    }
  </style>
  
  <template>
    <div class="test">Hi world</div>
  </template>

转译后:

<style>
    .test[data-v-5559930f] {
      color: blue;
    }
  </style>
  
  <template>
    <div class="test" data-v-5559930f>Hi world</div>
  </template>

PostCSS给一个组件中的所有DOM添加一个独一无二的动态属性,然后,给CSS选择器额外添加一个对应的属性选择器来选择该组件中的DOM,这种做法使得样式只作用于含有该属性的DOM<组件内部DOM>。

三、scoped穿透方法

在很多项目中,当引用第三方组件,需要再组件中局部修改第三方组件的样式,而又不想去除scoped属性造成组件之间的样式污染。这时就需要采用一些特殊的方式来进行穿透scoped。

方法一: 使用>>>可以穿透scoped属性,修改其他第三方组件样式。

CSS作用域(样式分割)的使用汇总

方法二: 使用两个style标签,一个带scoped属性,一个不带scoped属性,用来修改第三方组件的样式。

CSS作用域(样式分割)的使用汇总

方法三: 使用sass或less的样式穿透 /deep/

CSS作用域(样式分割)的使用汇总

方法四: 通过在最外层加 id或者 class的形式进行区分。

到此这篇关于CSS作用域(样式分割)的文章就介绍到这了,更多相关CSS作用域内容请搜索三水点靠木以前的文章或继续浏览下面的相关文章,希望大家以后多多支持三水点靠木!

 
HTML / CSS 相关文章推荐
收集的22款给力的HTML5和CSS3帮助工具
Sep 14 HTML / CSS
CSS3实现点击放大的动画实例代码
Feb 27 HTML / CSS
HTML5 Canvas图像模糊完美解决办法
Feb 06 HTML / CSS
HTML5中5个简单实用的API(第二篇,含全屏、可见性、拍照、预加载、电池状态)
May 07 HTML / CSS
检测浏览器对HTML5和CSS3支持度的方法
Jun 25 HTML / CSS
探讨HTML5移动开发的几大特性(必看)
Dec 30 HTML / CSS
HTML5本地存储之Web Storage详解
Jul 04 HTML / CSS
html5组织内容_动力节点Java学院整理
Jul 10 HTML / CSS
基于HTML5 Canvas的3D动态Chart图表的示例
Nov 02 HTML / CSS
详解HTML5常用的语义化标签
Sep 27 HTML / CSS
HTML+CSS 实现顶部导航栏菜单制作
Jun 03 HTML / CSS
sass 常用备忘案例详解
Sep 15 HTML / CSS
使用CSS实现小三角边框原理解析
CSS实现切角+边框+投影+内容背景色渐变效果
纯CSS如何禁止用户复制网页的内容
CSS实现单选折叠菜单功能
CSS 一行代码实现头像与国旗的融合
如何利用 CSS Overview 面板重构优化你的网站
基于HTML十秒做出淘宝页面
You might like
如何在PHP中使用Oracle数据库(5)
2006/10/09 PHP
php数组中删除元素的实现代码
2012/06/22 PHP
Thinkphp模板中截取字符串函数简介
2014/06/17 PHP
CodeIgniter模板引擎使用实例
2014/07/15 PHP
php+flash+jQuery多图片上传源码分享
2020/07/27 PHP
PHP基于迭代实现文件夹复制、删除、查看大小等操作的方法
2017/08/11 PHP
为何说PHP引用是个坑,要慎用
2018/04/02 PHP
php curl获取到json对象并转成数组array的方法
2018/05/31 PHP
PHP实现腾讯短网址生成api接口实例
2020/12/08 PHP
javascript实现动态导入js与css等静态资源文件的方法
2015/07/25 Javascript
jquery简单实现网页层的展开与收缩效果
2015/08/07 Javascript
浅谈angular.js中实现双向绑定的方法$watch $digest $apply
2015/10/14 Javascript
在javascript中创建对象的各种模式解析
2016/05/16 Javascript
Angular的模块化(代码分享)
2016/12/26 Javascript
基于JQuery的购物车添加删除以及结算功能示例
2017/03/08 Javascript
Vue 创建组件的两种方法小结(必看)
2018/02/23 Javascript
vue移动端路由切换实例分析
2018/05/14 Javascript
Webpack devServer中的 proxy 实现跨域的解决
2018/06/15 Javascript
详解Ant Design of React的安装和使用方法
2018/12/27 Javascript
vue实现数据控制视图的原理解析
2020/01/07 Javascript
python 添加用户设置密码并发邮件给root用户
2016/07/25 Python
python下如何查询CS反恐精英的服务器信息
2017/01/17 Python
python多线程扫描端口(线程池)
2019/09/04 Python
使用python实现对元素的长截图功能
2019/11/14 Python
谈谈Python:为什么类中的私有属性可以在外部赋值并访问
2020/03/05 Python
美国校服网上商店:French Toast
2019/10/08 全球购物
全球领先的在线cosplay服装商店:RoleCosplay
2020/01/18 全球购物
毕业生个人投资创业计划书
2014/01/04 职场文书
小学绿色学校申报材料
2014/08/23 职场文书
党在我心中演讲稿
2014/09/02 职场文书
2014年社区国庆节活动方案
2014/09/16 职场文书
教师党的群众路线教育实践活动个人整改措施
2014/11/04 职场文书
2015年事业单位工作总结
2015/04/27 职场文书
上诉状格式
2015/05/23 职场文书
Nginx URL重写rewrite机制原理及使用实例
2021/04/01 Servers
MySQL 8.0 驱动与阿里druid版本兼容问题解决
2021/07/01 MySQL