如何通过css框架Materialize设计现代网页

来源:AI智能体作者:长沙网站建设头衔:草根站长
导读:本期聚焦于小伙伴创作的《如何通过css框架Materialize设计现代网页》,敬请观看详情,探索知识的价值。以下视频、文章将为您系统阐述其核心内容与价值。如果您觉得《如何通过css框架Materialize设计现代网页》有用,将其分享出去将是对创作者最好的鼓励。

Materialize是一款遵循谷歌Material Design设计规范的CSS框架,它提供了大量开箱即用的样式类和交互组件,能够让开发者快速构建出视觉效果出色、适配手机、平板、PC等多终端的现代网页,无需花费大量时间在基础样式调试上。

如何通过css框架Materialize设计现代网页

Materialize环境配置

使用Materialize前需要先引入相关资源,有两种常用的引入方式,分别是CDN引入和本地文件引入。

CDN引入方式

适合快速测试或者小型项目,直接在HTML的<head>标签中添加以下代码即可:

<!DOCTYPE html>
<html lang="zh-CN">
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <!-- 引入Materialize CSS -->
    <link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/materialize/1.0.0/css/materialize.min.css">
    <!-- 引入Materialize JS,依赖jQuery,需先引入jQuery -->
    <script src="https://code.jquery.com/jquery-3.6.0.min.js"></script>
    <script src="https://cdnjs.cloudflare.com/ajax/libs/materialize/1.0.0/js/materialize.min.js"></script>
    <title>Materialize示例页面</title>
</head>
<body>
    <h1>Hello Materialize</h1>
</body>
</html>

本地引入方式

适合需要离线开发或者定制化修改的项目,先从Materialize官网下载源码包,解压后将css和js文件夹放到项目目录中,再修改引入路径即可。

Materialize核心特性使用

响应式网格系统

Materialize的网格系统基于12列布局,通过rowcol类实现,支持不同屏幕尺寸下的列宽自适应,屏幕尺寸分为小屏(s)、中屏(m)、大屏(l)、超大屏(xl)四个档位。

网格系统常用类名格式为col 屏幕尺寸-列数,例如col s12 m6 l4表示在小屏占12列(整行),中屏占6列(半行),大屏占4列(三分之一行)。

<div class="container">
    <div class="row">
        <div class="col s12 m6 l4">
            <p>第一列内容</p>
        </div>
        <div class="col s12 m6 l4">
            <p>第二列内容</p>
        </div>
        <div class="col s12 m6 l4">
            <p>第三列内容</p>
        </div>
    </div>
</div>

常用UI组件

Materialize内置了按钮、卡片、导航栏、表单等大量常用组件,直接添加对应类名就能使用预设样式。

按钮组件

按钮有多种样式变体,比如普通按钮、浮动按钮、禁用按钮等,通过不同类区分:

<!-- 普通蓝色按钮 -->
<a class="waves-effect waves-light btn" href="#">普通按钮</a>
<!-- 浮动按钮 -->
<a class="btn-floating btn-large waves-effect waves-light red"><i class="material-icons">add</i></a>
<!-- 禁用按钮 -->
<a class="btn disabled">禁用按钮</a>

卡片组件

卡片是展示内容块的常用组件,支持添加图片、标题、正文和操作按钮:

<div class="card">
    <div class="card-image">
        <img src="https://picsum.photos/400/200?random=2">
        <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>

完整现代网页示例

下面是一个使用Materialize搭建的简单个人博客首页示例,包含导航栏、轮播图、内容卡片区和页脚:

<!DOCTYPE html>
<html lang="zh-CN">
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/materialize/1.0.0/css/materialize.min.css">
    <link href="https://fonts.googleapis.com/icon?family=Material+Icons" rel="stylesheet">
    <script src="https://code.jquery.com/jquery-3.6.0.min.js"></script>
    <script src="https://cdnjs.cloudflare.com/ajax/libs/materialize/1.0.0/js/materialize.min.js"></script>
    <title>个人博客首页</title>
</head>
<body>
    <!-- 导航栏 -->
    <nav class="blue">
        <div class="nav-wrapper container">
            <a href="#" class="brand-logo">我的博客</a>
            <ul id="nav-mobile" class="right hide-on-med-and-down">
                <li><a href="#">首页</a></li>
                <li><a href="#">文章</a></li>
                <li><a href="#">关于</a></li>
            </ul>
        </div>
    </nav>

    <!-- 轮播图 -->
    <div class="slider">
        <ul class="slides">
            <li>
                <img src="https://picsum.photos/1200/400?random=3">
                <div class="caption center-align">
                    <h3>欢迎来到我的博客</h3>
                    <h5 class="light grey-text text-lighten-3">分享技术学习与日常记录</h5>
                </div>
            </li>
            <li>
                <img src="https://picsum.photos/1200/400?random=4">
                <div class="caption left-align">
                    <h3>最新技术文章</h3>
                    <h5 class="light grey-text text-lighten-3">涵盖前端、后端开发内容</h5>
                </div>
            </li>
        </ul>
    </div>

    <!-- 内容卡片区 -->
    <div class="container">
        <div class="row">
            <div class="col s12 m6 l4">
                <div class="card">
                    <div class="card-image">
                        <img src="https://picsum.photos/400/200?random=5">
                    </div>
                    <div class="card-content">
                        <span class="card-title">CSS框架入门</span>
                        <p>介绍常用CSS框架的特点和使用场景,帮助新手选择适合的框架。</p>
                    </div>
                    <div class="card-action">
                        <a href="#">查看详情</a>
                    </div>
                </div>
            </div>
            <div class="col s12 m6 l4">
                <div class="card">
                    <div class="card-image">
                        <img src="https://picsum.photos/400/200?random=6">
                    </div>
                    <div class="card-content">
                        <span class="card-title">JavaScript技巧</span>
                        <p>分享实用的JavaScript开发技巧,提升开发效率。</p>
                    </div>
                    <div class="card-action">
                        <a href="#">查看详情</a>
                    </div>
                </div>
            </div>
            <div class="col s12 m6 l4">
                <div class="card">
                    <div class="card-image">
                        <img src="https://picsum.photos/400/200?random=7">
                    </div>
                    <div class="card-content">
                        <span class="card-title">响应式设计</span>
                        <p>讲解响应式网页设计的核心原理和实现方法。</p>
                    </div>
                    <div class="card-action">
                        <a href="#">查看详情</a>
                    </div>
                </div>
            </div>
        </div>
    </div>

    <!-- 页脚 -->
    <footer class="page-footer blue">
        <div class="container">
            <div class="row">
                <div class="col l6 s12">
                    <h5 class="white-text">关于本博客</h5>
                    <p class="grey-text text-lighten-4">本博客主要用于分享技术学习心得和日常开发经验。</p>
                </div>
                <div class="col l4 offset-l2 s12">
                    <h5 class="white-text">相关链接</h5>
                    <ul>
                        <li><a class="grey-text text-lighten-3" href="https://ipipp.com">技术文档</a></li>
                        <li><a class="grey-text text-lighten-3" href="#">联系我</a></li>
                    </ul>
                </div>
            </div>
        </div>
        <div class="footer-copyright">
            <div class="container">
                © 2024 我的博客
            </div>
        </div>
    </footer>

    <script>
        // 初始化轮播图
        document.addEventListener('DOMContentLoaded', function() {
            var elems = document.querySelectorAll('.slider');
            var instances = M.Slider.init(elems, {indicators: true, height: 400});
        });
    </script>
</body>
</html>

注意事项

  • Materialize的JS组件依赖jQuery,引入JS文件前必须先引入jQuery。
  • 自定义样式时,尽量通过覆盖框架预设的CSS变量实现,避免直接修改框架源码,方便后续升级。
  • 如果使用本地引入方式,注意文件路径的正确性,避免因路径错误导致资源加载失败。

MaterializeCSS框架现代网页设计响应式布局修改时间:2026-06-15 07:24:51

免责声明:​ 已尽一切努力确保本网站所含信息的准确性。网站内容多为原创整理与精心编撰,观点力求客观中立。本站旨在免费分享,内容仅供个人学习、研究或参考使用。若引用了第三方作品,版权归原作者所有。如内容涉及您的权益,请联系我们处理。
内容垂直聚焦
专注技术核心技术栏目,确保每篇文章深度聚焦于实用技能。从代码技巧到架构设计,为用户提供无干扰的纯技术知识沉淀,精准满足专业提升需求。
知识结构清晰
覆盖从开发到部署的全链路。AI、前端、编程、数据库、服务器、建站、系统层层递进,构建清晰学习路径,帮助用户系统化掌握开发与运维所需的核心技术。
深度技术解析
拒绝泛泛而谈,深入技术细节与实践难点。无论是数据库优化还是服务器配置,均结合真实场景与代码示例进行剖析,致力于提供可直接应用于工作的解决方案。
专业领域覆盖
精准对应开发生命周期。从前端界面到后端编程,从数据库操作到服务器运维,形成完整闭环,一站式满足全栈工程师和运维人员的技术需求。
即学即用高效
内容强调实操性,步骤清晰、代码完整。用户可根据教程直接复现和应用于自身项目,显著缩短从学习到实践的距离,快速解决开发中的具体问题。
持续更新保障
专注既定技术方向进行长期、稳定的内容输出。确保各栏目技术文章持续更新迭代,紧跟主流技术发展趋势,为用户提供经久不衰的学习价值。