数据项展示区域-css拆解
1.使用flex属性完成4等分布局
<div class="father-box">
<div class="child-box">1</div>
<div class="child-box">2</div>
<div class="child-box">3</div>
<div class="child-box">4</div>
</div>
// 父元素设置flex属性
.father-box{
display: flex;
align-items: center;
}
// 子元素
.child-box{
width:0px;
flex: 1 0 auto;
}
在CSS中,
flex: 1 0 auto;是一个简写属性,用于设置flex项目的flex-grow、flex-shrink和flex-basis属性。这个简写属性让你可以在一个声明中同时设置这三个值,从而更简洁地控制flex项目的尺寸和伸缩性。
flex: 1 0 auto; 的含义是:flex项目将尝试等比例放大以填充可用空间(如果有的话),但不会缩小以适应更小的容器空间,其基准尺寸将基于其自身的宽度和高度属性。这种设置常用于需要项目在容器空间充足时能够扩展,但在空间不足时保持其原始尺寸的场景
2.用关键帧动画来改变元素属性
这里以改变元素宽高来讲
// 定义关键帧动画
@keyframes iconSize {
0% {width: 100%; height:100%;}
50% {width: 95%; height:92%;}
100% {width: 100%; height:100%;}
}
// 绑定动画
.el{
width:100%;
height:100%;
animation:iconSize 2s linear infinite;
}
animation: iconSize 2s linear infinite; 这行CSS代码是一个简写属性,用于在一个声明中同时设置多个动画相关的属性。具体来说,它对应于以下单独声明的组合:
animation-name: iconSize;:指定要应用的动画名称,这里是iconSize。animation-duration: 2s;:设置动画的持续时间,这里是2秒。animation-timing-function: linear;:定义动画的速度曲线,linear表示动画从头到尾的速度都是相同的,即匀速动画。animation-iteration-count: infinite;:设置动画的重复次数,infinite表示动画将无限次重复。
数据底座区域-css拆解
1.图层拆解
我们可以先用css绘制一个长方形,然后通过 旋转角度来达到底座的显示效果
2.旋转注意事项
图层旋转的角度可以通过
transform: rotateX(30deg);来设置。旋转且要体现透视效果,这需要注意,在改图层父元素上添加透视属性
perspective
在CSS中。perspective属性用于在3D空间中为元素设置透视效果。它定义了用户与z=0平面的距离,从而影响元素的大小和位置随着其z值变化的视觉表现。透视距离越小,透视效果越强烈,元素看起来会越小且距离感更强
// 父元素设置flex属性
.father-box{
perspective:150; //
-webkit-perspective:150; /* Safari and Chrome */
}
// 子元素
.child-box{
width: 400px;
height: 40px;
background:linear-gradient(to bottom, rgba(#0d2857,0.8),rgba(#0d2857,1));
border-radius: 4px;
border:1px solid #0b4f81;
transform: rotateX(30deg);
}
在线查看完整效果
码上掘金在线地址:
代码存在不完善的地方,有些适配性不足等缺点,大家见笑了! 此案例可以用在深色大屏中做统计指标数量展示使用。