Vue2.0开发之——Vue组件-样式冲突(35)

news2025/1/16 8:22:23

一 概述

  • scoped的使用及底层原理
  • 使用deep修改子组件中的样式

二 scoped的使用及底层原理

2.1 组件之间的样式冲突问题(修改Left.vue中的h3属性,Right也被修改)

默认情况下,写在 .vue 组件中的样式会全局生效,因此很容易造成多个组件之间的样式冲突问题

导致组件之间样式冲突的根本原因是:

  • 单页面应用程序中,所有组件的 DOM 结构,都是基于唯一的 index.html 页面进行呈现的
  • 每个组件中的样式,都会影响整个 index.html 页面中的 DOM 元素

2.2 如何解决组件样式冲突的问题

为每个组件分配唯一的自定义属性,在编写组件样式时,通过属性选择器来控制样式的作用域

Left.vue

布局代码

<template>
  <div class="left-container" data-v-001>
    <h3 data-v-001>Left 组件</h3>
    <hr data-v-001/>

    <MyCount :init="9" data-v-001></MyCount>
  </div>
</template>

样式文件修改

h3[data-v-001] {
  color: red;
}

Right.vue

<template>
  <div class="right-container" data-v-002>
    <h3 data-v-002>Right 组件</h3>
    <hr data-v-002 />

    <MyCount :init="6" data-v-002></MyCount>
  </div>
</template>

效果图(只修改Left的h3颜色)

2.3 style 节点的 scoped 属性

为了提高开发效率和开发体验,vue 为 style 节点提供了 scoped 属性,从而防止组件之间的样式冲突问题:

布局代码

<template>
  <div class="left-container">
    <h3 >Left 组件</h3>
    <hr/>

    <MyCount :init="9"></MyCount>
  </div>
</template>

样式文件

<style lang="less" scoped >
h3 {
  color: red;
}
</style>

效果图同2

三 使用deep修改子组件中的样式

3.1 冲突现象

在Left.vue中设置如下代码(给h5设置背景颜色),没有生效,现象同2

h5 {
  color: pink;
}

3.2 /deep/ 样式穿透

如果给当前组件的 style 节点添加了 scoped 属性,则当前组件的样式对其子组件是不生效的。如果想让某些样 式对子组件生效,可以使用 /deep/ 深度选择器

样式文件添加/deep/

/deep/ h5 {
  color: pink;
}

效果图

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

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

相关文章

kubelet源码分析 syncLoopIteration(二) plegCh、syncCh

kubelet源码分析 syncLoopIteration&#xff08;二&#xff09; plegCh 上一篇&#xff1a;kubelet源码分析 syncLoopIteration&#xff08;一&#xff09; configCh 上一篇说了configCh管道的作用&#xff0c;这一篇说一下plegCh管道。这个管道主要是监听容器运行时状态的&…

搭建Python环境

搭建Python环境 文章目录搭建Python环境需要安装的环境&#xff1a;安装Python1&#xff09;找到官网2&#xff09;找到下载页面3&#xff09;双击安装包4&#xff09;运行 hello world安装 PyCharm1&#xff09;找到官方网站2&#xff09;找到下载页面3&#xff09;双击安装包…

BEVFormer-accelerate:基于 EasyCV 加速 BEVFormer

导言 BEVFormer是一种纯视觉的自动驾驶感知算法&#xff0c;通过融合环视相机图像的空间和时序特征显式的生成具有强表征能力的BEV特征&#xff0c;并应用于下游3D检测、分割等任务&#xff0c;取得了SOTA的结果。我们在EasyCV开源框架&#xff08;https://github.com/alibaba…

照片调色JixiPix Hand Tint Pro

JixiPix Hand Tint Pro带有专业分层系统的简单工作流程具有色调&#xff0c;色调&#xff0c;颜色&#xff0c;乘法&#xff0c;柔和涂料或可以逐层更改的涂料的模式&#xff0c;以及功能强大的选色工具&#xff0c;可在隔离区域内保持刷涂&#xff0c;以实现快速着色和准确性。…

Linux环境下多线程C/C++程序的内存问题诊断

目录说明常见的内存错误举例常见的内存访问错误有以下几种&#xff1a;内存问题定位步骤野指针内存释放后使用&#xff08;UaF&#xff0c;Use after Free&#xff09;内存问题检查工具常见的内存问题检查工具Valgrindgcc 命令行参数 -fsanitizeaddress -fno-omit-frame-pointe…

Prim算法

应用场景 1.如何修路才能保证修路的总路程最短&#xff1f; 特点&#xff1a; 1.将所有节点全部连通&#xff0c;并且边上的权总和最小——>最小生成树 2.N个顶点&#xff0c;有N-1条边 Prim算法图解分析 简而言之&#xff0c;就是先确定顶点A&#xff0c;然后寻找没有遍…

代码随想录训练营第52天|LeetCode 300.最长递增子序列、674. 最长连续递增序列、718. 最长重复子数组

参考 代码随想录 题目一&#xff1a;LeetCode 300.最长递增子序列 确定dp数组下标及其含义 dp[i]&#xff1a;在nums数组中&#xff0c;在下标0~i元素&#xff08;包含i&#xff09;的基础上&#xff0c;以nums[i]作为子序列的最后一个元素&#xff0c;组成的最长严格递增子序…

0126 搜索与回溯算法 Day15

剑指 Offer 34. 二叉树中和为某一值的路径 给你二叉树的根节点 root 和一个整数目标和 targetSum &#xff0c;找出所有 从根节点到叶子节点 路径总和等于给定目标和的路径。 叶子节点 是指没有子节点的节点。 示例 1&#xff1a; 输入&#xff1a;root [5,4,8,11,null,13,…

cuda学习笔记4——cuda 核函数

cuda学习笔记4——cuda 核函数一、CUDA规范二、核函数内部线程的使用2.1 如何启动核函数demo 1&#xff1a;起16个线程来计算&#xff0c;四个线程块&#xff0c;每个块内四个线程例子demo2核函数是指在GPU端运行的代码&#xff0c;核函数内部主要干了什么&#xff1f;简而言之…

一个《跳动的爱心》代码,纯HTML+JS,双击直接运行

HTMLJS实现的一个跳动的爱心。集合了web动画库GSAP JS、OBJ 文件加载器OBJLoader、WebGL第三方库Three.js等。效果非常棒&#xff01; 目录实际效果&#xff1a;目录结构&#xff1a;HTML代码CSS代码js代码&#xff1a;简单的修改完整文件下载实际效果&#xff1a; 由于是纯前端…

学会IDEA这些断点操作,生产问题解决的越来越快了

文章目录IDEA断点高级用法1、断点类型1&#xff09;行断点&#xff08;line breakpoints&#xff09;2&#xff09;字段断点&#xff08;field breakpoints&#xff09;3&#xff09;方法断点&#xff08;method breakpoints&#xff09;1> 加载类名上的断点2> 正常方法断…

xss-labs(WriteUp)

xss-labs 先讲讲什么是跨站脚本攻击XSS(Cross Site Scripting) XSS原理 本质上是针对html的一种注入攻击&#xff0c;没有遵循数据与代码分离的原则&#xff0c;把用户输入的数据当作代码来执行 xss跨站脚本攻击是指恶意攻击者往Web页面里插入恶意脚本代码&#xff08;包括当…

redis之codis和redis cluster对比

写在前面 codis和Redis cluster 都是Redis的集群方案&#xff0c;本文就一起来看下。 1&#xff1a;codis的组件和架构 codis的组件有4个&#xff0c;如下&#xff1a; codis server&#xff1a;基于redis进行了二次开发的组件&#xff0c;负责数据的读写 codis proxy&…

Halcon图像拼接

图像拼接在实际的应用场景很广&#xff0c;比如无人机航拍&#xff0c;遥感图像等等&#xff0c;图像拼接是进一步做图像理解基础步骤&#xff0c;拼接效果的好坏直接影响接下来的工作&#xff0c;所以一个好的图像拼接算法非常重要。 如按下图是将两张楼房图片拼接成一个图像。…

QT 学习笔记(九)

文章目录一、事件的接收和忽略1. 准备工作2. 接收和忽略二、event() 函数1. 简介2. 实例演示3. 总结三、事件过滤器四、总结&#xff08;细看&#xff09;1. 知识点汇总2. QT 的事件处理五、事件、事件的接收和忽略、event() 函数和事件过滤器代码1. 主窗口头文件 mywidget.h2.…

英语文本转语音软件哪个好?分享三个新手也能学会的工具

大家平时都是怎么学习英语的呢&#xff1f;课上老师让我们熟悉单词意思、巩固语法、多练阅读理解&#xff1b;其实通过练习听力来加强语感也很重要。很多小伙伴的阅读理解很好&#xff0c;但是听力却跟不上。这里教大家一个小技巧&#xff0c;就是在做阅读理解的时候&#xff0…

第十章TomCat详解

文章目录Tomcat的部署和启动Tomcat扮演的角色①对外&#xff1a;Web服务器②对内&#xff1a;Servlet容器深入理解为什么需要TomCat从目的开始出发遇到的问题总过程部署前提解压TomCat的目录文件启动Tomcat并访问首页如何部署一个项目访问对应的web资源专业版IDEA创建一个JavaW…

力扣(718.1143)补9.12

718.最长重复子数组 这题真的想不到。 看图的话会好懂很多。 class Solution { public int findLength(int[] nums1, int[] nums2) { int nnums1.length; int n2nums2.length; int[][] dpnew int[n1][n21]; int result0; for(int…

【区块链-智能合约工程师】第二篇:Solidity入门

文章目录Solidity极简入门HelloWorld数值类型三种函数类型函数输出变量作用域引用类型参考文章&#xff1a;一文速览2022十大智能合约开发工具 资料地址&#xff1a;WTF学院 Solidity极简入门 HelloWorld remix&#xff1a;在线智能合约开发IDE&#xff08;Integrated Deve…

DBCO-PEG-Aminooxy, Aminooxy-PEG-DBCO,氨甲基聚乙二醇环辛炔

DBCO-PEG-Aminooxy &#xff0c; Aminooxy-PEG-DBCO&#xff0c;二苯并环辛炔-聚乙二醇-氨甲基&#xff0c;氨甲基聚乙二醇环辛炔 Product specifications&#xff1a; 1.CAS No&#xff1a;N/A 2.Molecular weightMV&#xff1a;1000&#xff0c;2000&#xff0c;34000&#x…