如何在css中使用js的变量呢?

在开发中我们经常需要根据数据的个数或其他数据来设置元素的宽度或者其他属性。
js提供了这样的方法可以实现。
document.getElementById(id).style.property = new style
使用原生js操作dom的方法来改变样式。
但在vue开发中有更简单的实现方案,并且可动态获取数据,并调整样式。

<view class="h-tab-select">
		<view class="tab-content" >
			<template v-for="(item,index) in list">
				<view class="tab-item" :class="{active:hIndex==index}" :key="index" @tap="tapTab(index)">
					<text class="tab-item-text">{{item.name}}</text>
					<text class="tab-item-text number" v-if="showNumber">({{item.number}})</text>
				</view>
			</template>
		</view>
	</view>

如上,是一个tab组件的封装,在不确定tab个数的情况下,如何动态设置每个tab的宽度呢?
我们可以在标签.tab-content上添加:style="{’–listlength’:list.length}" 将tab数量传入css变量里。然后再css中直接使用该变量。

.tab-item{
	width: calc(100% / var(--listlength));
	text-align: center;
	padding:20upx 0;
}
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值