【前端技术】Vue在打包之后出现Css样式冲突,解决方法。

2023-11-18

原文链接
先说问题

1:在做vue项目打包时出现Css样式冲突的问题。在本地运行项目时样式都是正常,但在服务器进行打包之后项目的整体样式就有问题了。

举例说明:

1.图片大小发生变化,怎么改也改不好。

2.在查看F12中会多出当前页面没有设置过的Css样式。

3.或者是设置过的样式,在F12中显示带“黑线”的也就是被注释的。

4.页面样式跑偏等等。

都有可能是Css样式冲突造成的,不清楚大家是不是这样的,反正我是这样的。

经过这次的问题,把我遇到的解决办法记录一下,

遇到的解决方案

1.第一种方法可以选择在每个vue组件的style标签上加上

<style scoped>
<style>

对于scoped的解释:
    1.它实现了组件的私有化。只对当前的style有效。不会造成全局样式的冲突。
    
    2.scoped使用起来还是比较简单的,但是要慎用,因为当你想要使用全局组件或者公有组件时,就会发现问题的所在。(这里不多说,原因是鄙人也不是太懂。)
    
    3.还有就是使用scoped时,当按F12时可以看到在每个class标签,Id标签等等。都会有一个`[data-v-03e1dfbf]`以data开的标识。含义: 在当前style标签样式中代表唯一性。

但是这种的解决方案起到好像作用不大,(甚至是没有作用)也有可能是我写的不对。

2.第二种方法是说在打包过程中,由于引入的样式顺序不同导致的样式冲突。

1.在main.js 中,把顺序
     import Vue from 'vue'
     import App from './App'
     import router from './router'
     import axios from 'axios'
     import iView from 'iview'
     import 'iview/dist/styles/iview.css'
     import global from './Global'
     import mui from './assets/js/mui.min.js'
     import ElementUI from 'element-ui'
     import 'element-ui/lib/theme-chalk/index.css'
     
     改成类似下面这种,我的理解:不是自己写的,而是通过npm安装的一些组件和样式放到偏上,其余的放到偏下。
     
     import Vue from 'vue'
     import 'iview/dist/styles/iview.css'
     import mui from './assets/js/mui.min.js'
     import ElementUI from 'element-ui'
     import 'element-ui/lib/theme-chalk/index.css'
     import axios from 'axios'
     import iView from 'iview'
     import global from './Global'
     import App from './App'
     import router from './router'

这种解决方法好像也不大起作用,也有可能是我写的不对。

这种解决方法在style标签上加上的。

3.第三种方法是目前最有效的解决方法。

其主要原因是因为多个vue组件之间共用同一个Class类名(.XXX),导致的样式冲突。
    
    1.为什么npm run dev不会出现样式冲突,
    而npm run build会出现样式冲突。
    dev是将Css样式打包到js中。
    而
    build是通过"extract-text-webpack-plugin"这个插件将所有的Css样式都放到一个Css文件中,这就会出现样式冲突的问题。

    2.解决方案:浏览器调试,找到互相影响的样式,修改类名。

第三种方法对目前来说 是对的,但是有一个小缺点就是类名太多的话,修改起来有点麻烦。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

【前端技术】Vue在打包之后出现Css样式冲突,解决方法。 的相关文章

  • 有没有办法编写屏幕阅读器会忽略的内容?

    我刚刚开发了一个需要视力正常和视障用户都可以访问的页面 内容的某些元素仅与视觉元素相关 因此根本不适用于使用屏幕阅读器的人 例如 链接在新窗口中打开视听演示文稿 但由于我无法控制的情况 窗口的大小被笨拙地调整 因此有一条消息说您应该调整窗口
  • 我正在尝试向我的 vue.js 项目添加背景图像

    我想添加覆盖整个页面的背景图像 然而现在看起来是这样的 我希望它跨越整个网页 在 vue js 中这将如何完成 我还想要一个动画工具栏 以便当页面不滚动时工具栏是透明的并呈现背景图像的外观 当它滚动时 工具栏将具有当前的蓝色 这是我的小提琴
  • 如何设置vite.config.js基本公共路径?

    我正在尝试设置一个base url对于我的开发和生产环境 但是vitejs配置未解决 根据vitejs https vitejs dev config 您可以在配置选项中设置在开发或生产中提供服务时的基本公共路径 当从命令行运行 vite
  • 如何动态突出显示网页上的字符串?

    我想创建带有 url 的页面 例如 http xyzcorp schedules 2015Aug24 Aug28 Jim Hawkins http xyzcorp schedules 2015Aug24 Aug28 Billy Bones
  • 有没有办法将变量从 javascript 导入到 sass 或反之亦然?

    我正在制作一个依赖于块概念的 CSS 网格系统 所以我有一个基本文件 例如 max columns 4 block width 220px block height 150px block margin 10px 它被 mixin 使用 m
  • 淘汰赛绑定,每个都可进行自定义

    我这里有一个情况 用于淘汰每个带有定制的绑定 这是我的代码 div div table tbody tr td td td td tr tbody table div div
  • 如何使用 vanilla JS 实现可维护的反应式 UI

    今天我遇到了一个问题 可以通过使用像 Vue 这样的反应式和状态管理框架来轻松解决 遗憾的是 无法使用它 以下 简化 情况 链接到代码笔 https codepen io theiaz pen BazErKV 我们有一个服务器渲染的页面 其
  • @font-face 和 font-variant 是个坏主意吗?

    如果我使用 font face字体和font variant small caps对于相同的选择器 字体将回退到 Safari 中的下一个系统默认字体 我该如何解决这个问题 我一开始在创建一个示例来复制您的问题时遇到了一些麻烦 这让我意识到
  • 元素和 svg 形状之间的白线

    大家好 我正在使用由 shapedivider 生成的 svg 整形器 您可以看到 有一条白线 我不知道为什么它在那里以及如何删除它 请你帮助我好吗 有形状分隔符的代码 custom shape divider bottom 1640714
  • 如何从 bootstrap-markdown.js 调用 .getContent 和 .parseContent

    我是使用 Bootstrap 插件的新手 刚刚通过代码学院 http www codecademy com en skills make an interactive website 我真的很想用这个很棒的引导 Markdown 插件 ht
  • CSS: *html #id_name

    我有这个代码 html alertBox height 100px modalContainer gt alertBox position fixed 这是由CSS支持的吗 我在其他网站上找到了这段代码 我忘记了链接 html alertB
  • 有没有办法使用 Vue-Router 从动态 URL 中删除目录?

    我为一家保险经纪公司构建了一个 vue js Web 应用程序 其中每个代理人都有自己的网站 该网站是根据他们的个人资料生成的 这就是我的 vue router 索引文件中的链接的样子 path agents id name AgentSi
  • Bootstrap 中的旋转字形 / Font Awesome

    我试图让引导站点中的字形在悬停时旋转 除了更改颜色之外 这是我的尝试 http jsfiddle net young greedo17 88g5P http jsfiddle net young greedo17 88g5P 使用此代码 d
  • 滚动时将菜单栏固定在顶部[关闭]

    Closed 这个问题需要多问focused help closed questions 目前不接受答案 我见过一些网站 当用户向下滚动页面时 会在右侧或左侧弹出一个框 另外 注意到这个模板 http www mvpthemes com m
  • 像在 tumblr 注册页面上那样鬼写

    有谁知道如何创建一个类似 tumblr 的字段 http www tumblr com http www tumblr com 这是一个 URL 字段 其中有一些褪色的文本 然后当您单击它并键入时 它会附加一些文本 tumblr com 您
  • 使用 jQuery 更改父元素样式

    我有下一个 html 设置 div class one div class two a href class three Click a div div 我想更改具有类的元素的背景颜色 one当我点击元素时 three使用 jQuery 这
  • 将按钮文本放在一行上

    我的按钮文本在 safari 中显示在一行上 即使在初次单击后 但是在 google chrome 上 当您第一次到达该按 钮时 我的按钮将显示在一行上 但是当您浏览更多帖子并再次遇到 加载更多 按钮时 文本搞砸了 这只发生在谷歌浏览器上
  • CSS 网格框架中的间距有什么作用?

    我正在深入研究 Web 开发 并且正在使用 Blueprint CSS 框架 其中包括网格系统 我有几个问题 水沟有什么用处 当然 它们不用于在列之间包含空间 因为您可以使用 margin CSS 属性来实现这一点 对吗 或者排水沟只是一种
  • 适用于移动设备的响应式订单确认电子邮件?

    我从未见过令人惊叹的订单确认 发票电子邮件 即使是最好的 html5 网站也会发送糟糕的订单确认电子邮件 有时是纯文本 我相信这是因为发票通常需要使用表格来显示购买的物品 这在移动设备上实现起来非常困难 我发现了一些让手机上的表格更易于管理
  • 我可以使用 ASP.NET WebForms 母版页在每个内容页中包含不同的 javascript/css 文件吗?

    我有几个使用相同母版页的内容页 它们并不都需要包含在相同的 javascript 和 css 文件中 tag 是否可以更改内容来自内容页面的标签 确实如此 但我建议采取一些不同的做法 我在关闭正文标签的正上方放置了一个内容占位符 然后我填充

随机推荐

  • KubeVela 正式开源:一个高可扩展的云原生应用平台与核心引擎

    来源 阿里巴巴云原生公众号 美国西部时间 2020 年 11 月 18 日 在云原生技术 最高盛宴 的 KubeCon 北美峰会 2020 上 CNCF 应用交付领域小组 CNCF SIG App Delivery 与 Open Appli
  • 信号处理——梅尔滤波器(MFCC)

    信号处理 梅尔滤波器 MFCC 一 概述 在语音识别 Speech Recognition 和话者识别 Speaker Recognition 方面 最常用到的语音特征就是梅尔倒谱系数 Mel scale FrequencyCepstral
  • NoSQL系统的分类

    什么是NoSQL系统 采用最终一致性的数据库系统 统称为NoSQL Not only SQL 系统 根据数据模型的不同 NoSQL系统又分为以下几类 基于键值对的 Memcached Redis 基于列存储的 Bigtable Apache
  • 小米路由器3/3G/4通过串口(ttl)刷机

    准备工作 淘宝购买 USB转TTL CH340模块 杜邦线 排针 https detail tmall com item htm id 525204252260 spm a1z09 2 0 0 19dc2e8doubZVx u blagqs
  • 查看linux下安装了哪些软件

    1 查看是否安装了gcc 命令 rpm ql gcc rpm qa grep gcc 参数 q 询问 a 查询全部 l 显示列表 2 权限 安装和删除只有root和有安装权限的用户才可以进行 查询是每个用户都可以进行操作的 RPM 的介绍和
  • 《Docker 镜像操作》

    Docker 镜像原理 1 Docker 镜像本质是什么 是一个分层文件系统 2 Docker 中一个 centos 镜像为什么只有 200MB 而一个 centos 操作系统的 iso 文件要几个个 G Centos 的 iso 镜像文件
  • IDEA插件-PlantUML

    一 idea安装plantUml插件 在idea中Preferences gt plugins gt Browse repositories gt 搜索 plantUML gt 安装即可 二 通过 brew 安装 Graphviz 安装pl
  • [极客大挑战 2019]RCE ME(取反、异或绕过正则表达式、bypass disable_function)

    题目进去后 很简单的代码 显然命令执行 看到了eval 应该是用system等函数来实现命令执行 但是得要先绕过preg match 中正则表达式的限制 一开始傻乎乎的直接传了个数组 妄图绕过preg match 这很显然是不行的 附上大佬
  • c语言 push,深入了解C语言(局部变量的定义)

    深入了解C语言 这一节我们主要来研究一下C语言如何使用函数中的局部变量的 C语言中对于全局变量和局部变量所分配的空间地址是不一样的 全局变量是放在 DATA段 也就是除开 TEXT代码段的另一块集中的内存空间 而局部变量主要是使用堆栈的内存
  • Java 9:装B之前你必须要会的——泛型,注解,反射

    1 泛型 1 1 基本概念 泛型提供了编译期的类型检查 但问题远非这么简单 原生态类型 List list1 new ArrayList 规避的类型检查 List list1 new ArrayList
  • 【mcuclub】PH酸碱度检测传感器-PH4502C

    一 实物图 型号 PH4502C 二 原理图 编号 名称 功能 1 VCC 供电电压正极 5V 2 GND 供电电压负极 3 GND 模拟信号输出负极 4 PO 模拟信号输出正极 5 2V5 基准电压2 5V输出口 6 T1 温度传感器DS
  • 在 vscode 上刷力扣 Leetcode 可以这样来

    背景 神奇的算法网站 LeetCode 值得驻留 网页版似乎不太方便 作为习惯于在编译器上敲代码的你 如何 vscode 上优雅的刷力扣 Leetcode 在本地配置 记录下来方便备查 环境前置 电脑具备 NodeJs环境 第一步 安装插件
  • 模型优化-RMSprop

    RMSprop 全称 root mean square prop 算法 和动量方法一样都可以加快梯度下降速度 关于动量方法的内容可以参考这篇博文模型优化 动量方法 动量方法借助前一时刻的动量 从而能够有效地缓解山谷震荡以及鞍部停滞问题 而
  • linux云主机如何运维建站最简单-办法来了

    对于企业和个人站长来说 云服务器运维管理是一件比较棘手的问题 如果企业没有专业的运维工程师 那么就会使用一些工具来帮助运维 毕竟通过shh命令操作linux服务器的还是少数 那么运维服务器这件事就要用到一个工具linux面板 每个人对于云服
  • EXCEL VBA从入门到精通 第一章:VBA入门

    第一章 VBA入门 第一节 什么是VBA 介绍VBA的定义 作用和优点 VBA Visual Basic for Applications 是一种编程语言 是微软Office套件中的一个重要组成部分 主要用于自动化处理Office中的各种操
  • Xilinx平台SRIO介绍(二)SRIO IP核基础知识

    使用SRIO IP核必须掌握的基础知识 理解了这篇 剩下的只是代码罢了 汇总篇 Xilinx平台SRIO介绍 汇总篇 目录 前言 SRIO RapidIO GT 有什么关系
  • 基于python进行小波分析,频率谱分析

    该方法基于python进行时间序列的小波分析并出图 包括功率谱图和小波分解后的图 默认的小波为morlet小波 该代码由 Evgeniya Predybaylo 博士提供 https github com chris torrence wa
  • RecyclerView嵌套RecyclerView的滑动问题如何解

    一 概述 虽然今天我们要说的是Rv嵌套Rv的问题 但多数情况下我们都不会使用Rv嵌套Rv 来实现复杂的列表 而是使用多ItemType实现 可能再复杂点的 配合GridLayoutManager SpanSizeLookup一起来实现 再高
  • C/C++ 指针详解

    指针详解 参考视频 https www bilibili com video BV1bo4y1Z7xf 感谢Bilibili fengmuzi2003的搬运翻译及后续勘误 也感谢已故原作者Harsha Suryanarayana的讲解 RI
  • 【前端技术】Vue在打包之后出现Css样式冲突,解决方法。

    原文链接 先说问题 1 在做vue项目打包时出现Css样式冲突的问题 在本地运行项目时样式都是正常 但在服务器进行打包之后项目的整体样式就有问题了 举例说明 1 图片大小发生变化 怎么改也改不好 2 在查看F12中会多出当前页面没有设置过的