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 按钮 利用css3实现超酷下载按钮
Mar 18 HTML / CSS
推荐10个CSS3 制作的创意下拉菜单效果
Feb 11 HTML / CSS
一款纯css3实现的动画加载导航
Oct 08 HTML / CSS
利用CSS3实现圆角的outline效果的教程
Jun 05 HTML / CSS
Grid 宫格常用布局的实现
Jan 10 HTML / CSS
HTML5的video标签的浏览器兼容性增强方案分享
May 19 HTML / CSS
html5中去掉input type date默认样式的方法
Sep 06 HTML / CSS
利用html5 canvas动态画饼状图的示例代码
Apr 02 HTML / CSS
详解HTML5中ol标签的用法
Sep 08 HTML / CSS
深入浅析HTML5中的SVG
Nov 27 HTML / CSS
使用phonegap进行提示操作的具体方法
Mar 30 HTML / CSS
血轮眼轮回眼特效 html+css
Mar 31 HTML / CSS
使用CSS实现小三角边框原理解析
CSS实现切角+边框+投影+内容背景色渐变效果
纯CSS如何禁止用户复制网页的内容
CSS实现单选折叠菜单功能
CSS 一行代码实现头像与国旗的融合
如何利用 CSS Overview 面板重构优化你的网站
基于HTML十秒做出淘宝页面
You might like
PHP 高手之路(三)
2006/10/09 PHP
用PHP来写记数器(详细介绍)
2006/10/09 PHP
使用数据库保存session的方法
2006/10/09 PHP
一个典型的PHP分页实例代码分享
2011/07/28 PHP
基于php常用正则表达式的整理汇总
2013/06/08 PHP
浅谈php扩展imagick
2014/06/02 PHP
php使用ZipArchive提示Fatal error: Class ZipArchive not found in的解决方法
2014/11/04 PHP
PHP使用array_multisort对多个数组或多维数组进行排序
2014/12/16 PHP
php验证手机号码
2015/11/11 PHP
php中替换字符串函数strtr()和str_repalce()的用法与区别
2016/11/25 PHP
thinkPHP实现多字段模糊匹配查询的方法
2016/12/01 PHP
CentOS7系统搭建LAMP及更新PHP版本操作详解
2020/03/26 PHP
PHP加MySQL消息队列深入理解
2021/02/27 PHP
js取模(求余数)隔行变色
2014/05/15 Javascript
javascript常用的方法整理
2015/08/20 Javascript
jquery仿QQ登录账号选择下拉框效果
2016/03/22 Javascript
AngularJS 表达式详解及实例代码
2016/09/14 Javascript
JavaScript高仿支付宝倒计时页面及代码实现
2016/10/21 Javascript
从零使用TypeScript开发项目打包发布到npm
2020/02/14 Javascript
Python序列之list和tuple常用方法以及注意事项
2015/01/09 Python
Python类的动态修改的实例方法
2017/03/24 Python
python+matplotlib实现鼠标移动三角形高亮及索引显示
2018/01/15 Python
Django数据库表反向生成实例解析
2018/02/06 Python
对pandas里的loc并列条件索引的实例讲解
2018/11/15 Python
Python多项式回归的实现方法
2019/03/11 Python
python网络编程 使用UDP、TCP协议收发信息详解
2019/08/29 Python
纯css3制作的火影忍者写轮眼开眼至轮回眼及进化过程实例
2014/11/11 HTML / CSS
搬家公司的创业计划书
2014/01/01 职场文书
生物制药专业自我鉴定
2014/02/19 职场文书
实习公司领导推荐函
2014/05/21 职场文书
小学生关于梦想的演讲稿
2014/08/22 职场文书
幼儿园感谢信
2015/01/21 职场文书
本溪关门山导游词
2015/02/09 职场文书
繁星春水读书笔记
2015/06/30 职场文书
python获取字符串中的email
2022/03/31 Python
python 实现图片特效处理
2022/04/03 Python