移动端WEB开发之响应式布局

一、响应式开发

1.1 响应式开发原理

就是使用媒体查询针对不同宽度的设备进行布局和样式的设置,从而适配不同设备的目的。

1.2 响应式布局容器

响应式需要一个父级做为布局容器,来配合子级元素来实现变化效果。原理就是在不同屏幕下,通过媒体查询来改变这个布局容器的大小,再改变里面子元素的排列方式和大小,从而实现不同屏幕下,看到不同的页面布局和样式变化。
平时我们的响应式尺寸划分:
(1)超小屏幕(手机,小于 768px):设置宽度为 100%
(2)小屏幕(平板,大于等于 768px):设置宽度为 750px
(3)中等屏幕(桌面显示器,大于等于 992px):宽度设置为 970px
(4)大屏幕(大桌面显示器,大于等于 1200px):宽度设置为 1170px
但是我们也可以根据实际情况自己定义划分。

二、Bootstrap前端开发框架

2.1 Bootstrap 简介

Bootstrap 来自 Twitter(推特),是目前最受欢迎的前端框架。Bootstrap 是基于 HTML、CSS 和 JAVASCRIPT 的,它简洁灵活,使得 Web 开发更加快捷。
中文官网:http://www.bootcss.com/
官网:http://getbootstrap.com/
推荐使用:http://bootstrap.css88.com/
框架:顾名思义就是一套架构,它有一套比较完整的网页功能解决方案,而且控制权在框架本身,有预制样式库、组件和插件。使用者要按照框架所规定的某种规范进行开发。
1. 优点
(1)标准化的html+css编码规范
(2)提供了一套简洁、直观、强悍的组件
(3)有自己的生态圈,不断的更新迭代
(4)让开发更简单,提高了开发的效率

2.2 Bootstrap 使用

在现阶段我们还没有接触JS相关课程,所以我们只考虑使用它的样式库。控制权在框架本身,使用者要按照框架所规定的某种规范进行开发。
Bootstrap 使用四步曲: 1. 创建文件夹结构 2. 创建 html 骨架结构 3. 引入相关样式文件 4. 书写内容。
1. 创建文件夹结构
2. 创建html骨架结构
3. 引入相关样式文件
4. 书写内容
(1)直接拿Bootstrap 预先定义好的样式来使用
(2)修改Bootstrap 原来的样式,注意权重问题
(3)学好Bootstrap 的关键在于知道它定义了哪些样式,以及这些样式能实现什么样的效果.

2.3 布局容器

Bootstrap 需要为页面内容和栅格系统包裹一个 .container 容器,它提供了两个作此用处的类。
1. container 类
响应式布局的容器 固定宽度
大屏 ( >=1200px) 宽度定为 1170px
中屏 ( >=992px) 宽度定为 970px
小屏 ( >=768px) 宽度定为 750px
超小屏 (100%)
2. container-fluid 类
流式布局容器 百分百宽度
占据全部视口(viewport)的容器。

三、Bootstrap 栅格系统

3.1 栅格系统简介

栅格系统英文为“grid systems”,也有人翻译为“网格系统”,它是指将页面布局划分为等宽的列,然后通过列数的定义来模块化页面布局。
Bootstrap 提供了一套响应式、移动设备优先的流式栅格系统,随着屏幕或视口(viewport)尺寸的增加,系统会自动分为最多12列

3.2 栅格选项参数

栅格系统用于通过一系列的行(row)与列(column)的组合来创建页面布局,你的内容就可以放入这些创建好的布局中。
(1)按照不同屏幕划分为1~12 等份
(2)行(row) 可以去除父容器作用15px的边距
(3)xs-extra small:超小; sm-small:小; md-medium:中等; lg-large:大;
(4)列(column)大于 12,多余的“列(column)”所在的元素将被作为一个整体另起一行排列
(5)每一列默认有左右15像素的 padding
(6)可以同时为一列指定多个设备的类名,以便划分不同份数 例如 class="col-md-4 col-sm-6"

3.3 列嵌套

栅格系统内置的栅格系统将内容再次嵌套。简单理解就是一个列内再分成若干份小列。我们可以通过添加一个新的 .row 元素和一系列 .col-sm-* 元素到已经存在的 .col-sm-* 元素内。

3.4 列偏移

使用 .col-md-offset-* 类可以将列向右侧偏移。这些类实际是通过使用 * 选择器为当前元素增加了左侧的边距(margin)。

3.5 列排序

通过使用 .col-md-push-* 和 .col-md-pull-* 类就可以很容易的改变列(column)的顺序。

3.6 响应式工具

为了加快对移动设备友好的页面开发工作,利用媒体查询功能,并使用这些工具类可以方便的针对不同设备展示或隐藏页面内容。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.hqwc.cn/news/591680.html

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Linux安装conda

目录 conda是什么简介conda与miniconda、anaconda的关系 安装下载文件bash安装激活软件检查安装是否成功配置镜像源 创建环境 conda是什么 简介 conda是一个开源的包管理器和环境管理器,用于安装、运行和更新包和它们的依赖项。它可以轻松地在计算机上创建隔离的环…

LeetCode-236. 二叉树的最近公共祖先【树 深度优先搜索 二叉树】

LeetCode-236. 二叉树的最近公共祖先【树 深度优先搜索 二叉树】 题目描述:解题思路一:递归判断解题思路二:0解题思路三:0 题目描述: 给定一个二叉树, 找到该树中两个指定节点的最近公共祖先。 百度百科中最近公共祖…

搞学术研究好用免费的学术版ChatGPT网站-学术AI

学术版ChatGPThttps://chat.uaskgpt.com/mobile/?user_sn88&channelcsdn&scenelogin 推荐一个非常适合中国本科硕士博士等学生老师使用的学术版ChatGPT, 对接了超大型学术模型,利用AI技术实现学术润色、中英文翻译,学术纠错&#…

利用AI结合无极低码(免费版)快速实现接口开发教程,会sql即可,不需要编写编译代码

无极低码无代码写服务+AI实践 本次演示最简单的单表无代码增删改查发布服务功能,更复杂的多表操作,安全验证,多接口调用,自自动生成接口服务,生成二开代码,生成调用接口测试,一键生成管理界面多条件检索、修改、删除、查看、通用公共接口调用、通用无限级字典调用等后续…

一、Docker部署GitLab(详细步骤)

Docker部署GitLab(详细步骤) 一、拉取镜像二、启动容器三、修改配置四、修改密码五、浏览器访问 一、拉取镜像 docker安装教程:https://qingsi.blog.csdn.net/article/details/131270071 docker pull gitlab/gitlab-ce:latest二、启动容器 …

通讯录(顺序表)保存数据

在通讯录的基础上加上三个函数实现数据的保存。 分别为录入数据,加入数据与保存数据。 加入数据 先检查通讯录空间是否足够,然后将结构体ab中的数据全部放入通讯录mn中。 注意:字符串的拷贝要使用函数strcpy而不能直接用 加入完成之后将通…

防火墙状态检测和会话机制

FW对TCP,UDP和ICMP协议的报文创建会话

Android java基础_类的继承_android 类继承(2)

运行结果:rootubuntu:/home/topeet/guyilian# javac Ext2.java rootubuntu:/home/topeet/guyilian# java Ext2 10 ustc **子类继承父类的方法和属性都可以进行覆写,我们在子类覆写父类的printInfo方法。**class Person { private int age; public void …

基于Spring Boot和Vue技术框架的虚拟形象装扮商城系统

基于Spring Boot和Vue技术框架的虚拟形象装扮商城系统。该系统能够满足用户在虚拟世界中个性化装扮的需求,提供丰富的商品分类和便捷的购物体验。为实现这一目标,项目分为后台管理系统和前台用户系统两部分。后台管理系统使用Spring Boot作为主要技术框架…

模板匹配——基于模板与基于特征的两种模板匹配对比

概述 在人工智能(AI)的研究领域中,模板匹配不仅是一个重要的研究课题,也是解决图像处理中核心问题——定位兴趣区域的关键方法之一。通过模板匹配,可以准确地识别和定位给定图像中的特定对象。这项技术在对象检测、跟…

Web Component 组件库有什么优势

前言 前端目前比较主流的框架有 react,vuejs,angular 等。 我们通常去搭建组件库的时候都是基于某一种框架去搭建,比如 ant-design 是基于 react 搭建的UI组件库,而 element-plus 则是基于 vuejs 搭建的组件库。 可能你有这种体…

LeetCode | 数组 | 二分查找 | 35.搜索插入位置【C++】

题目链接 题目描述 给定一个排序数组和一个目标值,在数组中找到目标值,并返回其索引。如果目标值不存在于数组中,返回它将会被按顺序插入的位置。 请必须使用时间复杂度为 O(log n) 的算法。 示例 1: 输入: nums [1,3,5,6], target 5 输出…