网站首页 > 知识剖析 正文
1、什么是 scoped
在 Vue 组件中,为了使样式私有化(模块化),不对全局造成污染,可以在 style 标签上添加 scoped 属性以表示它的只属于当下的模块,局部有效。如果一个项目中的所有 vue 组件style 标签全部加上了 scoped,相当于实现了样式的私有化。如果引用了第三方组件,需要在当前组件中局部修改第三方组件的样式,而又不想去除 scoped 属性造成组件之间的样式污染。此时只能通过穿透 scoped 的方式来解决,选择器。
2、scoped 的实现原理:
Vue 中的 scoped 属性的效果主要通过 PostCSS 转译实现,如下是转译前的 Vue 代码:
<template><div>Vue.js scoped</div></template>
<style scoped>.scoped {font-size:14px;}</style>
浏览器渲染后的代码:
<div data-v-fed36922>Vue.js scoped</div>
.scoped[data-v-fed36922]{font-size:14px;}
即:PostCSS 给所有 dom 添加了一个唯一不重复的动态属性,然后,给 CSS 选择器额外添加一个对应的属性选择器来选择该组件中 dom,这种做法使得样式私有化。
- 上一篇: JS 写正则表达式,判断是否为手机号
- 下一篇: css样式引入优先级?(css引入样式的优先级)
猜你喜欢
- 2025-05-02 css篇一 什么是css、css的作用以及css的基本格式
- 2025-05-02 WEB大前端进阶之模块化(前端模块化开发是什么意思)
- 2025-05-02 通过debug搞清楚.vue文件怎么变成.js文件
- 2025-05-02 在vue3中动态加载远程组件(vue动态添加组件并传参)
- 2025-05-02 小程序page背景颜色修改(小程序修改navigator颜色)
- 2025-05-02 css样式引入优先级?(css引入样式的优先级)
- 最近发表
-
- 测试进阶:实现跨请求地保持登录的神器session你get了么?
- Python 爬虫入门五之 Cookie 的使用
- 在Node应用中实施Web认证的四大方法
- PHP防火墙代码,防火墙,网站防火墙,WAF防火墙,PHP防火墙大全
- 程序员和IT人都应该懂的知识:HTTP入门图解
- 如何请求一个需要登陆才能访问的接口(基于cookie)——apipost
- 提高 PHP 代码质量的 36 计(如何提高php技术)
- 彻底搞懂Token、Session和Cookie(token和cookie sessions什么区别)
- 一文详解Python Flask模块设置Cookie和Session
- 超详细的网络抓包神器 tcpdump 使用指南
- 标签列表
-
- xml (46)
- css animation (57)
- array_slice (60)
- htmlspecialchars (54)
- position: absolute (54)
- datediff函数 (47)
- array_pop (49)
- jsmap (52)
- toggleclass (43)
- console.time (63)
- .sql (41)
- ahref (40)
- js json.parse (59)
- html复选框 (60)
- css 透明 (44)
- css 颜色 (47)
- php replace (41)
- css nth-child (48)
- min-height (40)
- xml schema (44)
- css 最后一个元素 (46)
- location.origin (44)
- table border (49)
- html tr (40)
- video controls (49)