vue引入css文件导致全局污染的问题
目录
- 引入css文件导致全局污染
- vue避免全局样式污染的正确做法
- 解决方案
引入css文件导致全局污染
1.写在单组件的style里面css样式,如果标签内不加scoped可能会影响其他组件的样式
<style scoped></style>
2.通过import引入的外部css文件,这种引入方式是全局的,也会影响其他组件的页面样式
所以可以通过一下方法引入,则不会影响其他组件的页面样式
<style src="文件路径"></style>
vue避免全局样式污染的正确做法
说明问题:
样式全局污染产生的bug,会影响到其他页面原有的样式,导致每个页面的样式互相冲突,如果写的代码造成了全局样式污染,导致别人的页面每个地方都要去写自定义页面的代码,导致工作量巨大,严重的话,领导会让你当场辞职。
解决方案
1.避免造成全局污染,每个vue页面必须加上scoped
<style lang="scss" scoped> .app-container { flex: 1; padding: 15px; box-sizing: border-box; background: #fafafa; </style>
2.如果要修改element ui里面的底层样式,需要修改的页面加上::v-deep
::v-deep { .el-input, .el-select { display: inline-block; width: 240px; } .radioGroup { width: 240px; } }
3.如果所有的页面都复用使用main.js引入public.scss,具体的代码在这个scss里面写
import '@/assets/styles/public.scss' // global css
4.如果几个页面复用,那么在styles文件夹,里面创建个独立的scss,复用的代码写在这个文件里面。
@import "~@/assets/styles/apply.scss";
以上为个人经验,希望能给大家一个参考,也希望大家多多支持我们。
相关推荐
-
浅谈vue引入css,less遇到的坑和解决方法
在使用vux开发手机页面时,引入vux的公共样式less一直报错,通过各种百度,Google都没有解决,走了很多弯路.最后才发现钻牛角尖了,可以换一种方法引入. 1.报错的使用:在App中 @ ./~/css-loader?{"minimize":false,"sourceMap":false}!./~/vux/src/styles/reset. less 3:10-115 @ ./~/css-loader?{"minimize":false,&
-
VueJS如何引入css或者less文件的一些坑
我们在做Vue+webpack的时,难免会引入各种公共css样式文件,那么我们改如何引入呢?引入时会有那些坑呢? 首先,引入公共样式时,我们在"main.js"里使用AMD的方式引入,即 require('./assets/css/main.less'); 这时,我们会抛出一个错误,是因为我们没有写解析的依赖,webpack不知道怎么解析 这时,我们要填写上依赖, require('!style!css!less!./assets/css/main.less'); 在很多以前的博客里都
-
Vue 组件间的样式冲突污染
一.污染是如何产生的? 得益于 Vue-loader,在 Vue 中可以使用类似于 Web Component 的组件化写法, <template></template><style></style><script></script> ,在大多数情况下,我们希望组件间定义的样式是相互隔离的,在 Weex 当中的确如此,组件天生隔离,可是在 Vue 当中,运行的载体还是浏览器,所有的样式类还是会通过 style 标签插入头部,影响全局,
-
在vue中如何引入外部的css文件
目录 vue中引入外部css文件 1. 全局引入 2. 局部引入相对路径 3. 局部引入绝对路径 css-loader导致vue中样式失效的坑 问题描述 环境 原因 方案 vue中引入外部css文件 在项目的src文件下,新建一个style文件夹,存放css文件. 1. 全局引入 将外部的css文件放到style文件下,引入外部文件只需在main.js文件中 import '@/style/reset.css' 我引入的是清除默认样式的css文件 2. 局部引入相对路径 <style scope
-
vue引入css文件导致全局污染的问题
目录 引入css文件导致全局污染 vue避免全局样式污染的正确做法 解决方案 引入css文件导致全局污染 1.写在单组件的style里面css样式,如果标签内不加scoped可能会影响其他组件的样式 <style scoped></style> 2.通过import引入的外部css文件,这种引入方式是全局的,也会影响其他组件的页面样式 所以可以通过一下方法引入,则不会影响其他组件的页面样式 <style src="文件路径"></style&g
-
详解webpack和webpack-simple中如何引入css文件
博主最近研究vue+webpack的时候想引入css文件死活引入不出来,在webpack-simple那里却能引得出来,十分的纳闷,然后细心的调试了一下,原来这webpack和webpack-simple两个东西引入css文件有点区别. 首先说一下如何在webpack中引入css文件吧.博主的webpack是最新版本,不知1.0版本的是如何,所以下面说的是2.0以后的版本.首先在命令行中新建一个vue项目,如何新建请看我之前发的一篇博文,因为在webpack中,本身就有一个css-loader,
-
解决vue打包css文件中背景图片的路径问题
vue-cli写完的静态页面我们在node环境中引入没有问题,但是打包后放在Apache环境下,路径却有问题了 如一个简单css语句 .welcome { width: 420px; height: 235px; background: url(../img/welcome.jpg) 0 0 no-repeat; 但是打包后路径成了却出现404访问不到的问题. 解决的办法很简单 build路径下utils.js文件 // Extract CSS when that option is speci
-
VUE项目中引入JS文件的方法总结
目录 1.在index.html页面使用script标签引入 2.在main.js中使用window.moduleName 使用 3.手动添加export 4. 使用import方式,把需要的js库中的方法挂载到全局 补充:Vue3如何引用全局JS文件 总结 在开发Vue项目的时候,有时需要使用一些非ES6格式的没有export的js库,可以有如下方法实现: 1.在index.html页面使用script标签引入 当然也可以使用cdn的地址.这样引入后的内容是全局的,可以在所有地方使用. <!D
-
说说react中引入css的方式有哪些并区别在哪
目录 前言 方式 在组件内 组件中引入css文件 组件中引入 .module.css 文件 CSS in JS 区别 前言 组件式开发选择合适的css解决方案尤为重要 通常会遵循以下规则: 可以编写局部css,不会随意污染其他组件内的原生: 可以编写动态的css,可以获取当前组件的一些状态,根据状态的变化生成不同的css样式: 支持所有的css特性:伪类.动画.媒体查询等: 编写起来简洁方便.最好符合一贯的css风格特点 在这一方面,vue使用css起来更为简洁: 通过 style 标签编写样式
-
在vue项目中设置一些全局的公共样式
目录 vue设置全局的公共样式 思路 vue公共样式与公共方法 问题描述 公共样式 公共方法 vue设置全局的公共样式 本公司开发的产品,在运维去客户哪里上线的时候,客户可能会对产品主页面的一些色调,字体大小等不满意.所以需求就是在我们的开发包在往客户服务器上发布的时候,有一个scss文件可以随时调整这些字体和颜色. 思路 1.首先在public公共文件的css文件夹下面新建一个allstyle.scss的样式文件夹,在这个里面定义一些样式,和字体的大小.这样做的好处就是,在webpack打包的
-
Vue项目中引入外部文件的方法(css、js、less)
这两天学习了Vue.js ,正好了解了如何引入外部文件的方法,而且很重要,所以,今天添加一点小笔记. 例子中css文件采用bootstrap.css,js文件采用jQuery,less文件用less.less(自定义文件) 步骤一:安装webpack cnpm install webpack -g 步骤二:在src/assets下面新建css.js.less.fonts文件夹,并放入对应文件. 将bootstrap.css放入css目录下,bootstrap.min.js放入js文件下,font
随机推荐
- 正则表达式
- 关于php中的json_encode()和json_decode()函数的一些说明
- Bootstrap模块dropdown实现下拉框响应
- Nginx 多域名配置的方法
- jquery插件jquery.confirm弹出确认消息
- asp中FSO复制文件代码
- Java实现冒泡排序算法及对其的简单优化示例
- js+ajax处理java后台返回的json对象循环创建到表格的方法
- XML动态菜单 (二)flash
- java随机生成8位数授权码的实例
- sqlserver 存储过程动态参数调用实现代码
- 利用jQuery的$.event.fix函数统一浏览器event事件处理
- jQuery中animate动画第二次点击事件没反应
- js实现杯子倒水问题自动求解程序
- PHP 无限级分类
- 关于define与C 的内存
- C++Primer笔记之关联容器的使用详解
- C#在运行时动态创建类型的实现方法
- 一步一步学习PHP(2)——PHP类型
- PHP实现获取url地址中顶级域名的方法示例