- Materialize轮播图的实现
- 掌握 Materialize CSS:创建响应式网页设计
- 使用 Materialize CSS 框架中的颜色:详解与示例
- 使用 Materialize CSS 框架中的网格系统:详解与示例
- Materialize CSS 框架中的 Helpers(辅助类) 使用指南
- 使用 Materialize CSS 框架中的 Media 类:详解与示例
- Materialize CSS 中 Sass 的使用:详细指南与示例
- Materialize CSS 框架中 Shadow(阴影)的使用详解与示例
- Materialize CSS 框架中 Table 的使用详解与示例
- Materialize CSS 框架中 CSS Transitions 的使用详解
- Materialize CSS 框架中的 Typography 使用详解
- Materialize CSS 框架中 Badges 的使用详解
- Materialize CSS 框架中 Buttons 的使用详解
- Materialize CSS 框架中 Breadcrumbs 的使用详解
- Materialize CSS 框架中 Cards 的使用详解
- Materialize CSS 框架中 Collections 的使用详解
- Materialize CSS 框架中 Floating Action Button 的使用详解
- Materialize CSS 框架中 Footer 的使用详解
- Materialize CSS 框架中 Icons 的使用详解
- Materialize CSS 框架中 Navbar 的使用详解
- Materialize CSS 框架中 Pagination 的使用详解
- Preloader(预加载组件)
- Materialize CSS 框架中的 Carousel 使用指南
- Materialize CSS 框架中的 Collapsible 使用指南
- Materialize CSS 框架中的 Dropdown 使用指南
- Materialize CSS 框架中的 Feature Discovery 使用指南
- Materialize CSS 框架中的 Media 使用指南
- Materialize CSS 框架中的 Javascript Media 使用指南
- Materialize CSS 框架中的 Materialboxed 使用指南
- Materialize CSS 框架中的 Slider 和 Fullscreen Slider 使用指南
- Materialize CSS 框架中的 Modals 使用指南
- Materialize CSS 框架中的 Parallax 使用指南
- Materialize CSS 框架中的 Pushpin 使用指南
- Materialize CSS 框架中的 Scrollspy 使用指南
- Materialize CSS 框架中的 Sidenav 使用指南
- Materialize CSS 框架中的 Tabs 使用指南
- Materialize CSS 框架中的 Toasts 使用指南
- 使用 Materialize CSS 框架中的 Tooltips
- 使用 Materialize CSS 框架中的 Waves 效果
- 使用 Materialize CSS 框架中的 Form Autocomplete
- 使用 Materialize CSS 框架中的 Form Checkboxes
- 使用 Materialize CSS 框架中的 Form Chips
- 使用 Materialize CSS 框架中的 Form Pickers
- 使用 Materialize CSS 框架中的 Form Radio Buttons
- Materialize CSS 框架中的 Form Range 组件使用指南
- Materialize CSS 框架中的 Form Select 组件使用指南
- Materialize CSS 框架中 Form Switches 的使用指南
- Materialize CSS 框架中 Form Text Inputs 的使用指南
- Materialize CSS 框架中的 Auto Init 使用指南
Preloader(预加载组件)
class Preloader在 Materialize CSS 框架中,Preloader 是一个用于显示加载状态的组件,通常用于指示数据加载或操作的进行。Materialize 提供了多种样式的 Preloader,包括圆形进度条和条形进度条。接下来,我将详细说明如何使用 Preloader,并提供相应的示例代码。
1. 基础的圆形 Preloader
Materialize 提供了多种形式的圆形加载动画,默认样式下圆形加载器使用 CSS 动画旋转,适合在需要展示加载状态时使用。
示例代码
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Materialize CSS - Preloader 示例</title>
<link href="https://cdnjs.cloudflare.com/ajax/libs/materialize/1.0.0/css/materialize.min.css" rel="stylesheet">
</head>
<body>
<!-- 标题 -->
<div class="container">
<h3>Materialize CSS Preloader 示例</h3>
<!-- 预加载器 -->
<div class="preloader-wrapper big active">
<div class="spinner-layer spinner-blue">
<div class="circle-clipper left">
<div class="circle"></div>
</div><div class="gap-patch">
<div class="circle"></div>
</div><div class="circle-clipper right">
<div class="circle"></div>
</div>
</div>
<div class="spinner-layer spinner-red">
<div class="circle-clipper left">
<div class="circle"></div>
</div><div class="gap-patch">
<div class="circle"></div>
</div><div class="circle-clipper right">
<div class="circle"></div>
</div>
</div>
<div class="spinner-layer spinner-yellow">
<div class="circle-clipper left">
<div class="circle"></div>
</div><div class="gap-patch">
<div class="circle"></div>
</div><div class="circle-clipper right">
<div class="circle"></div>
</div>
</div>
<div class="spinner-layer spinner-green">
<div class="circle-clipper left">
<div class="circle"></div>
</div><div class="gap-patch">
<div class="circle"></div>
</div><div class="circle-clipper right">
<div class="circle"></div>
</div>
</div>
</div>
</div>
<script src="https://cdnjs.cloudflare.com/ajax/libs/materialize/1.0.0/js/materialize.min.js"></script>
</body>
</html>
说明
preloader-wrapper
是包裹整个预加载器的容器类。通过添加active
类使其启用。spinner-layer
定义了不同颜色的加载动画。Materialize 提供了多种颜色预设,分别为spinner-blue
、spinner-red
、spinner-yellow
和spinner-green
。big
类指定了 Preloader 的大小。你也可以用small
来定义更小的加载器。
2. 小尺寸的 Preloader
如果你需要在更小的空间里显示加载动画,可以使用 small
类。
示例代码
<div class="preloader-wrapper small active">
<div class="spinner-layer spinner-blue">
<div class="circle-clipper left">
<div class="circle"></div>
</div><div class="gap-patch">
<div class="circle"></div>
</div><div class="circle-clipper right">
<div class="circle"></div>
</div>
</div>
</div>
说明
- 通过将
big
替换为small
,可以使 Preloader 变得更小,适合在按钮或文本框附近显示加载状态。
3. 静态的条形 Preloader
除了圆形 Preloader,Materialize 还提供了条形加载器,非常适合用于进度条。
示例代码
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Materialize CSS - 条形 Preloader 示例</title>
<link href="https://cdnjs.cloudflare.com/ajax/libs/materialize/1.0.0/css/materialize.min.css" rel="stylesheet">
</head>
<body>
<div class="container">
<h3>条形 Preloader 示例</h3>
<!-- 条形 Preloader -->
<div class="progress">
<div class="determinate" style="width: 70%;"></div>
</div>
</div>
<script src="https://cdnjs.cloudflare.com/ajax/libs/materialize/1.0.0/js/materialize.min.js"></script>
</body>
</html>
说明
progress
类是条形 Preloader 的父级容器。它不需要active
类。determinate
类表示条形进度条的当前进度,可以通过style="width: 70%;"
设置进度百分比。
4. 动态的条形 Preloader
你也可以使用不确定的条形 Preloader,适用于那些进度时间不可预知的情况。
示例代码
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Materialize CSS - 动态条形 Preloader 示例</title>
<link href="https://cdnjs.cloudflare.com/ajax/libs/materialize/1.0.0/css/materialize.min.css" rel="stylesheet">
</head>
<body>
<div class="container">
<h3>动态条形 Preloader 示例</h3>
<!-- 动态条形 Preloader -->
<div class="progress">
<div class="indeterminate"></div>
</div>
</div>
<script src="https://cdnjs.cloudflare.com/ajax/libs/materialize/1.0.0/js/materialize.min.js"></script>
</body>
</html>
说明
indeterminate
类会创建一个动态进度条,它会不停移动,表示后台有某些操作正在进行。
5. Preloader 在实际应用中的场景
在实际项目中,Preloader 通常与 JavaScript 一起使用,显示在页面加载或请求数据时。可以通过 JavaScript 控制 Preloader 的显示和隐藏。
示例场景代码
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Preloader 应用示例</title>
<link href="https://cdnjs.cloudflare.com/ajax/libs/materialize/1.0.0/css/materialize.min.css" rel="stylesheet">
<style>
.content {
display: none;
margin-top: 20px;
}
</style>
</head>
<body>
<div class="container">
<div class="preloader-wrapper big active" id="preloader">
<div class="spinner-layer spinner-blue">
<div class="circle-clipper left">
<div class="circle"></div>
</div><div class="gap-patch">
<div class="circle"></div>
</div><div class="circle-clipper right">
<div class="circle"></div>
</div>
</div>
</div>
<div class="content" id="content">
<h3>内容加载完成!</h3>
<p>这是数据加载完成后的内容。</p>
</div>
</div>
<script>
document.addEventListener('DOMContentLoaded', function() {
setTimeout(function() {
document.getElementById('preloader').style.display = 'none';
document.getElementById('content').style.display = 'block';
}, 3000); // 模拟 3 秒的加载时间
});
</script>
</body>
</html>
说明
- 使用 JavaScript 来模拟一个 3 秒的加载过程。在加载完成后,隐藏 Preloader 并显示内容。
总结
Materialize CSS 提供了易用且美观的 Preloader 组件,适用于不同的加载场景。通过简单的类和配置,可以轻松实现圆形和条形的进度指示器。此外,还可以结合 JavaScript 来控制 Preloader 的动态显示,从而为用户提供良好的加载体验。
chat评论区
评论列表
{{ item.user.nickname || item.user.username }}