Vue 框架之動(dòng)態(tài)綁定 css 樣式實(shí)例分析
今天的小實(shí)例是關(guān)于 Vue 框架動(dòng)態(tài)綁定 css 樣式,這也是非常常用的一個(gè)部分
首先說(shuō)一下 動(dòng)態(tài)綁定,相對(duì)的大家都知道靜態(tài)綁定,靜態(tài)綁定的話,直接加 class=“”就可以了,使用 Vue 呢之前也介紹過(guò)一個(gè) v-bing:class="{{redClass:true}}" ,也可以實(shí)現(xiàn)綁定,但都不是動(dòng)態(tài)綁定,動(dòng)態(tài)綁定肯定是根據(jù)用戶(hù)的某個(gè)操作實(shí)現(xiàn)動(dòng)態(tài)的修改樣式
先看下面的第一個(gè)小實(shí)例:

源代碼 html 文件:
請(qǐng)看注釋
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8" />
<title>VueLearn-cnblogs/xpwi</title>
<!--引入自定義的樣式-->
<link rel="stylesheet" href="css/style.css" rel="external nofollow" rel="external nofollow" rel="external nofollow" />
<!--引入 vue 核心 js-->
<script type="text/javascript" src="js/vue.js" ></script>
</head>
<body>
<!--vue-app 是根容器,定義一個(gè) id,然后在 js 里操作-->
<div id="vue-app">
<h2>動(dòng)態(tài)綁定 css 樣式</h2>
<!--Vue 中綁定 class,使用的是 json 對(duì)象,類(lèi)名:布爾值
然后我們可以通過(guò)修改 布爾值來(lái)實(shí)現(xiàn)修改樣式-->
<h3 v-bind:class="{red:true}">實(shí)例1</h3>
<h3>實(shí)例2</h3>
</div>
<!--引入自己的 js,注意必須寫(xiě)在 body 標(biāo)簽里最后,因?yàn)楸仨毾燃虞d你的整個(gè) HTML DOM,才回去執(zhí)行 vue 實(shí)例-->
<script type="text/javascript" src="js/computed.js" ></script>
</body>
</html>
源代碼 css 文件:
.red{
color: red;
}
.change{
background-color: yellow;
}
第二個(gè)小實(shí)例:
實(shí)現(xiàn),鼠標(biāo)放上去,修改背景色

源代碼 html 文件:
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8" />
<title>VueLearn-cnblogs/xpwi</title>
<!--引入自定義的樣式-->
<link rel="stylesheet" href="css/style.css" rel="external nofollow" rel="external nofollow" rel="external nofollow" />
<!--引入 vue 核心 js-->
<script type="text/javascript" src="js/vue.js" ></script>
</head>
<body>
<!--vue-app 是根容器,定義一個(gè) id,然后在 js 里操作-->
<div id="vue-app">
<h2>動(dòng)態(tài)綁定 css 樣式</h2>
<!--Vue 中綁定 class,使用的是 json 對(duì)象,類(lèi)名:布爾值
然后我們可以通過(guò)修改 布爾值來(lái)實(shí)現(xiàn)修改樣式-->
<!--dataRed,dataChange是布爾值,定義在js 文件中-->
<h3 v-on:mouseover="dataChange=!dataChange" v-on:mouseout="dataChange=!dataChange" v-bind:class="{red:dataRed,change:dataChange}">實(shí)例1</h3>
<h3>實(shí)例2</h3>
</div>
<!--引入自己的 js,注意必須寫(xiě)在 body 標(biāo)簽里最后,因?yàn)楸仨毾燃虞d你的整個(gè) HTML DOM,才回去執(zhí)行 vue 實(shí)例-->
<script type="text/javascript" src="js/css.js" ></script>
</body>
</html>
源代碼 js 文件:
//實(shí)例化 vue 對(duì)象
new Vue({
//注意代碼格式
//el:element 需要獲取的元素,一定是 html 中的根容器元素
el:"#vue-app",
data:{
dataRed : true,
dataChange : false
},
methods:{
}
});
源代碼 css 文件:
.red{
color: red;
}
.change{
background-color: yellow;
}
上面的動(dòng)態(tài),大家可以看到是通過(guò)修改樣式的 打開(kāi)和關(guān)閉
實(shí)例二:

源代碼 html 文件:
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8" />
<title>VueLearn-cnblogs/xpwi</title>
<!--引入自定義的樣式-->
<link rel="stylesheet" href="css/style.css" rel="external nofollow" rel="external nofollow" rel="external nofollow" />
<!--引入 vue 核心 js-->
<script type="text/javascript" src="js/vue.js" ></script>
</head>
<body>
<!--vue-app 是根容器,定義一個(gè) id,然后在 js 里操作-->
<div id="vue-app">
<h2>動(dòng)態(tài)綁定 css 樣式</h2>
<!--Vue 中綁定 class,使用的是 json 對(duì)象,類(lèi)名:布爾值
然后我們可以通過(guò)修改 布爾值來(lái)實(shí)現(xiàn)修改樣式-->
<!--dataRed,dataChange是布爾值,定義在js 文件中-->
<h3 v-on:mouseover="dataChange=!dataChange" v-on:mouseout="dataChange=!dataChange" v-bind:class="{red:dataRed,change:dataChange}">實(shí)例1</h3>
<h3 v-on:mouseover="changeHeight=!changeHeight" v-on:mouseout="changeHeight=!changeHeight" v-bind:class="{yellowBG:true,changeHeight:changeHeight}">實(shí)例2</h3>
</div>
<!--引入自己的 js,注意必須寫(xiě)在 body 標(biāo)簽里最后,因?yàn)楸仨毾燃虞d你的整個(gè) HTML DOM,才回去執(zhí)行 vue 實(shí)例-->
<script type="text/javascript" src="js/css.js" ></script>
</body>
</html>
源代碼 js 文件:
//實(shí)例化 vue 對(duì)象
new Vue({
//注意代碼格式
//el:element 需要獲取的元素,一定是 html 中的根容器元素
el:"#vue-app",
data:{
dataRed : true,
dataChange : false,
changeHeight : false
},
methods:{
}
});
源代碼 css 文件:
.red{
color: red;
}
.change{
background-color: yellow;
}
.yellowBG{
width: 20%;
background-color: yellow;
}
.changeHeight{
width: 20%;
height:100px
}
總結(jié)
以上所述是小編給大家介紹的Vue 框架之動(dòng)態(tài)綁定 css 樣式實(shí)例分析,希望對(duì)大家有所幫助,如果大家有任何疑問(wèn)請(qǐng)給我留言,小編會(huì)及時(shí)回復(fù)大家的。在此也非常感謝大家對(duì)腳本之家網(wǎng)站的支持!
相關(guān)文章
Vuejs+vue-router打包+Nginx配置的實(shí)例
今天小編就為大家分享一篇Vuejs+vue-router打包+Nginx配置的實(shí)例,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧2018-09-09
element中一個(gè)單選框radio時(shí)的選中和取消代碼詳解
這篇文章主要給大家介紹了關(guān)于element中一個(gè)單選框radio時(shí)的選中和取消的相關(guān)資料,文中通過(guò)圖文以及代碼示例介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考價(jià)值,需要的朋友可以參考下2023-09-09
Vue實(shí)現(xiàn)簡(jiǎn)單搜索功能的示例代碼
在vue項(xiàng)目中,搜索功能是我們經(jīng)常需要使用的一個(gè)場(chǎng)景,最常用的是在列表數(shù)據(jù)中搜索一個(gè)想要的,今天的例子就是我們實(shí)現(xiàn)vue從列表數(shù)據(jù)中搜索,希望對(duì)大家有所幫助2023-03-03
vue實(shí)現(xiàn)點(diǎn)擊某個(gè)div顯示與隱藏內(nèi)容功能實(shí)例
最近做項(xiàng)目有用到某個(gè)div顯示與隱藏內(nèi)容,所以下面這篇文章主要給大家介紹了關(guān)于vue實(shí)現(xiàn)點(diǎn)擊某個(gè)div顯示與隱藏內(nèi)容功能的相關(guān)資料,文中通過(guò)實(shí)例代碼介紹的非常詳細(xì),需要的朋友可以參考下2022-12-12
vue解決一個(gè)方法同時(shí)發(fā)送多個(gè)請(qǐng)求的問(wèn)題
今天小編就為大家分享一篇vue解決一個(gè)方法同時(shí)發(fā)送多個(gè)請(qǐng)求的問(wèn)題,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧2018-09-09
Vue中如何進(jìn)行數(shù)據(jù)響應(yīng)式更新
Vue是一款流行的JavaScript框架,它提供了數(shù)據(jù)響應(yīng)式更新的能力,可以讓我們輕松地更新數(shù)據(jù),并自動(dòng)更新視圖,本文將介紹Vue中如何進(jìn)行數(shù)據(jù)響應(yīng)式更新,包括使用Vue的響應(yīng)式系統(tǒng)、使用計(jì)算屬性和使用Vue的watcher,需要的朋友可以參考下2023-06-06
仿ElementUI實(shí)現(xiàn)一個(gè)Form表單的實(shí)現(xiàn)代碼
這篇文章主要介紹了仿ElementUI實(shí)現(xiàn)一個(gè)Form表單的實(shí)現(xiàn)代碼,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧2019-04-04
Vue3?Suspense實(shí)現(xiàn)優(yōu)雅處理異步數(shù)據(jù)加載
Suspense?是?Vue?3?中用于處理異步數(shù)據(jù)加載的特性,它使得在加載異步數(shù)據(jù)時(shí)可以提供更好的用戶(hù)體驗(yàn),下面小編就來(lái)和大家詳細(xì)講講Suspense如何優(yōu)雅處理異步數(shù)據(jù)加載吧2023-10-10
vue中的Object.freeze()?優(yōu)化數(shù)據(jù)方式
這篇文章主要介紹了vue中的Object.freeze()優(yōu)化數(shù)據(jù)方式,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2022-04-04
element中form組件prop嵌套屬性的問(wèn)題解決
本文主要介紹了element中form組件prop嵌套屬性的問(wèn)題解決,文中通過(guò)示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2022-03-03

