vue 動(dòng)態(tài)樣式綁定 class/style的寫(xiě)法小結(jié)
簡(jiǎn)介:
綁定樣式:
1、class樣式
寫(xiě)法:class="xxx" xxx可以是字符串,對(duì)象,數(shù)組。
字符串寫(xiě)法適用于:類(lèi)名不確定,要?jiǎng)討B(tài)獲取。
對(duì)象寫(xiě)法適用于:要綁定多個(gè)樣式,個(gè)數(shù)確定,名字確定,但不確定用不用。
數(shù)組寫(xiě)法適用于:要綁定多個(gè)樣式,個(gè)數(shù)不確定,名字不確定。
2、style樣式
:style="{fonSize : xxx}"其中xxx是動(dòng)態(tài)值,鍵值要用小駝峰命名法。
:style="[a,b]"其中a,b是樣式對(duì)象。
class樣式:
字符串寫(xiě)法:類(lèi)名不確定,要?jiǎng)討B(tài)獲取

通過(guò)v-bind動(dòng)態(tài)綁定樣式:
//樣式-----------------------------------------
<style>
.basic{
border: 5px solid rgb(77, 191, 252); //邊框
width: 400px; //寬
height: 100px; //高
}
.style1{
border: 5px solid rgb(75, 139, 235); //邊框
background-color: rgb(20, 117, 122); //背景顏色
color: bisque; //字體顏色
}
.style2{
border: 5px solid rgb(182, 219, 131); //邊框
background-color: rgb(222, 171, 203); //背景
color: rgb(16, 23, 29); //字體
border-radius: 10px; //圓角
}
.change1{
background: -webkit-linear-gradient(left,rgb(182, 219, 131),rgb(241, 137, 201)); //漸變背景
}
.change2{
font-size: larger; //大號(hào)字體
border-radius: 30px; //圓角
}
</style><div id="gjs">
<h1>字符串方法</h1>
<div class="basic" :class="style">
{{name}} <br>
<button @click="changeStyle">改變樣式</button>
</div>
<hr>
<h1>對(duì)象方法</h1>
<div class="basic" :class="styleObj">
{{name}}
<br>
<button @click="changeStyle1">改變樣式</button>
</div>
<hr>
<h1>數(shù)組方法</h1>
<div class="basic" :class="styleArr">
{{name}}
<br>
<button @click="changeStyle2">減少樣式</button>
<button @click="changeStyle3">增加樣式</button>
</div>
<h1>style方法1</h1>
<div class="basic" :style="{fontSize : fsize+'px'}">
{{name}}
</div>
<h1>style方法2</h1>
<div class="basic" :style="fontSize">
{{name}}
</div>
</div><body>
//v-bind簡(jiǎn)寫(xiě) : 將樣式style1綁定到div :class="style"-------------------------------------------
<div id="gjs" class="basic" :class="style">{{name}}</div>
<script>
const vm = new Vue({
el: '#gjs',
data:{
name: '搞技術(shù)',
//定義類(lèi)名-可以通過(guò)綁定事件更改為其他類(lèi)名更改樣式-----------------------------------
style: 'style1',
},
})
</script>
</body>
也可以添加按鈕綁定點(diǎn)擊事件改變參數(shù),點(diǎn)擊按鈕將style的參數(shù)變?yōu)閟tyle2,通過(guò)添加判斷實(shí)現(xiàn)來(lái)回改變樣式

const vm = new Vue({
el: '#gjs',
data:{
name: '搞技術(shù)',
style: '',
},
methods: {
changeStyle(){
if (this.style == 'style2') {
this.style = 'style1'
} else {
this.style = 'style2'
}
}}對(duì)象寫(xiě)法:要綁定多個(gè)樣式,個(gè)數(shù)確定,名字確定,但不確定用不用。


通過(guò)點(diǎn)擊按鈕或者控制臺(tái)修改對(duì)象屬性的值來(lái)控制樣式的變化
<script>
const vm = new Vue({
el: '#gjs',
data:{
name: '搞技術(shù)',
styleObj:{
change1:false,
change2:false,
}
},
methods: {
changeStyle1(){
if (this.styleObj.change1 == true) {
this.styleObj.change1 = false
this.styleObj.change2 = false
} else {
this.styleObj.change1 = true
this.styleObj.change2 = true
}
}
})
</script>數(shù)組寫(xiě)法:要綁定多個(gè)樣式,個(gè)數(shù)不確定,名字不確定。

<script>
const vm = new Vue({
el: '#gjs',
data:{
name: '搞技術(shù)',
styleArr:['change1','change2'],
},
methods: {
changeStyle2(){
this.styleArr.shift()
},
changeStyle3(){
this.styleArr.unshift('change1')
}
}
})
</script>通過(guò)綁定事件對(duì)數(shù)組中的值進(jìn)行修改,點(diǎn)擊減少則移除數(shù)組中的值,點(diǎn)擊添加則給數(shù)組中添加值來(lái)控制樣式的變化

所以背景顏色消失

style方法 (鍵值要用小駝峰命名法)
//
<h1>style方法1</h1>
<div class="basic" :style="{fontSize : fsize+'px'}"> //這里的fontSize小駝峰
{{name}}
</div>
<h1>style方法2</h1>
<div class="basic" :style="fontSize">
{{name}}
</div> <script>
const vm = new Vue({
el: '#gjs',
data:{
name: '搞技術(shù)',
fsize:40, //方法1
fontSize:{
fontSize:'40px',
}, //方法2這里的fontSize小駝峰
}
})
</script>
到此這篇關(guān)于vue 動(dòng)態(tài)樣式綁定 class/style的寫(xiě)法小結(jié)的文章就介紹到這了,更多相關(guān)vue 動(dòng)態(tài)樣式綁定 class和style內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
vuex實(shí)現(xiàn)購(gòu)物車(chē)的增加減少移除
這篇文章主要為大家詳細(xì)介紹了vuex實(shí)現(xiàn)購(gòu)物車(chē)的增加減少移除,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2020-06-06
VUE v-for循環(huán)中每個(gè)item節(jié)點(diǎn)動(dòng)態(tài)綁定不同函數(shù)的實(shí)例
今天小編就為大家分享一篇VUE v-for循環(huán)中每個(gè)item節(jié)點(diǎn)動(dòng)態(tài)綁定不同函數(shù)的實(shí)例,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧2018-09-09
vue單頁(yè)面應(yīng)用打開(kāi)新窗口顯示跳轉(zhuǎn)頁(yè)面的實(shí)例
今天小編就為大家分享一篇vue單頁(yè)面應(yīng)用打開(kāi)新窗口顯示跳轉(zhuǎn)頁(yè)面的實(shí)例,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧2018-09-09
vue 實(shí)現(xiàn)滾動(dòng)到底部翻頁(yè)效果(pc端)
這篇文章主要介紹了pc端vue 滾動(dòng)到底部翻頁(yè)效果,本文通過(guò)實(shí)例代碼給大家介紹的非常詳細(xì),具有一定的參考借鑒價(jià)值 ,需要的朋友可以參考下2019-07-07
vue結(jié)合el-table實(shí)現(xiàn)表格行拖拽排序(基于sortablejs)
這篇文章主要介紹了vue結(jié)合el-table實(shí)現(xiàn)表格行拖拽排序(基于sortablejs),本文通過(guò)實(shí)例代碼給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2024-01-01
淺談針對(duì)Vue相同路由不同參數(shù)的刷新問(wèn)題
這篇文章主要介紹了淺談針對(duì)Vue相同路由不同參數(shù)的刷新問(wèn)題,小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過(guò)來(lái)看看吧2018-09-09
Vue使用pdf-lib實(shí)現(xiàn)為文件流添加水印并預(yù)覽
這篇文章主要為大家詳細(xì)介紹了Vue如何使用pdf-lib實(shí)現(xiàn)為文件流添加水印并預(yù)覽的功能,文中的示例代碼講解詳細(xì),感興趣的小伙伴可以跟隨小編一起了解一下2023-03-03

