在style的标签上加一个module的属性,这样style里面的内容就会被编译成CSS Modules(模块),默认情况下,我们可以在模板代码里,或者JS里通过$style拿到所有样式属性并使用
我们也可以给CSS Modules自定义一个名称,在style的module属性设置一个名称就可以了,这样的话在模板和JS里就通过自定义的名称来引入CSS里的属性
与组合式 API 一同使用,注入的类可以通过 useCssModule API 在 setup() 和.success { color: #090}
可以通过 v-bind 这一 CSS 函数将 CSS 的值关联到动态的组件状态上
这个语法同样也适用于
动态加载外部css样式及css样式,参考代码如下:// 动态加载外部js文件
var flag = true
if( flag ){
loadScript( "js/index.js" )
}
function loadScript( url ){
var script = document.createElement( "script" )
script.type = "type/javascipt"
script.src = url
document.getElementsByTagName( "head" )[0].appendChild( script )
}
// 动态加载js
if( flag ){
var script = document.createElement( "script" )
script.type = "text/javascript"
script.text = " "
document.getElementsByTagName( "head" )[0].appendChild( script )
}
// 动态加载外部css样式
if( flag ){
loadCss( "css/base.css" )
}
function loadCss( url ){
var link = document.createElement( "link" )
link.type = "text/css"
link.rel = "stylesheet"
link.href = url
document.getElementsByTagName( "head" )[0].appendChild( link )
}
// 动态加载css样式
if( flag ){
var style = document.createElement( "style" )
style.type = "text/css"
document.getElementsByTagName( "head" )[0].appendChild( style )
var sheet = document.styleSheets[0]
insertRules( sheet,"#gaga1","background:#f00",0 )
}
function insertRules( sheet,selectorTxt,cssTxt,position ){
if( sheet.insertRule ){ // 判断非IE浏览器
sheet.insertRule( selectorTxt + "{" + cssTxt +"}" ,position )
}else if( sheet.addRule ){ //判断是否是IE浏览器
sheet.addRule( selectorTxt ,cssTxt ,position )
}
}