图片式进度条实现原理

本文介绍了图片式进度条的功能和视觉原理,通过两张图片(建议使用SVG)重叠,利用前端技术实现高度占比效果。前端实现中,进度条由一对父子div组成,通过CSS背景图片和`background-size: cover`确保图片自适应。最后提供了完整CSS代码并给出了相关Tip,如设置固定高度和`background-size: contain`以确保适配。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

功能描述

图片式进度条。输入一个百分比数值,根据输入值显示高度占比。

视觉原理

从UI实现的角度,是两张图片(最好是svg)重叠,向底端对齐。底层是灰色图片,保持固定高度;上层是蓝色图片,宽度与底层一致,高度根据输入值修改。这样可以在视觉上体现高度占比的效果。

前端实现原理

从前端实现的角度,这个组件可以理解为一个底端对齐的进度条,进度条样式由图片决定。

进度条功能由一对父子div实现。底层灰色图片作为父div的背景,上层蓝色图片作为子div的背景。如下css设置子div相对父div底端对齐。

.father{
     position: relative;

    .child{
        position: absolution;
        bottom: 0;
    }   
}

还需要设置子div的 background-size:cover,这样能保证上层图片从底端开始显示高度,并且图片大小不变,不会压缩在高度中。

css部分实现后,子div的高度通过JS的DOM操作传入。

完整css代码

.fatherGraphic{
            position: relative;
            height: 1.5rem;
            background-size: contain;
            background-repeat: no-repeat;
            background-position: bottom;
            
            .childGraphic{
                position: absolute;
                bottom: 0;
                max-height: 100%;
                width: 100%;
                background-size: cover;
                background-repeat: no-repeat;
                background-position: bottom;
            }
}

一些Tip

  • 底层图片需设置固定高度,上层图片最好设置max-height。
  • 由于底层图片固定高度,考虑到不同设备的适配问题,应设置background-siza:contain。即高度固定宽度自适应,确保底层小人的脑袋不会被‘削去一块’。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值