- 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 使用指南
Materialize CSS 框架中 Collections 的使用详解
class CollectionsCollections(集合) 是一种用于展示一组相关内容的 UI 组件,通常以列表的形式呈现。Materialize CSS 框架中的 Collection 组件为开发者提供了一个简单而灵活的方式来显示信息列表,比如导航菜单、联系人列表或其他类别的条目。
本文将详细介绍如何在 Materialize CSS 框架中使用 Collection,包括基本用法、样式定制以及实际应用示例。
1. 基本 Collection 使用
Materialize 的 Collection 组件通过 .collection
类来定义,单个集合项则通过 .collection-item
类来实现。你可以将列表项用作导航链接或显示文本。
示例:基本 Collection
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Materialize Collection 示例</title>
<link href="https://cdnjs.cloudflare.com/ajax/libs/materialize/1.0.0/css/materialize.min.css" rel="stylesheet">
</head>
<body>
<div class="container">
<h4>基本集合</h4>
<ul class="collection">
<li class="collection-item"><a href="#!">集合项 1</a></li>
<li class="collection-item"><a href="#!">集合项 2</a></li>
<li class="collection-item"><a href="#!">集合项 3</a></li>
</ul>
</div>
<script src="https://cdnjs.cloudflare.com/ajax/libs/materialize/1.0.0/js/materialize.min.js"></script>
</body>
</html>
解释:
- 使用
.collection
类定义集合的容器。 - 每个集合项使用
.collection-item
类来定义。
2. 添加图像和其他元素
你可以在 Collection 中添加图像、图标或其他元素,以增强视觉效果和提供更多信息。
示例:带有图像和按钮的 Collection
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>带有图像和按钮的集合示例</title>
<link href="https://cdnjs.cloudflare.com/ajax/libs/materialize/1.0.0/css/materialize.min.css" rel="stylesheet">
</head>
<body>
<div class="container">
<h4>带有图像和按钮的集合</h4>
<ul class="collection">
<li class="collection-item avatar">
<img src="https://via.placeholder.com/150" alt="示例图像" class="circle">
<span class="title">集合项 1</span>
<p>这是第一个集合项的描述。</p>
<a href="#!" class="secondary-content"><i class="material-icons">grade</i></a>
</li>
<li class="collection-item avatar">
<img src="https://via.placeholder.com/150" alt="示例图像" class="circle">
<span class="title">集合项 2</span>
<p>这是第二个集合项的描述。</p>
<a href="#!" class="secondary-content"><i class="material-icons">grade</i></a>
</li>
<li class="collection-item avatar">
<img src="https://via.placeholder.com/150" alt="示例图像" class="circle">
<span class="title">集合项 3</span>
<p>这是第三个集合项的描述。</p>
<a href="#!" class="secondary-content"><i class="material-icons">grade</i></a>
</li>
</ul>
</div>
<script src="https://cdnjs.cloudflare.com/ajax/libs/materialize/1.0.0/js/materialize.min.js"></script>
</body>
</html>
解释:
- 使用
.avatar
类将图像作为集合项的头像。 .circle
类将图像裁剪为圆形。.secondary-content
类用于右侧的图标按钮(如收藏)。
3. 分组和突出显示
Materialize 的 Collection 组件允许你将集合项分组,并使用 .collection-header
类来添加标题。
示例:分组和突出显示
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>分组和突出显示示例</title>
<link href="https://cdnjs.cloudflare.com/ajax/libs/materialize/1.0.0/css/materialize.min.css" rel="stylesheet">
</head>
<body>
<div class="container">
<h4>分组和突出显示</h4>
<ul class="collection">
<li class="collection-header"><h5>组标题 1</h5></li>
<li class="collection-item active">突出显示项 1</li>
<li class="collection-item">普通项 1</li>
<li class="collection-item">普通项 2</li>
<li class="collection-header"><h5>组标题 2</h5></li>
<li class="collection-item">普通项 3</li>
<li class="collection-item">普通项 4</li>
</ul>
</div>
<script src="https://cdnjs.cloudflare.com/ajax/libs/materialize/1.0.0/js/materialize.min.js"></script>
</body>
</html>
解释:
.collection-header
类用于分组的标题。.active
类用于突出显示的集合项。
4. 自定义 Collection 样式
你可以使用 CSS 自定义 Collection 的外观,以满足你的设计需求。
示例:自定义 Collection 样式
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>自定义样式的集合示例</title>
<link href="https://cdnjs.cloudflare.com/ajax/libs/materialize/1.0.0/css/materialize.min.css" rel="stylesheet">
<style>
.collection {
background-color: #f0f0f0; /* 自定义背景颜色 */
}
.collection-item {
border-bottom: 1px solid #ddd; /* 自定义底部边框 */
}
.collection-item.active {
background-color: #d1e0e0; /* 自定义突出显示背景颜色 */
}
.collection-item .title {
font-weight: bold; /* 自定义标题字体粗细 */
}
</style>
</head>
<body>
<div class="container">
<h4>自定义样式的集合</h4>
<ul class="collection">
<li class="collection-item active">
<span class="title">自定义项 1</span>
<p>这是自定义样式的第一个集合项。</p>
</li>
<li class="collection-item">
<span class="title">自定义项 2</span>
<p>这是自定义样式的第二个集合项。</p>
</li>
<li class="collection-item">
<span class="title">自定义项 3</span>
<p>这是自定义样式的第三个集合项。</p>
</li>
</ul>
</div>
<script src="https://cdnjs.cloudflare.com/ajax/libs/materialize/1.0.0/js/materialize.min.js"></script>
</body>
</html>
解释:
- 自定义了集合的背景颜色、边框以及突出显示的样式。
- 通过 CSS 规则调整集合项的外观。
5. 使用 Collection 和其他组件结合
你可以将 Collection 组件与其他 Materialize 组件结合使用,例如侧边栏导航、卡片或表单。
示例:与侧边栏结合使用
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>与侧边栏结合使用的集合示例</title>
<link href="https://cdnjs.cloudflare.com/ajax/libs/materialize/1.0.0/css/materialize.min.css" rel="stylesheet">
</head>
<body>
<ul id="slide-out" class="sidenav">
<li><a href="#!" class="brand-logo">Logo</a></li>
<li><div class="divider"></div></li>
<li><a href="#!" class="collection-item">侧边栏项 1</a></li>
<li><a href="#!" class="collection-item">侧边栏项 2</a></li>
<li><a href="#!" class="collection-item">侧边栏项 3</a></li
>
</ul>
<a href="#" data-target="slide-out" class="sidenav-trigger"><i class="material-icons">menu</i></a>
<div class="container">
<h4>主内容区域</h4>
<p>这里是页面的主要内容区域。</p>
</div>
<script src="https://cdnjs.cloudflare.com/ajax/libs/materialize/1.0.0/js/materialize.min.js"></script>
<script>
document.addEventListener('DOMContentLoaded', function() {
var elems = document.querySelectorAll('.sidenav');
var instances = M.Sidenav.init(elems);
});
</script>
</body>
</html>
解释:
- 使用 Materialize 的侧边栏组件和 Collection 结合创建导航菜单。
- 侧边栏通过
.sidenav
类定义,使用 JavaScript 初始化。
结论
Materialize CSS 框架中的 Collection 组件提供了一种灵活而简洁的方式来展示信息列表。从基本的集合到带有图像和按钮的复杂布局,以及自定义样式和与其他组件的结合,Materialize 使得创建和管理列表变得非常方便。你可以根据实际需求调整样式和布局,以创建符合用户需求的界面。
chat评论区
评论列表
{{ item.user.nickname || item.user.username }}