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 相关文章推荐
HTML5-WebSocket实现聊天室示例
Dec 15 HTML / CSS
详解如何用canvas画一个微笑的表情
Mar 14 HTML / CSS
html5播放视频且动态截图实现步骤与代码(支持safari其他未测试)
Jan 06 HTML / CSS
html5 worker 实例(一) 为什么测试不到效果
Jun 24 HTML / CSS
HTML5在线预览PDF的示例代码
Sep 14 HTML / CSS
手对手的教你用canvas画一个简单的海报的方法示例
Dec 10 HTML / CSS
详解window.open被浏览器拦截的解决方案
Jul 18 HTML / CSS
关于解决iframe标签嵌套问题的解决方法
Mar 04 HTML / CSS
移动端HTML5 input常见问题(小结)
Sep 28 HTML / CSS
浅析HTML5页面元素及属性
Jan 20 HTML / CSS
css3实现背景图片颜色修改的多种方式
Apr 13 HTML / CSS
六个好看实用的 HTML + CSS 后台登录入口页面
Apr 28 HTML / CSS
使用CSS实现小三角边框原理解析
CSS实现切角+边框+投影+内容背景色渐变效果
纯CSS如何禁止用户复制网页的内容
CSS实现单选折叠菜单功能
CSS 一行代码实现头像与国旗的融合
如何利用 CSS Overview 面板重构优化你的网站
基于HTML十秒做出淘宝页面
You might like
php curl的深入解析
2013/06/02 PHP
php创建类并调用的实例方法
2019/09/25 PHP
JavaScript Undefined,Null类型和NaN值区别
2008/10/22 Javascript
js 连接数据库如何操作数据库中的数据
2012/11/23 Javascript
document.all的一个比较完整的总结及案例
2013/01/31 Javascript
让js弹出窗口居前显示的实现方法
2013/07/10 Javascript
Nodejs+express+html5 实现拖拽上传
2014/08/08 NodeJs
使用javascript实现json数据以csv格式下载
2015/01/09 Javascript
使用HTML+CSS+JS制作简单的网页菜单界面
2015/07/27 Javascript
浅谈js中StringBuffer类的实现方法及使用
2016/09/02 Javascript
nodejs的压缩文件模块archiver用法示例
2017/01/18 NodeJs
jquery实现超简单的瀑布流布局【推荐】
2017/03/08 Javascript
JavaScript中offsetWidth的bug及解决方法
2017/05/17 Javascript
最全的JavaScript开发工具列表 总有一款适合你
2017/06/29 Javascript
JS 判断某变量是否为某数组中的一个值的3种方法(总结)
2017/07/10 Javascript
vant(ZanUi)结合async-validator实现表单验证的方法
2018/12/06 Javascript
基于Vue-Cli 打包自动生成/抽离相关配置文件的实现方法
2018/12/09 Javascript
ES6基础之数组和对象的拓展实例详解
2019/08/22 Javascript
vue npm install 安装某个指定的版本操作
2020/08/11 Javascript
微信小程序学习之自定义滚动弹窗
2020/12/20 Javascript
Python文件如何引入?详解引入Python文件步骤
2018/12/10 Python
Python异步操作MySQL示例【使用aiomysql】
2019/05/16 Python
python按键按住不放持续响应的实例代码
2019/07/17 Python
关于Python字符串显示u...的解决方式
2020/03/06 Python
稀有和绝版书籍:Biblio.com
2017/02/02 全球购物
英国时尚配饰、珠宝和服装网站:KJ Beckett
2020/01/23 全球购物
神话般的珠宝:Ross-Simons
2020/07/13 全球购物
保护环境的建议书
2014/03/12 职场文书
网络技术专业求职信
2014/05/02 职场文书
倡议书格式
2014/08/30 职场文书
课堂打架检讨书200字
2014/11/21 职场文书
2015年反洗钱工作总结
2015/04/25 职场文书
结婚典礼主持词
2015/06/29 职场文书
公司车辆维修管理制度
2015/08/05 职场文书
oracle索引总结
2021/09/25 Oracle
Python 图片添加美颜效果
2022/04/28 Python