前军教程网

中小站长与DIV+CSS网页布局开发技术人员的首选CSS学习平台

Vue3-笔记三(类和样式绑定)(vue 样式)

基本写法:

动态class :class="{类名: true/false,类名: true/false,...}" true生效, false无效

:class="[ 类名1,类名2, ...]" :class=[ 三元表达式 ]

动态style :style="{属性名:值}" :style="[ 样式一,样式二,...]"

class写法

<!-- <div :class="{active: true}"> -->
    <div class="static"  :class="{active: idActive , 'text-danger': hasError}">
      内容
    </div>
const idActive = ref(true)
const hasError = ref(false)
.active {
  color: red;
}

渲染结果:内容

<div class="static active">内容</div>

==============

<div :class="[activeClass, errorClass]"></div>

const activeClass = ref('active')
const errorClass = ref('text-danger')

渲染:

<div class="active text-danger"></div>

=========

<div :class="[isActive ? activeClass : '', errorClass]"></div>

=======

在组件中使用:这里需要注意父组件中的样式

<!-- 子组件模板   -->  ********  单根节点时   
<p class="foo bar">Hi!</p>
<!-- 在使用组件时(父组件) -->  ****baz boo的样式会影响到子组件样式
<MyComponent class="baz boo" />

渲染:

<p class="foo bar baz boo">Hi!</p>

==========

<!-- MyComponent 模板使用 $attrs 时 ,这里不做过多说明 -->
<p :class="$attrs.class">Hi!</p>
<span>This is a child component</span>
<MyComponent class="baz" />

渲染:

<p class="baz">Hi!</p>
<span>This is a child component</span>

=========

style写法:

<div :style="{ color: activeColor, fontSize: fontSize + 'px' }"></div>

const activeColor = ref('red')
const fontSize = ref(30)

============

<div :style="styleObject"></div>  //推荐写法,这样模板更简洁
const styleObject = reactive({
  color: 'red',
  fontSize: '13px'
})

渲染结果

<div style="color:red ; fontSize: 30px; "></div>

也可以绑定为数组

<div :style="[proStyles, devStyles]"></div>

发表评论:

控制面板
您好,欢迎到访网站!
  查看权限
网站分类
最新留言