I'm Bleaz
不畏过往,不惧将来
Bleaz's Blog

Materialize 使用教程:快速构建现代化 Web 界面

Materialize 使用教程:快速构建现代化 Web 界面

Materialize 是一个基于 Google Material Design 理念的前端框架,它提供了丰富的组件和工具,帮助开发者快速构建美观、响应式的 Web 界面。无论你是前端新手还是经验丰富的开发者,Materialize 都能让你的开发过程更加高效

1. 引入 Materialize

首先,你需要在项目中引入 Materialize 的 CSS 和 JavaScript 文件。你可以通过 CDN 或者下载源码的方式引入

通过 CDN 引入:

<!-- Materialize CSS -->
<link href="https://cdnjs.admincdn.com/materialize/1.0.0/css/materialize.min.css" rel="stylesheet">

<!-- Materialize JavaScript -->
<script src="https://cdnjs.admincdn.com/materialize/1.0.0/js/materialize.min.js"></script>

<!-- jQuery (Materialize 依赖) -->
<script src="https://cdnjs.admincdn.com/jquery/3.6.0/jquery.min.js"></script>

下载源码引入:

你可以从 Materialize 官网 下载最新版本的源码,然后将 cssjs 文件夹中的文件部署到你的服务器上,例如:https://api.bleaz.top/materialize/(注:我的api不可直接调用)

<link href="css/materialize.min.css" rel="stylesheet">
<script src="js/materialize.min.js"></script>

2. 使用 Materialize 组件

Materialize 提供了丰富的组件,如按钮、卡片、导航栏、表单等。下面我们来看几个常用组件的使用方法

2.1 按钮

Materialize 提供了多种样式的按钮,你可以通过添加不同的类来改变按钮的外观

<a class="waves-effect waves-light btn">普通按钮</a>
<a class="waves-effect waves-light btn-large">大按钮</a>
<a class="waves-effect waves-light btn-flat">扁平按钮</a>
<a class="waves-effect waves-light btn disabled">禁用按钮</a>

2.2 卡片

卡片是 Materialize 中非常常用的组件,适合展示图片、文字等内容

<div class="card">
  <div class="card-image">
    <img src="image.jpg">
    <span class="card-title">卡片标题</span>
  </div>
  <div class="card-content">
    <p>这里是卡片的内容,可以放置一些描述性文字。</p>
  </div>
  <div class="card-action">
    <a href="#">链接1</a>
    <a href="#">链接2</a>
  </div>
</div>

2.3 导航栏

导航栏是网页中常见的组件,Materialize 提供了简单易用的导航栏组件

<nav>
  <div class="nav-wrapper">
    <a href="#" class="brand-logo">Logo</a>
    <ul id="nav-mobile" class="right hide-on-med-and-down">
      <li><a href="#">链接1</a></li>
      <li><a href="#">链接2</a></li>
      <li><a href="#">链接3</a></li>
    </ul>
  </div>
</nav>

2.4 表单

Materialize 的表单组件非常强大,支持多种输入类型,并且自带样式

<form>
  <div class="input-field">
    <input id="email" type="email" class="validate">
    <label for="email">邮箱</label>
  </div>
  <div class="input-field">
    <input id="password" type="password" class="validate">
    <label for="password">密码</label>
  </div>
  <button class="btn waves-effect waves-light" type="submit" name="action">提交
    <i class="material-icons right">send</i>
  </button>
</form>

3. 响应式布局

Materialize 使用了一个灵活的网格系统,帮助你轻松创建响应式布局。网格系统基于 12 列布局,你可以通过指定列数来控制元素的宽度

<div class="row">
  <div class="col s12 m6 l4">
    <p>内容1</p>
  </div>
  <div class="col s12 m6 l4">
    <p>内容2</p>
  </div>
  <div class="col s12 m6 l4">
    <p>内容3</p>
  </div>
</div>

在上面的例子中,s12 表示在小屏幕上占满 12 列,m6 表示在中等屏幕上占 6 列,l4 表示在大屏幕上占 4 列。

4. JavaScript 插件

Materialize 还提供了一些 JavaScript 插件,如模态框、下拉菜单、轮播图等。你可以通过初始化这些插件来增强页面的交互性

4.1 模态框

模态框是一个常见的弹出窗口,用于显示额外的内容或表单

<!-- 触发按钮 -->
<a class="waves-effect waves-light btn modal-trigger" href="#modal1">打开模态框</a>

<!-- 模态框结构 -->
<div id="modal1" class="modal">
  <div class="modal-content">
    <h4>模态框标题</h4>
    <p>这里是模态框的内容。</p>
  </div>
  <div class="modal-footer">
    <a href="#!" class="modal-close waves-effect waves-green btn-flat">关闭</a>
  </div>
</div>

<!-- 初始化模态框 -->
<script>
  $(document).ready(function(){
    $('.modal').modal();
  });
</script>

4.2 下拉菜单

下拉菜单可以帮助你在有限的空间内展示更多的选项

<!-- 下拉菜单触发按钮 -->
<a class='dropdown-trigger btn' href='#' data-target='dropdown1'>下拉菜单</a>

<!-- 下拉菜单内容 -->
<ul id='dropdown1' class='dropdown-content'>
  <li><a href="#!">选项1</a></li>
  <li><a href="#!">选项2</a></li>
  <li><a href="#!">选项3</a></li>
</ul>

<!-- 初始化下拉菜单 -->
<script>
  $(document).ready(function(){
    $('.dropdown-trigger').dropdown();
  });
</script>

5. 自定义主题

Materialize 允许你通过修改 SASS 变量来定制主题。你可以改变颜色、字体、间距等,以适应你的网站风格

// 修改主色调
$primary-color: color("blue", "lighten-2");

// 引入 Materialize SASS 文件
@import "materialize-css/sass/materialize"

如果您觉得我的文章对您有帮助,可考虑支持我!

捐赠支持

感谢您的支持!

Bleaz

文章作者

发表回复

textsms
account_circle
email

Bleaz's Blog

Materialize 使用教程:快速构建现代化 Web 界面
Materialize 是一个基于 Google Material Design 理念的前端框架,它提供了丰富的组件和工具,帮助开发者快速构建美观、响应式的 Web 界面。无论你是前端新手还是经验丰富的开发者,Mater…
扫描二维码继续阅读
2025-03-23