首页 > 其他分享 >给多种状态的盒子赋予不同样式

给多种状态的盒子赋予不同样式

时间:2023-06-14 18:24:22浏览次数:32  
标签:盒子 name 样式 赋予 yellow color background child id

开发时经常会遇到这样的样式需求:【根据返回的字段控制当前盒子使用不同的样式】

一般来说,字段内容都为两种:true/false,或0/1,或两个不同的字符串,这种情况下可以使用【动态class+三元表达式】的方法解决。

但偶然也会出现多个的情况,此时三元表达式就显得不够用了,要么会判断很多层变得冗长,要么彻底不适用,所以遇到这种情况应该如何解决呢?

——其实很简单,只需要借助模板字符串就可以解决了。

 

举个例子:

当前盒子共有四种状态,延期为红色,完成为绿色,未开始为灰色,进行中为黄色。

<div :class="`${item.color}`"v-for="(item, index) in list[i].child" :key="index" @click="showLog(item, i)">
  <p class="ppp">
    {{ item.name }}
  </p>
</div>
list: [
  { 'id': 1, child: [{ name: '111', color: 'green' }] },
  { 'id': 2, child: [{ name: '221', color: 'red' }] },
  { 'id': 3, child: [{ name: '331', color: 'green'}, { name: '332', color: 'red' }] },
  { 'id': 4, child: [{ name: '441, color: 'yellow' }, { name: '442', color: 'yellow' }] },
  { 'id': 5, child: [{ name: '551', color: 'gray' }] },
  { 'id': 6, child: [{ name: '661', color: 'gray' }] },
]
.gray,
.green,
.red,
.yellow
 {
  padding: 8px;
  margin: 5px 0;
  height: 70px;
  color: #fff;
  font-size: 12px;
  border-radius: 5px;
}

.gray {
  background-color: rgb(177, 175, 175);
}

.green {
  background-color: rgb(78, 201, 91);
}

.red {
  background-color: rgba(214, 54, 54, 0.958);
}

.yellow {
  background-color: rgba(253, 253, 93);
}

(图与代码并不对应,懒得写样例了,意思一下)

 

标签:盒子,name,样式,赋予,yellow,color,background,child,id
From: https://www.cnblogs.com/emmamayday/p/17481041.html

相关文章

  • vue+css: 引用的组件快速改变滚动条样式
    在a组件页面内有b组件,b组件产生的滚动条太丑不好看但是又不想改变b组件(b组件公共用的地方很多)又不想专门复制份在此基础上改。只要在使用的组件上增加css代码即可同时让组件内滚动条生效,原理是因为此滚动条相当于未定义类的当前组件全局。所以可以直接使用并生效comp.vue<styl......
  • html 中拦截 js 的样式更改
    比如拦截html标签的font-size样式的更改:...<body><script>varobserver=newMutationObserver(function(mutations){mutations.forEach(function(mutation){if(mutation.type==='attributes'&&mutation.attribu......
  • ElementUIplus --- el-menu 菜单折叠的情况下 二级菜单选中 一级菜单lcon 高亮 样式设
    submenu部分代码示例<template><templatev-for="(item,index)inprops.children":key="index"><el-sub-menuv-if="!item.meta.hidden&&item.children":index="item.name"><templat......
  • CSS(精灵图、字体图标、三角、用户界面样式、vertical-align、溢出省略号、常用布局技
    一.精灵图(重点)1.1为什么需要精灵图一个网页中往往会应用很多小的背景图像作为修饰,当网页中的图像过多时,服务器就会频繁地接收和发送请求图片,造成服务器请求压力过大,这将大大降低页面的加载速度。为什么使用精灵图(目的):·为了有效地减少服务器接收和发送请求的次数,提高......
  • WPF 入门笔记 - 03 - 样式基础
    ......
  • 滚动条样式
    ::-webkit-scrollbar{width:6px;background-color:rgba(255,255,255,0.5);}::-webkit-scrollbar-track{-webkit-box-shadow:inset006pxrgb(000/30%);background-color:rgba(255,255,255,0.5);}::-webkit-scrollbar-thumb{ba......
  • 滚动条样式
    <divclass="sss">较长时间的测试得出较长时间的测试得出较长时间的测试得出较长时间的测试得出较长时间的测试得出较长时间的测试得出较长时间的测试得出较长时间的测试得出较长时间的测试得出较长时间的测试得出较长时间的测试得出较长时间的测试得出较长时间的测试得出较......
  • 小程序模板语法样式与页面配置
    文章和代码已经归档至【Github仓库:<https://github.com/timerring/front-end-tutorial>】或者公众号【AIShareLab】回复小程序也可获取。小程序模板与配置WXML模板语法数据绑定在data中定义数据,在WXML中使用数据。使用Mustache{{}}语法:绑定内容绑定属性运算(三元运算、算术......
  • 重新设置a-table空状态样式
    <a-config-provider><template#renderEmpty><imgsrc="../../../assets/images/no-data.png"alt=""width="120px"height="120px"/>......
  • Webpack 插件实现 CSS 样式尺寸单位转换
    Webpack插件实现CSS样式尺寸单位转换实现方式一插件代码以下是编写的一个Webpack插件,用于将样式文件中以rpx为单位的值转换为以px为单位的值(换算比率为1px=2rpx):constpluginName="CssSzieConvertPlugin";classCssSzieConvertPlugin{apply(compiler){......