0

0

响应式布局的开发教程实例

小云云

小云云

发布时间:2018-01-29 11:22:14

|

2428人浏览过

|

来源于php中文网

原创

响应式布局可以为不同终端的用户提供更加舒适的界面和更好的用户体验,而且随着目前大屏幕移动设备的普及,用"大势所趋"来形容也不为过。随着越来越多的设计师采用这个技术,我们不仅看到很多的创新,还看到了一些成形的模式。

移动web前言

  1. 移动web : 移动端手机浏览器或者微信里面浏览的网页

  2. 移动APP : 手机上需要下载安装的应用程序

1. 移动web介绍

1.1 响应式开发 一套代码运行多个终端 优点:开发快 维护快 适配好  缺点加载速度慢

1.2 纯原生移动web开发 一套代码运行一个端 优点: 加载速度快 缺点开发慢  维护慢 适配差

1.3 应用场景 :

  1. 响应式开发用在一些新建的网站(PC和移动同时出来) 对加载速度要求不是很高

  2. 纯原生移动web开发 一般会用在一些已经有PC端上线的网站 再次开发移动端  移动端需要加载速度很快的网站

2. 响应式开发原理

2.1 CSS3的媒体查询: 通过查询屏幕的的宽度来指定某个宽度区间的网页布局

2.2 常见设备的屏幕宽度

超小屏幕(手机)    768px以下小屏设备(平板)    768px-992px中等屏幕(旧式电脑)   992px-1200px大屏设备(现代电脑)   1200px以上

2.3 媒体查询的语法

    @media screen and (条件){
        //满足条件执行CSS代码
    }

    and的前后必须有空格  条件通常只有两个 min-width max-width

    @media (条件){
        //满足条件执行CSS代码
    }

    可以简写省略 screen and

2.4 媒体查询的写法的顺序和特性

2.4.1 条件判断有两种

min-width 屏幕宽度大于等于某个值生效 (最小宽度)

max-width 屏幕宽度小于等于某个值的时候生效 (最大宽度)

2.4.2 条件判断的参考值通常有以下4个

  width > 1200  大屏幕 大屏PC设备
  992 < width < 1200  中屏幕 老式电脑
  768 < width < 992  小屏幕 平板设备
  width < 768 超小屏幕 手机

2.4.3 媒体查询判断的顺序说明

1.如果使用min-width条件判断的时候 条件判断大小 要从小到大写

  /*min-width: 768px 当屏幕的宽度大于等于768时 背景颜色为green */
  @media screen and (min-width: 768px){
      body{
          background-color: green;
      }
  }

  /*min-width: 992px 当屏幕的宽度大于等于992时 背景颜色为blue*/
  @media screen and (min-width: 992px){
      body{
          background-color: blue;
      }
  }

  /*min-width: 1200px 当宽度大于等于1200时 背景颜色为pink*/
  @media screen and (min-width: 1200px){
      body{
          background-color: pink;
      }
  }

2.如果使用max-width条件判断到时候 条件判断大小 要从大到小写

  /*max-width: 1200px:宽度在1200以下*/
  @media screen and (max-width: 1200px) {
      body {
          background-color: green;
      }
  }

  /*max-width: 992px:宽度在992以下*/
  @media screen and (max-width: 992px) {
      body {
          background-color: blue;
      }
  }

  /*max-width: 768px:宽度在768以下*/
  @media screen and (max-width: 768px) {
      body {
          background-color: pink;
      }
  }

2.3.4 写法的特性有两个

  1. 向上兼容 只写了小的判断, 大的判断没有写, 但是在大屏幕下也会生效

  2. 向下覆盖 同时写了小的判断和大的判断, 满足大的条件会生效大的条件的样式, 大的条件写在后面会把小的条件的样式覆盖

2.3.5 使用媒体查询实现网页布局

  1. 在大屏幕下显示4列 中屏幕显示3列 小屏幕显示2列 超小屏幕显示1列

      /*w 768~992  每一行放置两个子元素  50%*/
      @media screen and (min-width: 768px){
          .box > p{
              width: 50%;
          }
      }
      /* w 992~1200 每一行放置三个子元素  33.33%*/
      @media screen and (min-width: 992px){
          .box > p{
              width: 33.33%;
          }
      }
      /*w >1200 每一行放置四个子元素 25%*/
      @media screen and (min-width: 1200px){
          .box > p{
              width: 25%;
          }
      }
  2. 原理就是通过媒体查询判断条件改变盒子的宽度

3. 响应式开发框架 Bootstrap介绍

  1. 特点:灵活简介,代码优雅,美观大方

  2. 好处:Bootstrap 让我们的Web开发更简单,更快捷

  3. 版本:目前市面上使用最多的是3.x.x版本 除此之外还有2.3.2对IE8支持 现已有4.0.0的正式版

  4. 相关链接: 中文官网 使用Bootstrap构建的网站

4. 库和框架的区别

  1. jquery : 库 便捷的DOM (你想实现什么功能就调用什么方法)(主导者是你 你调用库)

  2. Bootstrap : 框架 界面工具集 框架是他来控制你 (框架制定好了一系列规则 用户按照规则进行编写)可以实现整个网站大多数功能

  3. 插件 : fullpage 功能比较单一 只是实现了网页里面的某个或几个功能

5. Bootstrap的基本使用

5.1 下载: 去Bootstrap官网中文官网 的起步里面下载生产环境的Bootstrap 解压之后把整个文件夹放到项目里面来 也可以使用BootstrapCDN

5.2 引入Bootstrap

  1. 先引入Bootstrap的CSS(如果想要主题可以在引入带主题的CSS)

  2. 再引入自己的CSS

  3. 先引入jquery(因为Bootstrap依赖jquery)

  4. 再引入Bootstrap的JS

  5. 再引入自己的JS



  
    
    
    
    
    Bootstrap 101 Template

    
    

    
    
    
    
    
  
  
  
    
    
    
    
  

5.3 引包的顺序

  1. 先引入第三方的框架

  2. 再引入自己的文件

  3. CSS放到head里面引入(有些特殊的JS文件对页面渲染有作用的要放到head中)

  4. js放到body结束标签是上面引入

5.4 视口

  1. 视口: 浏览器的可视窗口 在PC端是会受到浏览器窗口变化而变化

  2. 视口在PC端是可视窗口(会变的) 在移动端有一个固定的值 通常是默认980

  3. 但是默认移动端的时候980会造成网页的缩放或者出滚动条

  4. 解决移动端默认视口会造成网页缩放和滚动条 设置meta标签设置默认是视口的宽度等于设备的宽度

  5. 视口的其他属性 初始化缩放 initial-scale=1.0 是否允许用户缩放 user-scalable=no 最大 maximum-scale=1.0 和最小缩放  minimum-scale=1.0

  6. meta:vp+tab 凡是写移动端页面一来就是加上视口

5.5 浏览器兼容模式

1.

  1. http-equiv="X-UA-Compatible" 表示设置IE浏览器的兼容模式

  2. content="IE=edge" 表示让IE浏览器用最新的渲染引擎渲染页面

6. Bootstrap文档

6.1 基础CSS样式

  • 概要 (常用)

    • 布局容器

  • 栅格系统 (常用)

    • xs : 超小屏幕 手机 (

    • sm : 小屏幕 平板 (≥768px)

    • md : 中等屏幕 桌面显示器 (≥992px)

    • lg : 大屏幕 大桌面显示器 (≥1200px)

  • 预置排版样式

    • 统一预制标签样式

    • 文本对齐 (常用)

    • 改变大小写

  • 代码样式

    • 页面输出代码

  • 表格样式

    • 各种表格样式

  • 表单样式

    • 各种表单组合的样式

  • 按钮样式

    • 各种按钮颜色 和 按钮大小等样式 (常用)

      免费红色响应式多语言企业通用模板1.0.0
      免费红色响应式多语言企业通用模板1.0.0

      该模板源码有公司简介、公司新闻、产品展示、客户案例、留言等企业官网常用页面功能。模板是响应式模板,支持多语言,完善的标签调用修改起来很方便。功能特点:1. 使用的框架采用HkCms开源内容管理系统v2.2.3版本、免费可以商用。2. 所需环境Apache/Nginx,PHP7.2 及以上 + MySQL 5.6 及以上。3. 安装教程: (1) 站点运行路径填写到public目录下。 (2) 浏览

      下载
  • 图片样式

    • 图片圆角的样式

  • 辅助工具类

    • 内容块居中 (常用)

    • 快速浮动 和 清除浮动 (常用)

    • 显示隐藏 (常用)

  • 响应式工具类 (常用)

    • hidden-xx : 在某种屏幕下隐藏

    • visible-xx : 在某种屏幕尺寸下显示

  • 基础CSS这块只是将我们常用想一些元素的样式做了美化,如果需要使用直接拿过来用就行了

6.2 预制界面组件

  • 导航 (常用)

  • 导航条 (常用)

  • 面包屑导航

  • 下拉菜单 (常用)

  • 按钮式下拉菜单

  • 按钮组

  • 输入框组

  • 警告框

  • 页头

  • 分页

  • 列表组 (常用)

  • 面板 (常用)

  • 媒体对象 (常用)

  • 进度条

  • Glyphicons字体图标 (常用)

  • 标签

  • 徽章

  • 缩略图

  • 大屏幕

  • 嵌入内容

  • 内嵌

  • 将我们日常使用的一些功能块例如下拉菜单,提前写好,我们使用时直接找到对应的demo然后拿回来做相应调整就行了

6.3 Javascript 插件

  • 模态对话框 (常用)

  • 下拉菜单 (常用)

  • 滚动监听 (常用)

  • 标签页 (常用)

  • 工具提示

  • 弹出框

  • 警告框

  • 按钮

  • 折叠面板 (常用)

  • 轮播图 (常用)

  • 吸顶效果 (常用)

    • data-spy="affix"

    • data-offset-top="什么位置出现"

    • data-offset-bottom="什么位置消失"

6.4 Javascript插件依赖情况

  • jQuery

    Bootstrap 框架中的所有JS组件都依赖jquery实现

7. 项目搭建

7.1 搭建Bootstrap页面骨架及项目目录结构

├─ /project/ ··················· 项目所在目录
└─┬─ /css/ ······················· 自己的CSS文件
  ├─ /font/ ······················ 使用到的字体文件
  ├─ /img/ ······················· 使用到的图片文件
  ├─ /js/ ························ 自己写的JS脚步
  ├─ /lib/ ······················· 从第三方下载回来的库【只用不改】
  ├─ /favicon.ico ················ 站点图标
  └─ /index.html ················· 入口文件

7.1.1 约定编码规范

1. HTML约定
  1. 在head中引入必要的CSS文件,优先引入第三方的CSS,方便我们自己的样式覆盖

  2. 在body末尾引入必要的JS文件,优先引入第三方的JS文件,注意JS文件之间的依赖关系

比如Bootstrap.js 依赖jquery,那就应该先引入jquery.js 然后引用Bootstrap.js

2. CSS约定
  1. 除了公共级别的样式,其余样式全部由模块前缀

  2. 尽量使用直接子代选择器 少用间接子代选择器避免误杀

7.2 创建主页 引入相应的文件




  
  
  
  


  
  
  

7.3 在我们默认样式表中讲默认字体设置为

body{
  font-family: "Helvetica Neue", Helvetica, Microsoft Yahei, Hiragino Sans GB, WenQuanYi Micro Hei, sans-serif;
}

7.4 完成页面空结构

先划分好页面的大容器,然后具体看每一个容器的单独情况
  
  

热门AI工具

更多
DeepSeek
DeepSeek

幻方量化公司旗下的开源大模型平台

豆包大模型
豆包大模型

字节跳动自主研发的一系列大型语言模型

通义千问
通义千问

阿里巴巴推出的全能AI助手

腾讯元宝
腾讯元宝

腾讯混元平台推出的AI助手

文心一言
文心一言

文心一言是百度开发的AI聊天机器人,通过对话可以生成各种形式的内容。

讯飞写作
讯飞写作

基于讯飞星火大模型的AI写作工具,可以快速生成新闻稿件、品宣文案、工作总结、心得体会等各种文文稿

即梦AI
即梦AI

一站式AI创作平台,免费AI图片和视频生成。

ChatGPT
ChatGPT

最最强大的AI聊天机器人程序,ChatGPT不单是聊天机器人,还能进行撰写邮件、视频脚本、文案、翻译、代码等任务。

相关专题

更多
go语言 注释编码
go语言 注释编码

本专题整合了go语言注释、注释规范等等内容,阅读专题下面的文章了解更多详细内容。

2

2026.01.31

go语言 math包
go语言 math包

本专题整合了go语言math包相关内容,阅读专题下面的文章了解更多详细内容。

1

2026.01.31

go语言输入函数
go语言输入函数

本专题整合了go语言输入相关教程内容,阅读专题下面的文章了解更多详细内容。

1

2026.01.31

golang 循环遍历
golang 循环遍历

本专题整合了golang循环遍历相关教程,阅读专题下面的文章了解更多详细内容。

0

2026.01.31

Golang人工智能合集
Golang人工智能合集

本专题整合了Golang人工智能相关内容,阅读专题下面的文章了解更多详细内容。

1

2026.01.31

2026赚钱平台入口大全
2026赚钱平台入口大全

2026年最新赚钱平台入口汇总,涵盖任务众包、内容创作、电商运营、技能变现等多类正规渠道,助你轻松开启副业增收之路。阅读专题下面的文章了解更多详细内容。

76

2026.01.31

高干文在线阅读网站大全
高干文在线阅读网站大全

汇集热门1v1高干文免费阅读资源,涵盖都市言情、京味大院、军旅高干等经典题材,情节紧凑、人物鲜明。阅读专题下面的文章了解更多详细内容。

73

2026.01.31

无需付费的漫画app大全
无需付费的漫画app大全

想找真正免费又无套路的漫画App?本合集精选多款永久免费、资源丰富、无广告干扰的优质漫画应用,涵盖国漫、日漫、韩漫及经典老番,满足各类阅读需求。阅读专题下面的文章了解更多详细内容。

67

2026.01.31

漫画免费在线观看地址大全
漫画免费在线观看地址大全

想找免费又资源丰富的漫画网站?本合集精选2025-2026年热门平台,涵盖国漫、日漫、韩漫等多类型作品,支持高清流畅阅读与离线缓存。阅读专题下面的文章了解更多详细内容。

19

2026.01.31

热门下载

更多
网站特效
/
网站源码
/
网站素材
/
前端模板

精品课程

更多
相关推荐
/
热门推荐
/
最新课程
Node.js 教程
Node.js 教程

共57课时 | 9.9万人学习

CSS3 教程
CSS3 教程

共18课时 | 5万人学习

Rust 教程
Rust 教程

共28课时 | 5.1万人学习

关于我们 免责申明 举报中心 意见反馈 讲师合作 广告合作 最新更新
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送

Copyright 2014-2026 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号