在vue中使用樣式的方法


一、vue屬性綁定

在vue中,是通過v-bind 屬性綁定來實現給元素綁定style樣式。

其中有兩種方式,一種是通過綁定class類綁定樣式,另一種是通過內聯樣式來實現樣式的綁定。

二、綁定class樣式

1. 數組
<h1 :class="['red', 'thin']">這是一個邪惡的H1</h1>

2. 數組中使用三元表達式
<h1 :class="['red', 'thin', isactive?'active':'']">這是一個邪惡的H1</h1>

3. 數組中嵌套對象
<h1 :class="['red', 'thin', {'active': isactive}]">這是一個邪惡的H1</h1> 4. 直接使用對象 <h1 :class="{red:true, italic:true, active:true, thin:true}">這是一個邪惡的H1</h1>
<style>
     .red {
      color: red;
    }

    .thin {
      font-weight: 200;
    }

    .italic {   /*字體傾斜*/
      font-style: italic;
    }

    .active {       /*字符間距*/
      letter-spacing: 0.5em;
    }
</style>
<body>
    <div id='app'>
        <!-- v-bind:等同於: -->
        <!-- 第一種使用方式,直接傳遞一個數組,注意: 這里的 class 需要使用  v-bind 做數據綁定 --> 
        <h3 v-bind:class=['red','thin']>今天永遠比昨天更好</h3>
        <!-- 在數組中使用三元表達式 -->
        <h3 v-bind:class=['red','thin',flag?'active':'']>今天永遠比昨天更好</h3>
        <!-- 在數組中使用 對象(即鍵值對的方式)來代替三元表達式,提高代碼的可讀性 -->
        <h3 v-bind:class=['red','thin',{'active':flag}]>今天永遠比昨天更好</h3>
        <!-- 在為 class 使用 v-bind 綁定 對象的時候,對象的屬性是類名,由於 對象的屬性可帶引號,也可不帶引號,所以 這里我沒寫引號;  屬性的值 是一個標識符 -->
        <h3 :class="classObj">今天永遠比昨天更好</h1>
    </div>
    
</body>
<script src="vue-2.4.0.js"></script>
<script>
    var vm = new Vue({
        el:'#app',
        data:{
            flag:true,
            classObj:{
                red: true, thin: true, italic: false, active: false 
            }
        }
    })
</script>
</html>

三、綁定內聯樣式

1. 直接在元素上通過 `:style` 的形式,書寫樣式對象
<h1 :style="{color: 'red', 'font-size': '40px'}">這是一個善良的H1</h1>

2. 將樣式對象,定義到 `data` 中,並直接引用到 `:style` 中
 + 在data上定義樣式:
data: {
        h1StyleObj: { color: 'red', 'font-size': '40px', 'font-weight': '200' }
}
 + 在元素中,通過屬性綁定的形式,將樣式對象應用到元素中:

<h1 :style="h1StyleObj">這是一個善良的H1</h1>

3. 在 `:style` 中通過數組,引用多個 `data` 上的樣式對象
 + 在data上定義樣式:
data: {
        h1StyleObj: { color: 'red', 'font-size': '40px', 'font-weight': '200' },
        h1StyleObj2: { fontStyle: 'italic' }
}
 + 在元素中,通過屬性綁定的形式,將樣式對象應用到元素中:
```
<h1 :style="[h1StyleObj, h1StyleObj2]">這是一個善良的H1</h1>

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM