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 相关文章推荐
纯CSS3实现地球自转实现代码(图文教程附送源码)
Dec 26 HTML / CSS
CSS3 3D旋转rotate效果实例介绍
May 03 HTML / CSS
html5文本内容_动力节点Java学院整理
Jul 11 HTML / CSS
html5 桌面提醒:Notifycations应用介绍
Nov 27 HTML / CSS
HTML5 form标签之解放表单验证、增加文件上传、集成拖放的使用方法
Apr 24 HTML / CSS
HTML5 本地存储之如果没有数据库究竟会怎样
Apr 25 HTML / CSS
HTML5新增的Css选择器、伪类介绍
Aug 07 HTML / CSS
HTML5调用手机摄像头拍照的实现思路及代码
Jun 15 HTML / CSS
详解HTML5中div和section以及article的区别
Jul 14 HTML / CSS
移动端html5模拟长按事件的实现方法
Sep 30 HTML / CSS
html5借用repeating-linear-gradient实现一把刻度尺(ruler)
Sep 09 HTML / CSS
Html5移动端网页端适配(js+rem)
Feb 03 HTML / CSS
使用CSS实现小三角边框原理解析
CSS实现切角+边框+投影+内容背景色渐变效果
纯CSS如何禁止用户复制网页的内容
CSS实现单选折叠菜单功能
CSS 一行代码实现头像与国旗的融合
如何利用 CSS Overview 面板重构优化你的网站
基于HTML十秒做出淘宝页面
You might like
PHP中的串行化变量和序列化对象
2006/09/05 PHP
PHP简单系统数据添加以及数据删除模块源文件下载
2008/06/07 PHP
PHP 图像尺寸调整代码
2010/05/26 PHP
Yii使用ajax验证显示错误messagebox的解决方法
2014/12/03 PHP
php可应用于面包屑导航的递归寻找家谱树实现方法
2015/02/02 PHP
PHP内存使用情况如何获取
2015/10/10 PHP
全面解析PHP操作Memcache基本函数
2016/07/14 PHP
PHP结合Ueditor并修改图片上传路径
2016/10/16 PHP
jQuery 第二课 操作包装集元素代码
2010/03/14 Javascript
动态创建样式表在各浏览器中的差异测试代码
2011/09/13 Javascript
在firefox和Chrome下关闭浏览器窗口无效的解决方法
2014/01/16 Javascript
nodejs事件的监听与触发的理解分析
2015/02/12 NodeJs
jquery实现先淡出再折叠收起的动画效果
2015/08/07 Javascript
获取今天,昨天,本周,上周,本月,上月时间(实例分享)
2017/01/04 Javascript
Jquery根据浏览器窗口改变调整大小的方法
2017/02/07 Javascript
JS实现仿UC浏览器前进后退效果的实例代码
2017/07/17 Javascript
详解axios 全攻略之基本介绍与使用(GET 与 POST)
2017/09/15 Javascript
vue异步加载高德地图的实现
2018/06/19 Javascript
微信公众号平台接口开发 获取access_token过程解析
2019/08/14 Javascript
BootStrap表单验证中的非Submit类型按钮点击时触发验证的坑
2019/09/05 Javascript
JS localStorage存储对象,sessionStorage存储数组对象操作示例
2020/02/15 Javascript
ES11新增的这9个新特性,你都掌握了吗
2020/10/15 Javascript
使用node-media-server搭建一个简易的流媒体服务器
2021/01/20 Javascript
Python读取ini文件、操作mysql、发送邮件实例
2015/01/01 Python
python添加模块搜索路径和包的导入方法
2019/01/19 Python
宝塔面板成功部署Django项目流程(图文)
2020/06/22 Python
django template实现定义临时变量,自定义赋值、自增实例
2020/07/12 Python
CSS3的文字阴影—text-shadow的使用方法
2012/12/25 HTML / CSS
英国最大的经认证的有机超市:Planet Organic
2018/02/02 全球购物
世界上最大的罕见唱片、CD和音乐纪念品网上商店:991.com
2018/05/03 全球购物
医德医风自我评价
2014/09/19 职场文书
李白故里导游词
2015/02/12 职场文书
英语教师求职信范文
2015/03/20 职场文书
老干部座谈会主持词
2015/07/03 职场文书
《葡萄沟》教学反思
2016/02/23 职场文书
Pytorch 实现变量类型转换
2021/05/17 Python