# 1.响应式网页布局是什么

响应式网页布局,顾名思义,就是响应式,即根据屏幕大小自动调整布局。而我们使用的屏幕包括:大屏显示器、电脑显示器、平板电脑、手机等。允许同一网站内容在各种屏幕尺寸和设备上自动调整以适应最佳显示效果。这种技术的核心思想是根据用户的设备和屏幕尺寸的变化来动态地优化网页的布局和样式,从而提供一个一致且舒适的用户体验。

# 2.响应式网页布局的实现方法

响应式网页布局的实现方法有很多,常用的有:

  1. 使用媒体查询
  2. 使用CSS3的flexbox弹性盒布局
  3. 使用CSS3的grid布局
  4. 百分比布局
  5. vw 响应式布局
  6. rem 响应式布局

    更多了解...

    上述方式中,以媒体查询flex弹性盒布局两种方式用的较多,关于flex布局在我们第一学期已经学习过了,因此我们这里用媒体查询来讲解一下响应式网页布局。

# 3.简单的响应式页面案例

以媒体查询为例,来实现一个简单的响应式页面布局。

<!DOCTYPE html>
<html>
    <head>
        <meta charset="utf-8">
        <title>简单的响应式页面案例</title>
        <style>
* {
  box-sizing: border-box;
  text-decoration: none;
}
 
body {
  font-family: Arial;
  margin: 0px;
  background: #f1f1f1;
}

.container{
    width: 1200px;
    margin: 0px auto;
}
 
/* 头部标题 */
.container .header {
  padding: 30px;
  text-align: center;
  background: white;
}
 
.container .header h1 {
  font-size: 40px;
  color: #111111;
}
 
/* 导航条 */
.container .topnav {
  overflow: hidden;
  background-color: #137D6F;
}
 
/* 导航条链接 */
.container .topnav a {
  float: left;
  display: block;
  color: #f2f2f2;
  text-align: center;
  padding: 14px 16px;
  text-decoration: none;
}
 
/* 链接颜色修改 */
.container .topnav a:hover {
  background-color: #ddd;
  color: black;
}
 
/* 创建两列 */
/* Left column */
.container .leftcolumn {   
  float: left;
  width: 75%;
}
 
/* 右侧栏 */
.container .rightcolumn {
  float: left;
  width: 25%;
  background-color: #f1f1f1;
  padding-left: 20px;
}
 
/* 图像部分 */
.container .fakeimg {
    background-color: #137D6F;
}
.container .fakeimg img{
  width: auto;
  height: 200px;
  margin: 0px auto;
  display: block;
}
 
/* 文章卡片效果 */
.container .card {
  background-color: white;
  padding: 20px;
  margin-top: 20px;
}
 
/* 列后面清除浮动 */
.container .row:after {
  content: "";
  display: table;
  clear: both;
}
 
/* 底部 */
.container .footer {
  padding: 20px;
  text-align: center;
  background: #ddd;
  margin-top: 20px;
}

/* 响应式布局 - 屏幕尺寸小于 1200px 时,改变居中总宽度 */
@media screen and (max-width: 1200px) {
    .container{
        width: 100%;
        margin: 0px;
    }
    .container .row,.container .topnav{
        padding: 0px 16px;
    }
}
 
/* 响应式布局 - 屏幕尺寸小于 992px 时 */
@media screen and (max-width: 992px) {
    .container .leftcolumn, .container .rightcolumn {   
    width: 100%;
    padding: 0;
  }
}
/* 响应式布局 -屏幕尺寸小于 510px 时 */
@media screen and (max-width: 510px) {
    .container .topnav {
      display: none;
    }

    .container .fakeimg img{
    width: 100%;
    height: auto;
    max-height: 200px;
  } 
}
</style>
    </head>
    <body>
        <div class="container">
            <div class="header">
                <h1>睿晨编程</h1>
                <p>从零开始学习网站开发、小程序开发、app开发</p>
            </div>

            <div class="topnav">
                <a href="#">首页</a>
                <a href="#">课程视频</a>
                <a href="#">学习文档</a>
                <a href="#" style="float:right">答疑专区</a>
            </div>

            <div class="row">
                <div class="leftcolumn">
                    <div class="card">
                        <h2>【第一学期】html+css通用企业网页</h2>
                        <h5>
                            <a href="#">【课程概述】</a>
                            <a href="#">【完整课程学习】</a>
                            <a href="#">【课程免费试看(1-13课)】</a>
                        </h5>
                        <div class="fakeimg" style="height:200px;">
                            <img
                                src="https://docs-51yrc-com.oss-cn-hangzhou.aliyuncs.com/docs-imgs/lesson01.jpg"
                                alt="课程预览图">
                        </div>
                        <p>零基础学员入门课程</p>
                        <p>本期课程专为零基础的学员定制录制的,纯html+css做企业网站的网页,主讲html和css的相关基础知识,flex布局相关知识,封装css基础样式库,引入字体图标及网页开发基础布局思维,完成企业网站网页的开发过程。</p>
                    </div>
                    <div class="card">
                        <h2>【第一学期】html+css通用企业网页</h2>
                        <h5>
                            <a href="#">【课程概述】</a>
                            <a href="#">【完整课程学习】</a>
                            <a href="#">【课程免费试看(1-13课)】</a>
                        </h5>
                        <div class="fakeimg" style="height:200px;">
                            <img
                                src="https://docs-51yrc-com.oss-cn-hangzhou.aliyuncs.com/docs-imgs/lesson01.jpg"
                                alt="课程预览图">
                        </div>
                        <p>零基础学员入门课程</p>
                        <p>本期课程专为零基础的学员定制录制的,纯html+css做企业网站的网页,主讲html和css的相关基础知识,flex布局相关知识,封装css基础样式库,引入字体图标及网页开发基础布局思维,完成企业网站网页的开发过程。</p>
                    </div>
                </div>
                <div class="rightcolumn">
                    <div class="card">
                        <h2>关于睿晨编程</h2>
                        <div style="height:100px;">
                            睿晨编程,带您从零开始做网站、系统、小程序、APP,注重最新的技术,创最实用的教程,为热爱编程的零基础学员服务!
                        </div>
                        <p>带您从零开始做网站、系统、小程序、APP</p>
                    </div>
                    <div class="card">
                        <h3>上线课程</h3>
                        <div><p>【第一学期】html+css通用企业网页</p></div>
                        <div><p>【第二学期第一季】</p></div>
                        <div><p>【第二学期第二季】</p></div>
                        <div><p>【第二学期第三季】</p></div>
                    </div>
                    <div class="card">
                        <h3>剪辑中的课程</h3>
                        <div><p>【第三学期第一季】</p></div>
                        <div><p>【第三学期第一季】</p></div>
                    </div>
                </div>
            </div>

            <div class="footer">
                <h2>睿晨编程版权所有</h2>
            </div>
        </div>
    </body>
</html>

# 4.Bootstrap框架

我们在响应式网页布局的实现方法:使用媒体查询提到过,在实际开发时,@media 媒体查询 会结合删格系统(bootstrap)一起来使用,实现真正意义上的响应式开发。
那么这里提到 删格系统,那么就必须提到响应式布局中非常重要的一个框架:Bootstrap

# ① Bootstrap介绍

Bootstrap 是一个用于快速开发 Web 应用程序和网站的前端框架。Bootstrap 是一个CSS/HTML框架,它包含了一个响应式的、移动设备优先的框架。

# ② Bootstrap框架已发布的版本

目前已发布了:

  1. Bootstrap3
  2. Bootstrap4
  3. Bootstrap5

# ③ Bootstrap框架中的网格系统

推荐使用Bootstrap3、Bootstrap4,最新版使用的是最新的css属性,在某些浏览器存在兼容性。
Bootstrap4 网格系统为例

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Bootstrap 网格示例</title>
    <link rel="stylesheet" href="https://cdn.staticfile.org/twitter-bootstrap/4.3.1/css/bootstrap.min.css">
</head>
<body>
    <div class="container-fluid">
        <h1>手机、平板、桌面、大桌面显示器、超大桌面显示器排版效果</h1>
        <p>
            超小设备 <576px ---> .col- <br/>
            平板 ≥576px ---> .col-sm-  <br/>
            桌面显示器 ≥768px ---> .col-md-  <br/>
            大桌面显示器 ≥992px ---> col-lg-  <br/>
            超大桌面显示器 ≥1200px ---> .col-xl-  <br/>
        </p>
        <div class="container-fluid">
          <div class="row">
            <div class="col-sm-3 col-md-6 col-lg-4 col-xl-2 bg-success">
                手机不存在左右,默认每个div都占12份,
                平板左边3份,桌面显示器左边占6份,大桌面显示器左边占4份,超大桌面显示器左边占2份
            </div>
            <div class="col-sm-9 col-md-6 col-lg-8 col-xl-10 bg-warning">
                平板右边9份,桌面显示器右边占6份,大桌面显示器右边占8份,超大桌面显示器右边占10份
            </div>
          </div>
        </div>
      </div>
</body>
</html>

Bootstrap框架重点理解一下网格系统,其它的直接看文档就可以了使用,不需要记忆。网格系统是Bootstrap框架的核心,网格系统可以实现响应式布局。

# ④ Bootstrap框架几点重要说明

  1. Bootstrap框架的所有样式,大家可以类比我们第一学期自己封装的css样式库,类样式名称不需要记忆,用的时候直接看文档即可;

  2. Bootstrap框架在前些年刚出来的时候非常火,但是由于现在移动端的普及以及移动端业务的普及,客户更多的是需要开发移动端的网站网页、小程序、APP等功能,很显然,响应式网页布局只能解决网站网页的问题,不能够解决小程序、app的问题,因此,现在很多公司都开始使用移动端的框架,比如:uni-app、vant、vant-ui、vant-weapp、vant-h5等等,这个我们后面会讲到,所以Bootstrap框架大家作为一个技能了解一下即可;

  3. 也并不是说Bootstrap框架就完全没有用了,比如:如果用户只希望它的网站、网站后台可以在手机上进行操作(不涉及小程序、app),那么Bootstrap框架还是非常适合使用的;

# ⑤ Bootstrap框架的项目应用

利用Bootstrap框架开发的网站有很多,这个给大家提供一个网站,下载里面的代码,然后自己进行修改,这样就可以快速搭建一个响应式网站了。

Bootstrap框架响应式网站:https://www.bootstrapmb.com/

# 5.响应式后台管理系统(egg.js + Bootstrap)

我们在前面几节课带领大家学习了什么是响应式布局,响应式布局的常见方法,并重点学习了媒体查询在响应式布局中的使用(大家也跟着编写了一个小案例),然后我们学习了bootstrap框架,学习了bootstrap框架的核心内容网格系统,网格系统是响应式布局的核心知识点。最后给大家推荐了响应式布局的学习网站和模版框架。大家可以去这个网站下载学习响应式网站的案例,然后自己进行修改,这样就可以快速搭建一个响应式的网站了。

接下来,我们将结合上一章节,章节2:egg.js基础,和本章节响应式布局,来完成一下我们企业网站开发中,当用户提交了留言之后,你作为网站的管理者,应该怎么样在网站上面查看用户的留言。

很显然,大家都知道,就是网站需要有一个后台来进行管理。

接下来,我们来学习:egg.js + Bootstrap响应式框架,来开发网站后台!

# ① 轻量级Bootstrap管理系统模板后台UI框架 - Ventura

轻量级Bootstrap管理系统模板后台UI框架 - Ventura:
https://www.bootstrapmb.com/item/5781

  1. 大家可以去下载源码,学习查看;
  2. 便于我们学习,大家统一去群文件里面下载本节课的课件,里面有源码,便于我们后面统一学习;

# ② 具体操作查看 响应式后台管理系统(egg.js + Bootstrap)






# 【第二学期第3季课程】其它章节

# 章节1.课程介绍

# 章节2.Egg.js基础

# 一、关于Egg.js

# ① 安装Egg.js项目
# ② 写一个api接口进行测试
# ③ 说明一下,关于调试课件代码的问题
# ④ 自定义创建一个控制器

# 二、eggjs中的get请求post请求处理

# ① get方式路由传参:带?获取参数 ctx.query.参数名,不带?获取参数 ctx.params.参数名
# ② 设置响应状态码: ctx.status
# ③ post请求参数处理
# 一、安装get/post等请求的调试工具:postman
# 1. 下载postman
# 2. 安装postman
# 二、post请求获取参数:ctx.request.body
# 1. 关闭csrf功能开启跨域请求
# 2. eggjs中post请求:ctx.request.body

# 三、案例:eggjs + postman测试工具完成留言数据写入json文件

# 四、mysql(MySQL)数据库基础

# 五、eggjs项目中sequelize模型创建mysql数据库

# 1.安装egg-sequelize 插件
# 2. 在config/plugin.js中引入 egg-sequelize 插件
# 3. 在config/config.default.js中配置数据库连接
# 4. 安装 sequelize-cli插件
# 5. 数据库 Migrations 迁移文件相关的内容都放在database目录下
# 6. 初始化 Migrations 配置文件和目录
# 7. 在生成的database/config.json 修改一下配置内容
# 8. 创建数据库
# 9. 创建数据库迁移文件
# 10. 执行 migrate 进行数据库变更创建表

# 六、egg.js项目中sequelize模型新增数据到数据库

# 1. 创建模型文件
# 2. 编写模型文件
# 3. 插入一条数据到数据库:create方法
# 3.1 定义路由
# 3.2 定义控制器
# 4. 批量插入数据到数据库:bulkCreate方法
# 5. 修改器set()方法:数据插入到数据库前可自动修改成指定要求的数据

# 七、egg.js项目查询数据

# 1. 查询数据库中的单个数据:主键查询方法:findByPk(主键字段)、如果需要多个条件,可以使用findOne方法
# 2. 查询数据库中的多个数据:查询多个findAll(),查询多个并统计条数findAndCountAll()
# 3. 获取器get()方法:查询数据后可自动修改成指定要求的数据

# 八、egg.js项目sequelize模型where操作符

# 示例

# 1. where操作符
# 2. where操作符范围选项

# 九、egg.js项目sequelize模型查询结果指定字段、排序、分页

# 1. attributes属性指定返回的字段,exclude属性指定排除的字段
# 2. 排序:order
# 3. 分页:limit指定每页返回多少条数据、offset指定偏移量
# 示例

# 十、egg.js项目sequelize模型更新数据

# 1. 更新数据:save方法,指定修改字段fields属性
# 2. 如果觉得save方法更新字段非常麻烦,可以使用update方法批量修改字段,第二个参数可指定修改字段

# 十一、egg.js项目sequelize模删除、批量删除数据:destroy方法

# 十二、错误和异常统一处理

# 十三、中间件配置

# 十四、参数验证

# 1. 安装插件
# 2. 配置插件 config/plugin.js
# 3. 配置 config/config.default.js
# 4. 控制器举例
# 5. 参数验证的错误提示在中间件中设置一下
# 6.ValParams API 说明

# 十五、路由分组

# 1. 新建 app/router目录,在该目录下新建对应控制器名文件
# 2. 在app/router/message.js中写路由
# 3.在app/router.js中按控制器指定分组

# 十六、模版引擎

# 1. 安装模版渲染插件
# 2. 在config/plugin.js中配置插件
# 3. 在config/config.default.js中配置模版引擎
# 4. vscode安装一下nunjucks模版引擎扩展,方便代码提示
# 5. 新建 app/view目录,以后所有模版放这个目录里面
# 6. 控制器 app/controller/home.js 写一个方法
# 7. 重启项目,访问路由即可看到网页内容

# egg.js基础课程总结

# 章节3.响应式网页布局

# 一、响应式网页布局是什么

# 二、响应式网页布局的实现方法

# 三、简单的响应式页面案例

# 四、Bootstrap框架

# 五、响应式后台管理系统(egg.js + Bootstrap)

# ① 搭建界面引入模版html文件
# ② 创建管理员(页面、创建数据库表及提交数据)
# ③ 管理员列表
# ④ 管理员列表分页功能
# ⑤ 公共模板开发
# ⑥ 后台管理员登录
# ⑦ 后台用户留言板管理板块
# ⑧ 优化公共模版表格能够显示头像
# ⑨ 后台左侧菜单栏
# ⑩ 上传文件
# ⑪ 上传或修改管理员头像

# 章节4.Egg.js和Mysql数据库进阶进一步开发网站后台

# 一、用户管理板块(以直播功能中的用户表liveuser表为例)

# ① 用户管理板块说明
# ② 具体实现过程

# 二、礼物管理(以直播功能中的礼物表livegift表为例)

# ① 礼物管理板块说明
# ② 具体实现过程

# 三、订单管理(以直播功能中的订单表liveorder表为例)

# ① 初步理解关联关系
# ② 具体实现过程

# 四、直播间管理(以直播功能中的直播间表live表为例)

# ① 多模型关联查询实践
# ② 具体实现过程

# 五、mysql语句进一步理解模型关联关系(Mysql进阶)

# ① 关联关系进一步说明
# ② mysql数据库基础-三、mysql子查询和连表查询(文档搜索:mysql子查询和连表查询)

# 六、企业网站栏目管理、内容管理

# ① 企业网站栏目管理、内容管理说明
# ② 企业网站后台栏目管理具体实现
# ③ 企业网站后台内容管理具体实现

# 七、网站配置管理

# ① 网站配置管理代码实现

# 八、后台初始化管理员登录逻辑

# ① 登录逻辑代码实现

# 九、简单权限管理

# ① 管理员栏目:超级管理员可以查看所有管理员,普通管理员只能看自己
# ② 权限分配
# ③ 网站后台管理员简单权限分配功能实现

# 章节5.企业网站前端部分



# 其它学期课程

# 第一学期(学习顺序:01)

第一学期课程专为零基础的学员定制录制的,纯html+css做企业网站的网页,主讲html和css的相关基础知识,flex布局相关知识,封装css基础样式库,引入字体图标及网页开发基础布局思维,完成企业网站网页的开发过程。

[第一学期学习视频]

# 第二学期【第1季】(学习顺序:02)

主讲JavaScript的基础,建议所有学员观看。
[第1季学习文档] [第1季学习视频]

# 第二学期【第2季】(学习顺序:03)

JavaScript中的面向对象,类,ajax,封装js库过渡到jQuery, vue.js基础配置网站页面,建议所有学员观看。
[第2季学习文档] [第2季学习视频]

# 第二学期【第3季】(学习顺序:04)

egg.js基础,响应式网页布局,Bootstrap框架,响应式后台系统管理,完整企业网站前后台开发,建议所有学员观看。
[第3季学习文档] [第3季学习视频]

# 第二学期【第4季】(学习顺序:05)

主要对第三季,同学们开发的企业网站,进行一个完整的上线运维流程的一个讲解,同学们将网站开发完成之后,如何进行上线运维,将项目交付给客户。
[第4季学习文档] [第4季学习视频]

更新时间: 2024年11月19日星期二中午11点54分