H5的第二天

移动web开发——flex布局

目标

  • 了解flex布局的优缺点及原理
  • 能够说出flex布局原理、使用语法、特点(重点)
  • 能够使用flex布局常用属性(重点)
  • 能够独立完成携程移动端首页

1.0 传统布局和flex布局对比

1.1传统布局

  • 兼容性好
  • 布局繁琐

1.2 flex布局

  • 操作方便,布局极其简单
  • 移动端webkit内核都支持该属性
  • pc端浏览器支持情况比较差、IE11或更低版本不支持flex或仅支持部分

1.3 建议

  • 如果是pc端页面布局,还是采用传统方式
  • 如果是移动端或者是不考虑兼容的pc则采用flex

演示:
在这里插入图片描述

2.0 flex布局(原理、特点、使用语法)

  • 名称:flex 是 flexible Box 的缩写,意为"弹性布局",把布局分为父项和子项
    • 面试叫法:flex布局又叫伸缩 布局弹性布局伸缩盒布局弹性盒布局
  • 原理
    • 采用 Flex 布局的元素,称为 Flex 容器(flexcontainer),父级简称"容器"。
    • 它的所有子元素自动成为容器成员,称为 Flex 项目(flexitem),简称"项目"。
      在这里插入图片描述

使用语法:flex布局入口,加在父项上;

display:flex;
  • 特点
    • 任何一个标签都可以指定使用 flex 布局。
    • 当为父盒子设为 flex 布局以后,子元素的 float、clear 和 vertical-align 属性将失效。
    • 使用思想上和传统盒子完全不同,不要再想子元素是块级元素、行内元素等

总结:就是通过给父盒子添加flex属性,来控制子盒子的位置和排列方式

3.0 父项常见属性

  • flex-direction:设置主轴的方向
  • justify-content:设置主轴上的子元素排列方式
  • flex-wrap:设置子元素是否换行
  • align-content:设置侧轴上的子元素的排列方式(多行)
  • align-items:设置侧轴上的子元素排列方式(单行)
  • flex-flow:复合属性,相当于同时设置了 flex-direction 和 flex-wrap

3.1 flex-direction设置主轴的方向(重要)

  • 在 flex 布局中,是分为主轴和侧轴两个方向,同样的叫法有 : 行和列、x 轴和y 轴
  • 默认主轴方向就是 x 轴方向,水平向右
  • 默认侧轴方向就是 y 轴方向,水平向下

在这里插入图片描述
注意: 主轴和侧轴是会变化的,就看 flex-direction 设置谁为主轴,剩下的就是侧轴。而我们的子元素是跟着主轴来排列的在这里插入图片描述

3.2 justify-content 设置主轴上的子元素排列方式

在这里插入图片描述

3.3 flex-wrap设置是否换行

  • 默认情况下,项目都排在一条线(又称”轴线”)上。flex-wrap属性定义,flex布局中默认是不换行的。
  • nowrap 不换行:放不开,会缩小子元素的宽度,放到父元素里面
  • wrap 换行

在这里插入图片描述

3.4 align-items 设置侧轴上的子元素排列方式(单行 )

在这里插入图片描述

  • 该属性是控制子项在侧轴(默认是y轴)上的排列方式 在子项为单项(单行)的时候使用
  • flex-start 从头部开始
  • flex-end 从尾部开始
  • center 居中显示
  • stretch 拉伸
    在这里插入图片描述

练习:设置子盒子在父级盒子中水平垂直都居中

3.5 align-content 设置侧轴上的子元素的排列方式(多行)

在这里插入图片描述
设置子项在侧轴上的排列方式 并且只能用于子项出现 换行 的情况(多行),在单行下是没有效果的。

  • strech: 默认值 设置多行子元素平均分配父元素
  • flex-start: 在侧轴的头部开始排列
  • flex-end: 在侧轴尾部开始平均分布
  • center: 在侧轴中间显示
  • space-around: 子项在侧轴上平均分布;
  • space-between: 子项在侧轴上先两头分布,再把平分剩余空间

3.6 align-content 和align-items区别

  • align-items 适用于单行情况下, 只有上对齐、下对齐、居中和 拉伸
  • align-content适应于换行(多行)的情况下(单行情况下无效), 可以设置 上对齐、下对齐、居中、拉伸以及平均分配剩余空间等属性值。
  • 总结就是单行找align-items 多行找 align-content

3.7 flex-flow 属性是 flex-direction 和 flex-wrap 属性的复合属性

flex-flow:row wrap;

重点案例 :nav导航
在这里插入图片描述
分析:

  • 整体:
    • 确认主轴,水平向右;
  • 单独一个元素:
    • 整体单个元素:flex布局;
    • 确认主轴:Y轴,列;
    • 侧轴对齐:居中;

4.0 flex布局子项常见属性

  • flex子项目占的份数
  • align-self控制子项自己在侧轴的排列方式
  • order属性定义子项的排列顺序(前后顺序)

4.1 flex 属性(重要)

  • flex 属性定义子项目分配剩余空间,用flex来表示占多少份数。
  • 应用:
    • 圣杯布局
    • 子项按比例分配
.item {flex: <number>; /* 默认值 0 */
}

4.3 order 属性定义项目的排列顺序

数值越小,排列越靠前,默认为0。

注意:和 z-index 不一样。

.item {

5.0 携程网首页案例制作

携程网链接:添加链接描述

5.1技术选型

方案:我们采取单独制作移动页面方案

技术:布局采取flex布局

在这里插入图片描述

5.3设置视口标签以及引入初始化样式

<meta name="viewport" content="width=device-width, user-scalable=no,initial-scale=1.0, maximum-scale=1.0, minimum-scale=1.0"><link rel="stylesheet" href="css/normalize.css">
<link rel="stylesheet" href="css/index.css">

5.4常用初始化样式

body {max-width: 540px;min-width: 320px;margin: 0 auto;font: normal 14px/1.5 Tahoma,"Lucida Grande",Verdana,"Microsoft Yahei",STXihei,hei;color: #000;background: #f2f2f2;overflow-x: hidden;-webkit-tap-highlight-color: transparent;
}

5.5 模块名字划分

在这里插入图片描述

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

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

相关文章

d3.js 入门指南 - 仪表盘

D3的全称是Data-Driven Documents&#xff08;数据驱动的文档&#xff09;&#xff0c;是一个用来做数据可视化的JavaScript函数库&#xff0c;而JavaScript文件的后缀通常为.js&#xff0c;所以D3被称为D3.js。 d3.js可以定制出各种图形&#xff0c;今天来用d3.js制作一个简易…

[转帖]华为的“大海思”与“小海思”

华为的“大海思”与“小海思” https://www.cnbeta.com/articles/tech/828275.htm没先到华为海思这么狠.. 作为华为的全资子公司&#xff0c;说起海思半导体&#xff0c;大家可能第一时间会想起麒麟处理器。经过多年的持续的研发投入&#xff0c;华为海思自研的麒麟处理器现在确…

H5第三天(1)

响应式布局 ☞核心知识点 less媒体查询 学习目标 掌握less基本语法能够使用less编写css代码能够掌握媒体查询能够使用媒体查询实现响应式布局 Less介绍 维护CSS的弊端 CSS本质上不是一门语言,是一个简单的样式表.代码维护相对老套,不够灵活.LESS介绍 ☞LESS预处理器: 依…

CocosPods 引入项目,哪些文件需要上传到服务器呢?

以上除Podfile外&#xff0c;其它三个文件都不是必须提交的。其中Pods目录没必要提交&#xff0c;里面的文件都是根据Podfile描述的依赖库的配置信息下载和生成的文件。因为CocoaPods支持语义化版本号&#xff0c;所以需要Podfile.lock文件记住当前使用的版本&#xff0c;当然这…

X-AdminABP框架开发-系统日志

网站正常运行中有时出现异常在所难免&#xff0c;查看系统运行日志分析问题并能够根据错误信息快速解决问题尤为重要&#xff0c;ABP对于系统运行日志这块已经做了很好的处理&#xff0c;默认采用的Log4Net已经足够满足开发过程中的需要了(当然有需要的话也可以更换为其它日志组…

学习笔记-canny边缘检测

Canny边缘检测 声明&#xff1a;阅读本文需要了解线性代数里面的点乘&#xff08;图像卷积的原理&#xff09;&#xff0c;高等数学里的二元函数的梯度&#xff0c;极大值定义&#xff0c;了解概率论里的二维高斯分布 1.canny边缘检测原理和简介 2.实现步骤 3.总结 一、 Canny边…

H5C3笔记微整合

传统布局&#xff08;宽度百分比设置&#xff09; 伸缩布局&#xff08;flex&#xff09; 自适应布局&#xff08;lessrem媒体查询&#xff09; 1、less的使用 2、rem的使用 我的理解&#xff1a; 1、假如想把ui 给的图片设置在网页上&#xff0c;给网页设置个份额值为 x 2、…

javaScript第一天(1)

01-JavaScript基础 核心知识点 javaScript书写位置javaScript变量javaScript数据类型javaScript数据类型转换javaScript运算符 今日学习目标 能够定义一个变量并完成变量的赋值能够说出每一种具体的数据类型能够数据类型之间的相互转化能够掌握各种运算符的作用 序言 Java…

javaScript第二天(1)

02-JavaScript基础 1.核心知识点 运算符分支语句 【重点】断点调试 [查看程序逻辑的一个技能] 2.今日学习目标 能够掌握js中相关的运算符 能够掌握理解算数运算符使用及特点能够掌握赋值运算符的使用及特点能够掌握一元运算符的使用及特点能够掌握比较运算符的特点,理解等于…

第四周总结

第四周作业 这次作业属于哪个课程C语言程序设计这个作业要求在哪里第四周作业我的课程目标全部学会这个作业在那个具体方面帮助我实现目标深入了解二维数组参考文献教科书一&#xff0c;基础作业 程序填空题5-1 输入一个正整数 n (1≤n≤10)和n 阶方阵a的元素&#xff0c;如果方…

2019春季学期第四周作业

2019春季学期第四周作业 这个作业属于那个课程C语言程序设计Ⅰ这次作业要求在哪里2019春季学期第四周作业我在这个课程的目标是我希望能够更加掌握循环和排序参考文献无选择法排序 本题要求将给定的n个整数从大到小排序后输出。输入格式&#xff1a; 输入第一行给出一个不超过1…

javaScript第二天(2)

02JavaScript基础随堂笔记 01.运算符[☆] 知识点-算数运算符 作用就是进行 加, 减, 乘, 除 , 取余运算的 算数运算符的重点是通过算数运算和可以实现类型转换 加号可以实现数据类型转换: 一个数字和一个空字串相加最后的结果就是字符串减号也可以实现数据类型转换乘法符号也可…

MFC中的基本知识

转载于:https://www.cnblogs.com/o8le/archive/2012/05/21/2512178.html

Python中字符串操作函数string.split('str1')和string.join(ls)

Python中的字符串操作函数split 和 join能够实现字符串和列表之间的简单转换&#xff0c; 使用 .split()可以将字符串中特定部分以多个字符的形式&#xff0c;存储成列表 1 def split(self, *args, **kwargs): # real signature unknown2 """3 …

javaScript第三天(1)

03-JavaScript基础 1.核心知识点 分支语句 【重点】断点调试 [查看程序逻辑的一个技能]循环语句[重点 ☆☆☆] 2.今日学习目标 能够掌握条件判断分支语句能够掌握switch分支语句能够掌握三元表达式分支语句能够掌握循环语句 条件判断&#xff08;分支&#xff09; 语法 //…

javascript第三天(2)

03JavaScript基础课堂笔记 01-分支语句 知识点-多条件判断分支语句 语法 if(条件) {代码1 }else if(条件) {代码2 }else if(条件) {代码3 }else {代码4 }执行过程 1. 代码自上而下执行 2. 程序先判断第一个条件是否成立 true 还是 false 3. 如何第一个条件的结果是 true,那么就…

VI编辑器常用命令

vi —终端中的编辑器 vi 简介 打开和新建文件 三种工作模式 常用命令 分屏命令 01. vi 简介 1.1 学习 vi 的目的 在工作中&#xff0c;要对 服务器 上的文件进行 简单 的修改&#xff0c;可以使用 ssh 远程登录到服务器上&#xff0c;并且使用 vi 进行快速的编辑即可 常见…

20175213 2018-2019-2 《Java程序设计》第4周学习总结

## 教材学习内容总结 在第四周的学习过程中&#xff0c;我学习了第五章的内容。 第五章内容总结&#xff1a; 1.子类继承的方法只能操作子类继承和隐藏的成员变量。 2.子类和父类在同一包的继承性 子类自然继承了其父类中不是private的成员作为自己的成员。 3.子类和父类不在同…

伪静态回发

&#xff08;1&#xff09;自定义一个Actionlessform类&#xff0c;在aspx中不再使用系统提供的form 标记 创建此类并对其进行编译之后&#xff0c;要在 ASP.NET Web 应用程序中使用它&#xff0c;应首先将其添加到 Web 应用程序的 References 文件夹中。然后&#xff0c;要 使…

Supercomputer 解题报告

Supercomputer 设\(f_i\)为前\(i\)个时间内必须的完成的任务个数&#xff0c;那么答案就是\[ \max_{i}\lceil\frac{f_i}{i}\rceil \] 现在要支持区间加和全局\(\max\) 考虑分块&#xff0c;对每个块维护一个\(tag\)表示加标记 块内的\(\max\)则为\[ \max_i \frac{1}{i}\times t…