当前位置: 首页 > news >正文

前端--移动端布局--2移动开发之flex布局

目标:

·能够说出flex盒子的布局原理

·能够使用flex布局的常用属性

·能够独立完成携程移动端首页案例

目录:

·flex布局体验

·flex布局原理

·flex布局父项常见属性

·flex布局子项常见属性

·写出网首页案例制作

1.flex布局体验

1.1传统布局与flex布局

传统布局

·兼容性好

·布局繁琐

·局限性,不能再移动端很好的布局

flex弹性布局

·操作方便,布局极为简单,移动端应用很广泛

·PC端浏览器支持情况较差

·IE 11或更低版本,不支持或仅部分支持

建议:

1.如果是PC端页面布局,我们还是传统布局

2.如果是移动端或者不考虑兼容性问题的PC端页面布局,我们还是使用flex弹性布局

2.flex布局原理

2.1 布局原理

flex意为“弹性布局” ,用来为盒状模型提供最大的灵活性,任何应该容器都可以指定为flex布局。

·当我们为父盒子设为flex布局以后,子元素的float、clear和vertical-align属性将失效。

因为flex本身就可以把盒子放一行来显示,所以在flex中不需要浮动就可以做到,所以不需要flex浮动和clear清除浮动;因为flex盒子可以让我们垂直居中,所以不需要vertical-align.

·伸缩布局=弹性布局=伸缩盒布局=弹性盒布局=flex布局

采用flex布局的元素,称为flex容器,简称为“容器”。它的所有的子元素自动称为容器成员,称为flex项目,简称”项目“。

总结flex布局原理:

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

3.flex布局父项常见属性

3.1 常见父项属性

记住别忘了先给父元素添加display:flex;哟

以下由6个属性是对父元素设置的

·flex-direction: 设置主轴的方向

·justify-content:设置株洲上的子元素排列方式

·flex-wrap:设置子元素是否换行

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

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

·flex-flow:复合属性,相对于同时设置了flex-direction和flex-wrap

3.2 flex-direction设置主轴的方向

1.主轴和侧轴

在flex布局中,是分为主轴和侧轴两个方向,同样的叫法有:行和列、x轴和y轴

·默认主轴方向就是x轴方向,水平向右

·默认侧轴方向就是y轴方向,水平向下

2.属性值

flex-direction属性绝对主轴的方向(即项目的排列方向)

注意:主轴和侧轴是会变化的,就看flex-direction设置谁为主轴,剩下的就是侧轴。

而我们的子元素就是跟着主轴来排列的。

row即x为主轴,column即y为主轴

属性值说明
row默认值从左到右
row-reverse从右到左
column从上到下
colimn-reverse从下到上

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

 justify-content属性定义了项目在主轴上的对齐方式

注意:使用这个属性之前一定要确认好主轴是哪个

属性值说明
flex-start默认值 从头部开始 如果主轴是x轴,则从左到右
flex-end从尾部开始排列
center在主轴居中对齐(如果主轴是x轴则 水平居中)
space-around平分剩余空间
space-between先两边贴边 再平分剩余空间(重要)

3.4 flex-wrap 设置子元素是否换行

默认情况下,项目都排在一条线上(又称”轴线“)上,flex-wrap属性定义,flex布局中默认是不换行的。如果装不开会缩小子元素的宽度,从而使得所有子元素都放到父元素一条线上面。

但是我们想要如果装不开就换行显示,不想要它修改子元素大小。

属性值说明
nowrap默认值,不换行
wrap换行

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

该属性是控制子项在侧轴(默认是y轴)上的排列方式 在子项为单项(单行)的时候使用,即父元素中子元素只有一行。

属性值说明
flex-start从上到下
flex-end从下到上
center挤在一起居中(垂直居中)
stretch拉伸(默认值)

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

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

属性值说明
flex-start默认值在侧轴的头部开始排列
flex-end在侧轴的尾部开始排列
center在侧轴中间显示
space-around子项在侧轴平分剩余空间
space-between子项在侧轴先分布在两头,再平分剩余空间
stretch设置子项元素高度平分父元素高度

3.6 align-content 和align-items区别 

·align-items 适用于单行情况下,只有上对齐、下对齐、居中和拉伸。

·align-content 适应与换行(多行)的情况下(单行情况下无效),可以设置上对齐、下对齐、拉伸、居中以及平均分配剩余空间等属性值。

·总结就是单行找align-items 多行找align-content

3.7 flex-flow

flex-flow属性是flex-direction (设置主轴)和flex-wrap(换行)属性的复合属性

flex-flow : row wrap;

小总结:

①设置哪个是主轴--flex-direction

②设置主轴上元素排列方式--justify-content

③设置侧轴上元素排列方式--align-content、align-items

④是否自动换行--flex-wrap

·flex-direction: 设置主轴的方向

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

·flex-wrap:设置子元素是否换行

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

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

·flex-flow:复合属性,相对于同时设置了flex-direction和flex-wrap

4.flex布局子项常见属性

·flex子项目占的份数

·align-self控制子项主机在侧轴的排列方式

·order属性定义子项的排列顺序(前后顺序)

4.1 flex属性

flex属性定义子项目分配剩余空间,用flex来表示占多少份数

.item {

     flex: <number>;  /*default 0 */

}

4.2 align-self 控制子项自己在侧轴上的排列方式

align-self属性允许单个项目有与其它项目不一样的对齐方式,可以覆盖align-items属性。

默认值为auto,表示继承父元素的align-items属性,如果没有父元素,则等同于stretch。

要是我相子元素中某一个单独做不一样的排列方式就可以用align-self

span:nth-child(2) {

        /*设置自己在侧轴上的排列方式*/

       align-self: flex-end;

}

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

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

注意:和z-index不一样

案例:携程网首页案例制作

1.固定定位的盒子应该给宽度。

 2.注意:固定定位与父级没有关系,它是以屏幕为准的,我给它width:100%;是指跟屏幕一样宽,而不是跟父级盒子一样宽

3.精灵图复习

 4.用了定位后,margin值就不起效果了,可以用定位里的top,left设置值

5.有个布局小技巧:

6.怎么快速更换里面的图片:

用属性选择器或者nth:child()

 7.nth-child()里面 n+2是指从第2个开始,而-n+2即选前两个

8.文字阴影:text-shadow: x轴 y轴 阴影 rgba(0,0,0,.几);

盒子阴影:border-shadow:x轴 y轴 阴影 rgba(0,0,0,.几);

9.  /* 这里bottom center指靠底部中间对齐 */

    background: url(../images/c.png) no-repeat bottom center;

10 .背景线性渐变

11.flex:1; 不仅可以写1,还可以写百分比,相对于父级来说的,即每个占父盒子的百分之几 

12.定位和浮动都拥有行内块特性,所以有时候伪元素加上定位即从行内元素转换为行内块元素了,所以就不用再转换为块级元素了。

相关文章:

前端--移动端布局--2移动开发之flex布局

目标&#xff1a; 能够说出flex盒子的布局原理 能够使用flex布局的常用属性 能够独立完成携程移动端首页案例 目录&#xff1a; flex布局体验 flex布局原理 flex布局父项常见属性 flex布局子项常见属性 写出网首页案例制作 1.flex布局体验 1.1传统布局与flex布局 传…...

【移动端网页布局】移动端网页布局基础概念 ① ( 移动端浏览器 | 移动端屏幕分辨率 | 移动端网页调试方法 )

文章目录 一、移动端浏览器二、移动端屏幕分辨率三、移动端网页调试方法 一、移动端浏览器 移动端浏览器 比 PC 端浏览器发展要晚 , 使用的技术比较新 , 对 HTML5 CSS3 支持较好 , 常见的浏览器如下 : UC / QQ / Opera / Chrom / 360 / 百度 / 搜狗 / 猎豹 国内的浏览器 基本…...

无线洗地机哪款性价比高?高性价比的洗地机分享

虽说现在市面上清洁工具很多&#xff0c;但是要说清洁效果最好的&#xff0c;肯定非洗地机莫属。它集合了吸&#xff0c;洗&#xff0c;拖三大功能&#xff0c;干湿垃圾一次清理&#xff0c;还能根据地面的脏污程度进行清洁&#xff0c;达到极致的清洁效果&#xff0c;省时省力…...

精通 Python OpenCV4:第三、四部分

原文&#xff1a;Mastering OpenCV 4 with Python 协议&#xff1a;CC BY-NC-SA 4.0 译者&#xff1a;飞龙 本文来自【ApacheCN 计算机视觉 译文集】&#xff0c;采用译后编辑&#xff08;MTPE&#xff09;流程来尽可能提升效率。 当别人说你没有底线的时候&#xff0c;你最好真…...

在现成的3D打印机上进行实验理论:一种数据孪生的攻击探测框架

在现成的3D打印机上提供了一种DT中攻击探测框架的DT解决方案的实验演示&#xff0c;作为说明性CPMS资源。通过网络安全DT对打印机正常运行、异常运行和攻击三种情况下的实验数据进行收集和分析&#xff0c;得出攻击检测结果。实验装置概述如下图所示。该实验研究是在现实世界设…...

网络通信之传输层协议

文章目录 传输层在网络通信中扮演的角色认识TCP协议TCP协议的多种机制确认应答(ACK)机制超时重传机制连接管理机制&#x1f53a;滑动窗口流量控制拥塞控制延迟应答捎带应答面向字节流粘包问题TCP异常处理 总结 传输层在网络通信中扮演的角色 上图是网络通信中五个模块&#xff…...

短视频app开发:如何提高视频播放稳定性

简介 如今&#xff0c;短视频已经成为人们日常生活中不可或缺的一部分&#xff0c;而短视频app的开发也日益成为了人们热议的话题。在短视频app开发的过程中&#xff0c;如何提高视频播放稳定性是一个非常重要的问题。本文将从短视频源码角度出发&#xff0c;分享提高短视频ap…...

软件测试,想找一份20k以上的工作需要掌握哪些知识?

都知道IT行业是高薪人员的聚集地&#xff0c;但想要成为高薪程序员却并不容易。月薪20k是测试工程师的一个门槛&#xff0c;想要突破就必须掌握更多的技能。 因为程序员职业发展很快&#xff0c;即使是相同起点的人&#xff0c;经过几年的工作或学习&#xff0c;会迅速拉开极…...

PostgreSQL标准复制方案

集群拓扑 假设我们使用4单元的标准配置&#xff1a;主库&#xff0c;同步从库&#xff0c;延迟备库&#xff0c;远程备库&#xff0c;分别用字母M,S,O,R标识。 M&#xff1a;Master, Main, Primary, Leader, 主库&#xff0c;权威数据源。S: Slave, Secondary, Standby, Sync…...

AOD实践,modis数据下载,modis数据处理

modis数据下载-数据读取-重投影-拼接-均值 一、数据下载 1、Cygwin安装 Cygwin安装教程&#xff1a;https://blog.csdn.net/u010356768/article/details/90756742 1.2 数据采集 现提供遥感数据下载服务&#xff0c;主要是NASA数据&#xff0c;数据下载网站包括&#xff1a…...

常见的注册中心Nacos、Eureka

常见的注册中心 1.Eureka&#xff08;原生&#xff0c;2.0遇到瓶颈&#xff0c;停止维护&#xff09; 2.Zookeeper&#xff08;支持&#xff0c;专业的独立产品。例如&#xff1a;dubbo&#xff09; 3.Consul&#xff08;原生&#xff0c;GO语言开发&#xff09; 4.Nacos …...

逆向思维书籍推荐

《逆向思维》作者&#xff1a;德鲁克 《逆向思维法》作者&#xff1a;艾伦哈勃 《逆向思维&#xff1a;如何解决问题》作者&#xff1a;托尼布赖恩特 《逆向思维的力量》作者&#xff1a;李开复 《逆向思维&#xff1a;掌握创新的关键》作者&#xff1a;李嘉诚 《逆向思维》作…...

centos系统简析

服务器所使用的最多的系统之一便是Linux系统&#xff0c;Linux下centos系统也是常用的系统&#xff0c;今天来给大家详细说名下centos系统。 CentOS于2004年5月发布&#xff0c;作为一个完全免费且基于Linux内核的操作系统。CentOS 起源于 RHEL。其目标是提供一个免费提供的企…...

「SQL面试题库」 No_43 只出现一次的最大数字

&#x1f345; 1、专栏介绍 「SQL面试题库」是由 不是西红柿 发起&#xff0c;全员免费参与的SQL学习活动。我每天发布1道SQL面试真题&#xff0c;从简单到困难&#xff0c;涵盖所有SQL知识点&#xff0c;我敢保证只要做完这100道题&#xff0c;不仅能轻松搞定面试&#xff0…...

TEB算法详解 参数详解

teb算法的基本思路之前已经看完了&#xff0c;今天主要看一下teb算法的参数配置文件&#xff0c;分析一下每个配置参数的作用&#xff1a; teb的参数主要可以包含以下几个部分&#xff1a; 1、Trajectory Trajectory的参数顾名思义&#xff0c;就是对路径生效的一些参数&…...

JavaSE学习进阶day05_03 泛型(进阶)

第五章 泛型&#xff0c;之前基础班学习过泛型&#xff0c;但是学的不深入 需要我们掌握的内容&#xff1a;&#xff08;掌握&#xff09; 1&#xff0c;如何使用一个带有泛型的类 2&#xff0c;如何使用一个带有泛型的方法 代码示例&#xff1a; ArrayList<String> lis…...

Flutter 布局探索 | 如何分析尺寸和约束

theme: cyanosis 前言 本文来分享一下&#xff0c;通过查看源码和布局信息解决的一个实际中的布局小问题&#xff0c;也希望通过本文的分享&#xff0c;当你遇到布局问题时&#xff0c;可以靠自己的脑子和双手解决问题。 如下所示&#xff0c;将 TextField 作为 AppBar 组件的 …...

01-Java基础知识面试题(2020最新版)

Java概述 何为编程 编程就是让计算机为解决某个问题而使用某种程序设计语言编写程序代码&#xff0c;并 终得到结果的过程。 为了使计算机能够理解人的意图&#xff0c;人类就必须要将需解决的问题的思路、方法、 和手段通过计算机能够理解的形式告诉计算机&#xff0c;使得…...

同一台电脑管理多个ssh key

默认情况下&#xff0c;我们在本地电脑生成的密钥都是 id_rsa 和 id_rsa.pub &#xff0c;git 默认情况下也只会读取这个私钥&#xff0c;所以我们需要修改一些配置来支持多个SSH Key。 本文基于Linux系统&#xff0c;Windows系统类似 第一步&#xff1a;生成ssh公私钥 ljhp…...

《UVM实战》学习笔记——第七章 UVM中的寄存器模型2——期望值/镜像值、自动/显示预测、操作方式

文章目录 前言一、寄存器模型对DUT的模拟1.1 期望值和镜像值1.2 常见操作对期望值和镜像值的影响 二、prediction分类2.1 自动预测2.2 显式预测 三、访问寄存器方式四、mem和reg的联系和差别五、内建built_in sequence5.1 寄存器模型内建序列5.2 存储器模型内建序列5.3 禁止域名…...

企微私域工具数据安全与合规:5个必查项

某公司用了半年企微私域工具&#xff0c;突然发现客户手机号被工具厂商用来发营销短信。法务一查&#xff0c;原来是协议里写了“数据可用于优化产品”。选【企微私域工具】&#xff0c;数据安全比功能更重要。今天列出5个必须检查的安全合规点。企微工具选择要把安全放第一位&…...

Phi-4-mini-reasoning实操手册:Web界面响应延迟高?GPU显存占用诊断方法

Phi-4-mini-reasoning实操手册&#xff1a;Web界面响应延迟高&#xff1f;GPU显存占用诊断方法 1. 问题背景与现象分析 当使用Phi-4-mini-reasoning进行推理任务时&#xff0c;Web界面响应延迟高是一个常见问题。这种情况通常表现为&#xff1a; 点击"开始生成"按…...

百考通:AI精准驱动数据分析,让数据价值更具人工写作的温度与逻辑

在数字化浪潮席卷各行各业的今天&#xff0c;数据已成为核心生产要素&#xff0c;但如何从海量数据中挖掘价值、辅助决策&#xff0c;始终是企业与个人面临的核心难题。传统数据分析流程繁琐、技术门槛高、周期漫长&#xff0c;让许多非专业人士望而却步。百考通&#xff08;ht…...

甲言(Jiayan):终极古汉语NLP工具包的完整使用指南

甲言&#xff08;Jiayan&#xff09;&#xff1a;终极古汉语NLP工具包的完整使用指南 【免费下载链接】Jiayan 甲言&#xff0c;专注于古代汉语(古汉语/古文/文言文/文言)处理的NLP工具包&#xff0c;支持文言词库构建、分词、词性标注、断句和标点。Jiayan, the 1st NLP toolk…...

零基础玩转OpenClaw:Qwen3-14B镜像云端体验指南

零基础玩转OpenClaw&#xff1a;Qwen3-14B镜像云端体验指南 1. 为什么选择云端体验OpenClaw&#xff1f; 去年冬天&#xff0c;我第一次尝试在本地笔记本上部署OpenClaw时&#xff0c;经历了整整两天的环境配置噩梦。从CUDA版本冲突到Python依赖地狱&#xff0c;最后连显卡驱…...

three.ar.js 终极入门指南:10分钟快速上手 WebAR 开发

three.ar.js 终极入门指南&#xff1a;10分钟快速上手 WebAR 开发 【免费下载链接】three.ar.js A helper three.js library for building AR web experiences that run in WebARonARKit and WebARonARCore 项目地址: https://gitcode.com/gh_mirrors/th/three.ar.js th…...

终极指南:如何轻松提取Xbox Game Pass游戏存档,实现跨平台无缝迁移

终极指南&#xff1a;如何轻松提取Xbox Game Pass游戏存档&#xff0c;实现跨平台无缝迁移 【免费下载链接】XGP-save-extractor Python script to extract savefiles out of Xbox Game Pass for PC games 项目地址: https://gitcode.com/gh_mirrors/xg/XGP-save-extractor …...

效率倍增:用快马打造Ollama多模型对比测试工具

最近在折腾本地大模型时&#xff0c;发现Ollama虽然能方便地运行多个模型&#xff0c;但每次想对比不同模型的表现都得手动切换&#xff0c;特别影响效率。于是琢磨着做个工具来提升测试效率&#xff0c;顺便把实现过程记录下来分享给大家。 需求痛点分析 本地测试不同模型时&a…...

OpenClaw+Qwen3-14b_int4_awq:个人博客自动化更新方案

OpenClawQwen3-14b_int4_awq&#xff1a;个人博客自动化更新方案 1. 为什么需要博客自动化更新 作为一个技术博主&#xff0c;我经常遇到这样的困境&#xff1a;好不容易挤出时间写完一篇技术文章&#xff0c;却因为各种琐事耽误了发布。要么是忘记更新Hexo的front matter&am…...

如何彻底解决Windows热键冲突?5个专业级排查与优化方案

如何彻底解决Windows热键冲突&#xff1f;5个专业级排查与优化方案 【免费下载链接】hotkey-detective A small program for investigating stolen key combinations under Windows 7 and later. 项目地址: https://gitcode.com/gh_mirrors/ho/hotkey-detective 你是否经…...