vue中scoped原理与样式穿透原理

news2025/1/16 7:55:33

是什么

在vue组件中的style标签上有一个特殊属性:”scoped“

为什么

当一个style标签拥有scoped属性时,它的CSS样式就只能作用于当前的组件,通过该属性,可以使得组件之间的样式不互相污染。

怎么样实现的

1.为组件实例生成一个唯一标识,给组件中的每个标签对应的dom元素添加一个标签属性,data-v-xxxx

2.给<style scoped>中的每个选择器的最后一个选择器添加一个属性选择器,原选择器[data-v-xxxx],如:原选择器为.container #id div,则更改后选择器为.container #id div[data-v-xxxx]

怎么样使用

使用很简单,只需要在style标签后面加一个scoped属性即可,其他的我们开发这都不用管,只需要正常写样式就可以了

遇到的问题

比如我们做项目的时候,一般都会引入ui库,如:elementUI

这个时候,我们项目中需要用到ui库里面的button,但是他默认的大小不符合我项目的要求,我需要比mini还要小的按钮,这时候怎么搞,因为elementUI库中的组件使用了scoped,所以我们直接修改样式是无效的,是无法做到子组件的。这个问题怎么解决呢?

 

怎么解决

1.使用两个style,一个不加scoped,一个加上scoped,将需要修改子组件的样式写到没有scoped的style中

2.使用样式穿透

样式穿透的写法有三种:>>>、/deep/、::v-deep

如果项目使用的是css原生样式,那么可以直接使用 >>> 穿透修改

对于less,我们可以使用/deep/

对于sass,我们可以使用::v-deep

 

为什么能解决

第一种方式就不多说了

第二种方式:

scoped后选择器最后默认会加上当前组件的一个标识,比如[data-v-49729759]

用了样式穿透后,在deep之后的选择器最后就不会加上标识。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/19028.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

[附源码]SSM计算机毕业设计智能视频推荐网站JAVA

项目运行 环境配置&#xff1a; Jdk1.8 Tomcat7.0 Mysql HBuilderX&#xff08;Webstorm也行&#xff09; Eclispe&#xff08;IntelliJ IDEA,Eclispe,MyEclispe,Sts都支持&#xff09;。 项目技术&#xff1a; SSM mybatis Maven Vue 等等组成&#xff0c;B/S模式 M…

codeforces:F. All Possible Digits【贪心 + 模拟进位】

目录题目截图题目分析ac code总结题目截图 题目分析 注意是只能再最后一位加我们要使得0到p - 1都出现至少一次统计出现的数字aset考虑最后一位pivot情况1&#xff1a;如果pivot前都出现了&#xff0c;就不用进位了&#xff0c;pivot只需要加到最大的未出现在aset的num即可情况…

【编程题】【Scratch二级】2022.09 小老鼠偷面包

小老鼠偷面包 1. 准备工作 &#xff08;1&#xff09;背景&#xff1a;Stars&#xff0c;绘制如下图所示的迷宫&#xff1b; &#xff08;2&#xff09;角色&#xff1a;Cat 2、Mouse1、Bread。 2. 功能实现 &#xff08;1&#xff09;Cat 2、Mouse1和Bread初始位置和方向如…

机器人C++库(12) Robotics Library 之路径规划算法:PRM、RRT、EET算法

机器人C库&#xff08;12&#xff09;Robotics Library 之路径规划算法&#xff1a;PRM、RRT、EET算法 RL库的运动规划(rl::plan)模块集成了以下经典的路径规划算法&#xff1a; PRM算法:概率路线图算法RRT算法&#xff1a;快速探索随机树算法EET算法&#xff1a;搜索树算法-基…

牧场系统设计与实现-计算机毕业设计源码+LW文档

关键代码 package com.example.controller; import cn.hutool.core.collection.CollUtil; import cn.hutool.core.collection.CollectionUtil; import cn.hutool.core.io.IoUtil; import cn.hutool.core.util.ObjectUtil; import cn.hutool.core.util.StrUtil; import cn.huto…

japonensisjava乱码_Java乱码问题原因及解决方案

一. java乱码乱码问题解决思路,java乱码分为以下几种 1. 请求乱码 如果是在请求过程中发生的乱码,有可能是以下几种情况: 参数放在 URL 地址中乱码; 参数在请求体中乱码; 数据库本身乱码; 数据从 Java 应用程序传入数据库的过程中乱码。 2. 响应乱码 如果是响应乱码,那…

Go语言学习(八)-- Gin入门

Gin 是一个 Go (Golang) 编写的轻量级 http web 框架&#xff0c;运行速度非常快。Gin 最擅长的就是 Api 接口的高并发&#xff0c;如果项目的规模不大&#xff0c;业务相对简单&#xff0c;这个时候我们 也推荐您使用 Gin。 当某个接口的性能遭到较大挑战的时候&#xff0c;这…

Prometheus监控案例

一&#xff1a;环境规划&#xff1a; 主机名主机地址角色node4192.168.188.114prometheus客户端node5192.168.188.115prometheus服务端 二. 监控远程linux主机&#xff1a; 1. 解压node_exporter压缩包&#xff1a; [rootnode4 ~]# tar xf node_exporter-1.3.1.linux-amd64…

RT-Thread 下的文件内容对比 MSH shell cmd 命令实现方法

前言 在使用 RT-Thread 时&#xff0c;需要对两个文件的内容进行比较&#xff0c;顺手写了一个测试的 MSH shell 命令&#xff0c;经过优化&#xff0c;发现功能可以使用 RT-Thread 下支持多种文件系统&#xff0c;如FAT等&#xff0c;可以通过 USB、串口 的 Ymodem 等协议把文…

YOLOv5-seg数据集制作、模型训练以及TensorRT部署

YOLOv5-seg数据集制作、模型训练以及TensorRT部署版本声明一、数据集制作&#xff1a;图像 Json转txt二、分割模型训练三 tensorRT部署版本声明 yolov5-seg:官方地址&#xff1a;https://github.com/ultralytics/yolov5/tree/v6.2 TensorRT&#xff1a;8.x.x 语言&#xff1a;…

基于stm32单片机体重秤电子秤超重提醒

资料编号&#xff1a;107 下面是相关功能视频演示&#xff1a; 107-基于stm32单片机体重秤电子秤称重超重报警Proteus仿真&#xff08;源码仿真全套资料&#xff09;功能介绍&#xff1a; 采用stm32单片机&#xff0c;可以设置称重上限制&#xff0c;LCD1602显示重量&#xf…

04_tcp

知识点1【多播】 多播地址&#xff1a; 多播地址向以太网MAC地址的映射 UDP多播工作过程&#xff1a; 多播地址结构体&#xff1a; 多播套接口选项&#xff1a; 知识点2【TCP面向链接编程】 1、创建tcp套接字 2、做为客户端需要具备的条件 3、connect链接服务器的函数…

地图下载白嫖神器!你该怎么用好它

今天介绍一下做数据可视化网站比较好的两个平台。一个是阿里云的Datav&#xff0c;另一个是易智微easyv. 一、DataV.GeoAtlas 前段时间 我们就给大家分享过阿里云的DataV.GeoAtlas地理小工具系列。我们可以通过这个平台下载高德比较新的地图数据&#xff0c;数据的时效性是有较…

如何查看SAP版本及HANA版本?

目录 一、查SAP NetWeaver版本 二、查看S/4 HANA版本 在SAP运维及系统集成时&#xff0c;经常外面公司问及本公司的SAP版本及HANA版本。其实是每一个登录SAP的用户都可以查到的。方法如下&#xff1a; 一、查SAP NetWeaver版本 SAP界面上选择菜单&#xff1a;系统-状态&am…

哈夫曼树与哈夫曼编码

哈夫曼树&#xff1a;结点中赋予一个某种意义的值&#xff0c;称为结点的权值&#xff0c;从根结点开始&#xff0c;到目标结点经过的边数&#xff0c;称为路径长度&#xff0c;路径长度乘以权值&#xff0c;称为带权路径长度&#xff1b; 例如&#xff1a;根结点代表着快递集…

上位机工业协议-S7COMM

1、S7协议主要针对西门子相关设备通信。先了解基本通信对象、通信环境、通信报文&#xff0c;再处理S7COMM通信库的封装与测试。 2、西门子设备通信 - PLC&#xff1a;系列 LOGO、200、200Smart、300、400、1200、1500 - PLC&#xff1a;LOGO、200、200Smart、300、400、1…

Elastic Stack容器化部署拓展(Https、AD域集成)并收集Cisco设备的日志信息

前言&#xff1a; 还记得在去年的笔记中提到过EFK&#xff08;Elasticsearch-Filebeat-Kibana&#xff09;的部署&#xff0c;但是其中的内容相对简单&#xff0c;也没有提到一些额外的Elastic Stack的特性。链接如下&#xff1a;https://blog.csdn.net/tushanpeipei/article/…

JSTL使用

目录 简介&#xff1a; 组成 使用&#xff1a; code核心库使用 ​编辑 fmt格式化 ​编辑 简介&#xff1a; 全称:JSP Standard Tag Library 中文名:JSP标准标签库 作用:用于扩展JSP中的标签&#xff0c;能够为JSP页面提供流程控制、类型转换等功能的标签。替换JSP中代码…

【Spring Cloud实战】Ribbon负载均衡

gitee地址&#xff1a;https://gitee.com/javaxiaobear/spring-cloud_study.git 在线阅读地址&#xff1a;https://javaxiaobear.gitee.io/ 1、概述 Spring Cloud Ribbon是基于Netflix Ribbon实现的一套客户端负载均衡的工具。 简单的说&#xff0c;Ribbon是Netflix发布的开源项…

jenkins持续集成 自动化部署

一、环境准备 1.1 Java环境 &#xff08;1&#xff09;安装jdk1.8 yum -y install java-1.8.0-openjdk* &#xff08;2&#xff09;执行以下命令查看是否安装成功 java -version 1.2 安装maven &#xff08;1&#xff09;将安装包上传到Linux服务器&#xff0c;解压缩 tar -…