• 绑定样式--class样式(字符串法、对象法、数组法)、style样式(直接绑定法、对象法、数组法)


    绑定样式

        1.class样式

              写法:class=“xxx”   xxx可以使字符串、对象、数组

                 字符串法:适用于类名不确定,要动态获取

                 对象法:适用于要绑定多个样式,个数不确定,名字不确定,但要动态决定用不用 

                 数组法: 适用于要绑定多个样式,个数确定,名字确定,但不确定用不用

       2.style样式

            :style=“{fontSize:xxx}”  其中xxx是动态值

            :style="[a,b]"  其中ab是样式对象,如下

    目录

    一、绑定class样式

     1.绑定class样式--字符串写法

     2.绑定class样式--数组写法

     3. 绑定class样式--对象写法

    4.最终代码 案例:单击div实现变换心情(sad、normal、happy)

    二、绑定style样式

            1.方法一直接绑定法

            2.方法二对象法


    一、绑定class样式

     1.绑定class样式--字符串写法

     <div class="basic" :class="mood" @click="changeMood">{{name}}div>

       单击之后,下面这个框会随意变动

     2.绑定class样式--数组写法

         适用于绑定的样式个数不确定,名字也不确定

    <div class="basic" :class="classArr">{{name}}div>

      下面这个一下次用了三个样式

     3. 绑定class样式--对象写法

    适用于绑定的样式个数确定,名字也确定,但要动态决定用不用 

    <div class="basic" :class="classObj">{{name}}div>
    1. data:{
    2. name:'尚硅谷',
    3. mood:'normal',
    4. classArr:['sad','normal','happy'],
    5. classObj:{
    6. atguigu1:false,
    7. atguigu2:false
    8. }
    9. },
    10. methods: {
    11. changeMood(){
    12. const arr=['sad','normal','happy']
    13. // 现在只有0,1,2 这三个数
    14. this.mood=arr[Math.floor(Math.random()*3)]
    15. }
    16. },
    17. })

    在右侧root中进行修改  

    4.最终代码 案例:单击div实现变换心情(sad、normal、happy)

    1. html>
    2. <html>
    3. <head>
    4. <meta charset="UTF-8">
    5. <title> 初识vuetitle>
    6. <script type="text/javascript" src="../js/vue.js">script>
    7. <style>
    8. .basic{
    9. width: 400px;
    10. height: 100px;
    11. border: 1px solid black;
    12. }
    13. .happy{
    14. border: 4px solid red;;
    15. background-color: rgba(255, 255, 0, 0.644);
    16. background: linear-gradient(30deg,yellow,pink,orange,yellow);
    17. }
    18. .sad{
    19. border: 4px dashed rgb(2, 197, 2);
    20. background-color: gray;
    21. }
    22. .normal{
    23. background-color: skyblue;
    24. }
    25. .atguigu1{
    26. background-color: yellowgreen;
    27. }
    28. .atguigu2{
    29. font-size: 30px;
    30. text-shadow:2px 2px 10px red;
    31. }
    32. .atguigu3{
    33. border-radius: 20px;
    34. }
    35. style>
    36. head>
    37. <body>
    38. <div id="root">
    39. <div class="basic" :class="mood" @click="changeMood">{{name}}div>
    40. <br>
    41. <br>
    42. <div class="basic" :class="classArr">{{name}}div>
    43. <div class="basic" :class="classObj">{{name}}div>
    44. div>
    45. body>
    46. <script type="text/javascript">
    47. //阻止vue在启动时生成生产提示
    48. Vue.config.productionTip=false
    49. new Vue({
    50. el:'#root',
    51. data:{
    52. name:'尚硅谷',
    53. mood:'normal',
    54. classArr:['sad','normal','happy'],
    55. classObj:{
    56. atguigu1:false,
    57. atguigu2:false
    58. }
    59. },
    60. methods: {
    61. changeMood(){
    62. const arr=['sad','normal','happy']
    63. // 现在只有0,1,2 这三个数
    64. this.mood=arr[Math.floor(Math.random()*3)]
    65. }
    66. },
    67. })
    68. script>
    69. html>

    二、绑定style样式

            1.方法一直接绑定法

     <div class="basic" :style="{fontSize:fsize+'px'}">{{name}}div>
    1. data:{
    2. fsize:40,
    3. name:'尚硅谷',
    4. }

            2.方法二对象法

    <div class="basic" :style="styleObj">{{name}}div>
    1. data:{
    2. styleObj:{
    3. // fontsize是css样式中真实存在的
    4. // 我们这个地方直接给一个值就好了
    5. fontSize:'40px'
    6. },
    7. name:'尚硅谷',
    8. }

  • 相关阅读:
    LeetCode每日一题:实现strStr()
    Linux系统调试篇——GDB调试入门
    图神经网络综述:模型与应用
    嵌入式开发:构建连接设备的5个技巧
    C# 12 中的新增功能
    STM32CubeMX环境安装(保姆级)
    20.项目开发之量化交易QuantTrade(二)
    Unity --- 文本输入框的使用
    EXPLIAN查询type
    Numpy学习笔记
  • 原文地址:https://blog.csdn.net/weixin_51351637/article/details/126624614