vue 中 scoped的用法 以及css文件引入问题的补充

自:https://blog.csdn.net/weixin_39941429/article/details/80254724

下面再说说VUE中scoped的编译原理吧。具体可以参考vue-loader

所谓的局部css,就是通过vue-loader这个插件,在编译打包的时候将带有scoped属性的css打上一个tag,同时将template内的所有html都打上一个相同的tag,最后通过css的属性选择器定位,造就了所谓的局部css。参考scoped内复写组件样式

css-loader对import的文件会当做外部资源,那么我能理解为它是把import的css文件单独提取出来,并没有把其中的样式放在中解析,而是最后把中计算结果和import的css文件混合后,交由style-loader最后解析为style标签加载在页面里。解决办法如下:

<style scoped>
    @import '../../assets/css/home.css';
</style>
/*这样写的话import的css文件会被编译为全局样式,但是引入less等预编译文件,就>会局部生效*/
<style src="../../assets/css/home.css" scoped>
</style>
/*这样写的css文件中的样式只能在本组件中使用,而不会影响其他组件*/

原文地址:https://www.cnblogs.com/panghu123/p/11707730.html

时间: 2024-07-30 06:43:32

vue 中 scoped的用法 以及css文件引入问题的补充的相关文章

史无前例的FireFox奇怪问题:host中的common名称造成css文件无法加载

今天遭遇了一个非常非常奇怪的问题,一个css文件(common.cnblogs.com/Skins/marvin3/green.css),Firefox怎么也无法打开,一直在转圈. 而换成其它浏览器都能正常打开,百思不得其解. 后来,将host换了一个名称,由 common.cnblogs.com 改为 cdn.cnblogs.com (cdn.cnblogs.com/Skins/marvin3/green.css,换成其他名称也可以),问题就解决了. 史无前例的FireFox奇怪问题:host

Django中加载js和css文件

Django中加载js和css文件 项目的目录结构如下: mysite |-mysite |-|-static |-|---js和css文件 |-|-|-init.py |-| |-models.py |-| |-views.py |-|-init.py |-|-settings.py |-|-urls.py |-templates |-|-(template html 文件) settings.py中static变量的设置: STATIC_ROOT = os.path.join(os.path

Vue中mixin的用法

在项目中我们经常会遇到多个组件调用同一个方法的问题,为了避免每次都在.vue文件中定义并调用,我们可采用vue的mixin的用法: 具体使用如下: 我们需要在main.js中引入mixins文件夹下的index.js文件, 这样,我们准备工作就做好了,那么在.vue文件中,我们就可以调用啦: 大功告成,其实很好理解的! 原文地址:https://www.cnblogs.com/yuwenjing0727/p/9304103.html

----Vue 中mixin 的用法详解----

说下我对vue中mixin的一点理解 vue中提供了一种混合机制--mixins,用来更高效的实现组件内容的复用.最开始我一度认为这个和组件好像没啥区别..后来发现错了.下面我们来看看mixins和普通情况下引入组件有什么区别? 组件在引用之后相当于在父组件内开辟了一块单独的空间,来根据父组件props过来的值进行相应的操作,单本质上两者还是泾渭分明,相对独立. 而mixins则是在引入组件之后,则是将组件内部的内容如data等方法.method等属性与父组件相应内容进行合并.相当于在引入后,父

vue中style的用法

最近学习了vue中class和class的用法,想来总结一下,也把我的知识提供给大家使用:首先来总结class的用法,vue中的class有4种写法;class和style都属于DOM属性,所以在vue中都用:class和:style表示 同样给id为box的div加上字体和颜色和背景颜色 方法一 <div id="box"> <strong :style="{color:'red',background:'blue'}">落入凡尘伤情着我&

CSS文件引入link和@import 区别

1.(本质区别)link 属于 HTML 标签,而 @import 完全是 css 提供的一种导入 css 文件的规则. 2.文件加载时机有差别: 当一个页面被加载的时候,link 引用的 css 会被同时加载,而 @import 引用的 CSS 会等到页面全部被加载完才被加载 所以有时候浏览@import加载CSS的页面时开始会没有样式(就是闪烁),网速慢的时候还挺明显. 3.兼容性差别: @import 只有在 IE5 以上才能被识别,而 link 没有兼容性问题. 4.当使用javascr

vue中slot的用法案例

<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <title>slot</title> <script src="./node_modules/vue/dist/vue.js"></script> </head> <body> <div id=&

vue中v-for的用法以及参数的作用

1 <template> 2 <div> 3 <div class="content clearfix" v-on:click="goorderingDetail(v)" v-for="(v,index) in anylist" :key="index"> 4 <div class="clearfix"> 5 <div class="fl di

vue中如何在本地导入js文件

import {setStore,setUser,getStore,removeStore} from "../../../public/localstory" 在导入js文件时,推荐大家可以先看下ES6的有关内容 http://es6.ruanyifeng.com/#docs/module import {setStore,setUser,getStore,removeStore} from "../../../public/localstory"//其中 set