Foundation 进度条(Progress Bar)

一、进度条概述

进度条用于展示程序处理进度、任务完成度或加载状态。

<div> 元素中使用 .progress 类创建进度条容器,内部使用 .meter 类(通常配合 <span>)表示实际进度。通过 style="width:xx%" 控制进度百分比。


二、基础进度条

<div class="progress">
  <span class="meter" style="width:50%"></span>
</div>Code language: HTML, XML (xml)

三、进度条颜色变体

默认进度条为蓝色,可使用以下类修改颜色:

类名说明
.progress默认蓝色
.secondary灰色
.success绿色
.alert红色
<div class="progress">
    <span class="meter" style="width:50%"></span>
</div>

<div class="progress secondary">
    <span class="meter" style="width:50%"></span>
</div>

<div class="progress success">
    <span class="meter" style="width:50%"></span>
</div>

<div class="progress alert">
    <span class="meter" style="width:50%"></span>
</div>Code language: HTML, XML (xml)

四、圆角进度条

使用 .radius.round 类为进度条添加圆角效果:

<div class="progress">
    <span class="meter" style="width:50%"></span>
</div>

<div class="progress radius">
    <span class="meter" style="width:50%"></span>
</div>

<div class="progress round">
    <span class="meter" style="width:50%"></span>
</div>Code language: HTML, XML (xml)

五、进度条宽度控制

使用 .small-num.large-num 类修改进度条的宽度(基于 12 列栅格),num 取值范围为 1–12:

  • 1 ≈ 8.33%
  • 12 = 100%(默认)
<div class="progress large-1">
    <span class="meter" style="width:50%"></span>
</div>

<div class="progress large-6">
    <span class="meter" style="width:50%"></span>
</div>

<div class="progress large-9">
    <span class="meter" style="width:50%"></span>
</div>

<div class="progress large-11">
    <span class="meter" style="width:50%"></span>
</div>

<!-- Default width -->
<div class="progress large-12">
    <span class="meter" style="width:50%"></span>
</div>Code language: HTML, XML (xml)

六、带百分比标签的进度条

通过 CSS 定位,可以在进度条内部显示百分比文字:

<style>
    .percentage {
        position: absolute;
        top: 50%;
        left: 50%;
        color: white;
        transform: translate(-50%, -50%);
        font-size: 12px;
    }
</style>

<div class="progress">
    <span class="meter" style="position:relative;width:75%">
        <span class="percentage">75%</span>
    </span>
</div>

<div class="progress success">
    <span class="meter" style="position:relative;width:50%">
        <span class="percentage">50%</span>
    </span>
</div>

<div class="progress alert">
    <span class="meter" style="position:relative;width:25%">
        <span class="percentage">25%</span>
    </span>
</div>Code language: HTML, XML (xml)

七、完整可运行示例

<!DOCTYPE html>
<html>
<head>
    <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
    <title>Foundation 进度条示例</title>
    <meta charset="utf-8" />
    <meta name="viewport" content="width=device-width, initial-scale=1">
    <link href="foundation-5.5.3/css/foundation.css" rel="stylesheet" />
    <script src="foundation-5.5.3/js/vendor/jquery.js"></script>
    <script src="foundation-5.5.3/js/foundation.min.js"></script>
    <script src="foundation-5.5.3/js/vendor/modernizr.js"></script>
    <script>
        $(document).ready(function () {
            $(document).foundation();
        })
    </script>
    <style>
        .progress {
            margin-bottom: 15px;
        }
        .percentage {
            position: absolute;
            top: 50%;
            left: 50%;
            color: white;
            transform: translate(-50%, -50%);
            font-size: 12px;
        }
    </style>
</head>
<body>

<div class="row">
    <div class="medium-12 columns">

        <h3>基础进度条</h3>
        <div class="progress">
            <span class="meter" style="width:50%"></span>
        </div>

        <h3>颜色变体</h3>
        <div class="progress">
            <span class="meter" style="width:50%"></span>
        </div>
        <div class="progress secondary">
            <span class="meter" style="width:50%"></span>
        </div>
        <div class="progress success">
            <span class="meter" style="width:50%"></span>
        </div>
        <div class="progress alert">
            <span class="meter" style="width:50%"></span>
        </div>

        <hr />

        <h3>圆角进度条</h3>
        <div class="progress">
            <span class="meter" style="width:50%"></span>
        </div>
        <div class="progress radius">
            <span class="meter" style="width:50%"></span>
        </div>
        <div class="progress round">
            <span class="meter" style="width:50%"></span>
        </div>

        <hr />

        <h3>宽度控制</h3>
        <div class="progress large-1">
            <span class="meter" style="width:50%"></span>
        </div>
        <div class="progress large-6">
            <span class="meter" style="width:50%"></span>
        </div>
        <div class="progress large-9">
            <span class="meter" style="width:50%"></span>
        </div>
        <div class="progress large-11">
            <span class="meter" style="width:50%"></span>
        </div>
        <div class="progress large-12">
            <span class="meter" style="width:50%"></span>
        </div>

        <hr />

        <h3>带百分比标签</h3>
        <div class="progress">
            <span class="meter" style="position:relative;width:75%">
                <span class="percentage">75%</span>
            </span>
        </div>
        <div class="progress success">
            <span class="meter" style="position:relative;width:50%">
                <span class="percentage">50%</span>
            </span>
        </div>
        <div class="progress alert">
            <span class="meter" style="position:relative;width:25%">
                <span class="percentage">25%</span>
            </span>
        </div>

    </div>
</div>

</body>
</html>Code language: HTML, XML (xml)

八、使用要点小结

功能实现方式
创建进度条.progress 容器 + .meter 子元素
设置进度style="width:xx%" 写在 .meter
颜色变体.secondary .success .alert
圆角.radius .round
宽度控制.large-1.large-12(基于栅格)
百分比文字.meter 内添加绝对定位的 <span>

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注