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;当然这…

H5第三天(2)

移动web响应式布局 ☞知识点-回顾 1. 什么是弹性盒子(伸缩布局) 2. 伸缩布局解决了什么问题 3. 伸缩盒子特点 有一条默认水平显示的主轴有一条始终要垂直于主轴的侧轴 4.重点掌握的属性 设置伸缩盒子 display: flex;设置主轴对齐方式 justify-content设置侧轴对齐方式 a…

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

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

[Swift]LeetCode826. 安排工作以达到最大收益 | Most Profit Assigning Work

★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★➤微信公众号&#xff1a;山青咏芝&#xff08;shanqingyongzhi&#xff09;➤博客园地址&#xff1a;山青咏芝&#xff08;https://www.cnblogs.com/strengthen/&#xff09;➤GitHub地址&a…

H5第四天(1)

boostrap框架介绍 核心知识点 boostrap框架栅格系统[重点,不是难点]基本的全局样式 学习目标 能够使用boostrap框架中的基本样式能够使用栅格系统完成阿里百秀案例 boostrap框架 介绍 https://www.bootcss.com/ Bootstrap 是最受欢迎的 HTML、CSS 和 JS 框架&#xff0c;用…

javascript基础入门知识点整理

学习目标:- 掌握编程的基本思维- 掌握编程的基本语法 typora-copy-images-to: mediaJavaScript基础 HTML和CSS 京东 课前娱乐 众人皆笑我疯癫,我笑尔等看不穿 课前说明 目标&#xff1a;掌握编程的基本思想掌握JavaScript的基础语法,使用常见API(备注)完成相应案例及练习和作业…

学习笔记-canny边缘检测

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

H5第四天(2)

Bootstrap框架 Bootstrap框架 为什么要学Bootstrap框架 Bootstrap框架: 为我们提供了用来实现响应式开发的公共资源 总结: Bootstrap框架用来实现响应式布局Bootstrap框架中重点学什么 Bootstrap框架提供了很多丰富的网页开发资源,代码有上万行代码.1. 重点学习框架中提供的基…

javascript高级实战学习

学习目标:- 理解面向对象开发思想- 掌握 JavaScript 面向对象开发相关模式- 掌握在 JavaScript 中使用正则表达式- typora-copy-images-to mediaJavaScript 高级 课程介绍 课程大纲 在线地址&#xff1a;JavaScript 高级 目标 理解面向对象开发思想 掌握 JavaScript 面向对象…

H5C3笔记微整合

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

如何开发出优秀的APICloud应用

APICloud定制平台项目实施规范APICloud应用优化策略Top30如何开发出运行体验良好、高性能的App如何开发出客户满意、能够顺利交付的App1. 引擎或模块问题&#xff1a; 遇到应用层无法解决的问题&#xff0c;如果能确定需要引擎和模块支持的&#xff0c;不要自己想办法绕过去&am…

收破烂怎么入行

收破烂分为几个环节。1、回收&#xff08;回收利用、消息传递&#xff0c;消息处理&#xff09;2、集中处理&#xff08;垃圾分类&#xff0c;垃圾测试&#xff0c;垃圾投入使用&#xff0c;成品&#xff09;3、应用&#xff08;垃圾回收再应用&#xff0c;提供给需要资源的单位…

javaScript第一天(2)

javaScript基础 1. javaScript的由来【了解】 为什么会出现js 早期出现js的原因就是为了解决一个问题: 用户和浏览器(网页)进行交互其他了解: 系统程序员Brendan Eich 设计了js语言, js语言1借鉴C语言的基本语法; (2)借鉴Java语言的数据类型和内存管理; (3)借鉴Scheme语言&…

WC2018 通道

好久以前开的坑&#xff0e; 到今天才填上&#xff0e; 首先考虑队第一颗树边分&#xff0c;然后分成两个集合\(L,R\)&#xff0c;在第二棵树上建出虚树&#xff0c;在每个路径\(lca\)处统计答案&#xff0c;维护点集的直径只有正权很好维护&#xff0e; #include <bits/std…

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;如果方…