移动端特点和flex布局

news2025/1/10 16:59:53

移动端特点和flex布局

    • 移动端特点
      • 物理分辨率和逻辑分辨率
      • 视口
      • 视口标签
      • 二倍图
    • 百分比布局
    • flex布局
      • 主轴对齐方式
      • 侧轴对齐方式
      • 伸缩比
      • 圣杯布局

移动端特点

PC端/移动端不同
PC端

  • 屏幕大,网页固定版心
  • 浏览器繁多,更多考虑兼容性问题。(布局: 浮动+定位+标准流)

移动端

  • 手机屏幕小,网页宽度多数为100%,是适配手机屏幕宽度
  • 移动端则基本不需要考虑兼容性问题,放心大胆使用CSS新特性

物理分辨率和逻辑分辨率

  1. 物理分辨率:硬件所支持的,屏幕出厂就设定无法修改
  2. 逻辑分辨率:软件可以达到的, 我们开发中写的是逻辑分辨率

视口

视口(viewport)就是浏览器显示页面内容的屏幕区域

视口的分类:

  1. 布局视口 。 iOS, Android基本都将这个视口分辨率设置为980px。

在这里插入图片描述

  1. 视觉视口。用户正在看到的网站的区域。

在这里插入图片描述

  1. 理想视口。 设备有多宽,我的网页就显示有多宽
    在这里插入图片描述

视口标签

有了视口标签,可以达到我们想要的理想视口。

<meta name="viewport" content="width=device-width, initial-scale=1.0, maximum-scale=1.0, user-scalable=0">
  • width=device-width:视口宽度=设备宽度
  • initial-scale=1.0:初始页面缩放倍数
  • maximum-scale=1.0 最大缩放倍数
  • user-scalable=0 不允许用户缩放页面(移动端) 或者为 no 如果为 yes 则允许用户缩放

二倍图

其实实际开发中还有三倍图甚至四倍图等,多倍图,但是现在市场还是二倍图偏多,我们称为二倍图。

简单理解,二倍图存在就是为了让页面中图片更加清晰,遵循即可。

  1. 网页美工的设计稿基本是 750px
  2. 我们前端工程师拿到设计稿利用像素大厨选择 2X, 进行缩小一半,按照提示的单位开发即可。

百分比布局

百分比布局, 也叫流式布局

百分比布局特点:宽度自适应,高度固定。

flex布局

flex布局极大的提高了我们布局的效率,更简单、灵活。
在这里插入图片描述

display: flex; 一定要给亲爸爸加。

主轴对齐方式

属性值作用
flex-start默认值, 起点开始依次排列
flex-end终点开始依次排列
center沿主轴居中排列
space-around弹性盒子沿主轴均匀排列, 空白间距均分在弹性盒子两侧
space-between 弹性盒子沿主轴均匀排列, 空白间距均分在相邻盒子之间
space-evenly 弹性盒子沿主轴均匀排列, 弹性盒子与容器之间间距相等

重点记住标红的。如果非要问我那个常用,我只能说是 space-between

justify-content: space-between;

显示效果:两侧没缝隙
在这里插入图片描述

justify-content: space-around;

效果如下: 记住2倍
在这里插入图片描述

justify-content: space-evenly;

效果如下: 记住空隙一样大
在这里插入图片描述

 justify-content: center;

效果如下: 经常用于让一个盒子水平居中
在这里插入图片描述

记忆:

  1. 两侧没缝隙是 between
  2. 缝隙一样大是 evenly
  3. 2倍缝隙是 around

侧轴对齐方式

属性值作用
flex-start起点开始依次排列
flex-end终点开始依次排列
center 沿侧轴居中排列
stretch默认效果, 弹性盒子沿着侧轴线被拉伸至铺满容器

重点记住center ,可以让元素垂直居中。

align-items: center;

可以通过flex让一个子盒子水平和垂直居中。
在这里插入图片描述

.father {
    width: 500px;
    height: 500px;
    background-color: pink;
    /* 设置为flex布局 */
    display: flex;
    /* 主轴水平居中 */
    justify-content: center;
    /* 侧轴垂直居中 */
    align-items: center;
}

.son {
    width: 200px;
    height: 200px;
    background-color: purple;
}

伸缩比

把父盒子分为若干份数,每个子盒子各占几份。

flex:1; 一定给子盒子加

语法:

flex: 1;

比如有一个父盒子里面有三个子盒子,每个子盒子写 flex:1; 此时每个子盒子各占三分之一。

.father {
    display: flex;
    height: 300px;
    background-color: pink;
}

.father div {
    /* 每个孩子各占1份 */
    flex: 1;
    /* 默认子盒子和父亲一样高 */
    background: purple;
}

html 结构

<div class="father">
    <div>1</div>
    <div>2</div>
    <div>3</div>
</div>

显示效果:
在这里插入图片描述

  1. 一定要给子盒子添加。
  2. 子盒子默认高度会和父盒子一样高。

圣杯布局

所谓的圣杯布局就是左右两边大小固定不变,中间宽度自适应。

一般这种布局方式适用于各种移动端顶部搜索部分,这是最常见的,如京东手机版主页面顶部搜索
在这里插入图片描述
核心思路:

  • 两侧盒子写固定大小
  • 中间盒子 flex: 1; 占满剩余空间
.top {
    display: flex;
    justify-content: center;
}

.top div:first-child {
    width: 50px;
    height: 50px;
    background-color: red;
}

.top div:last-child {
    width: 50px;
    height: 50px;
    background-color: red;
}

.top div:nth-child(2) {
    flex: 1;
    height: 50px;
    background-color: pink;
}

注意:中间flex: 1; 和 width 有冲突。 优先执行 flex:1;

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

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

相关文章

Gin+Vite实现单图上传

前言 参考文献&#xff1a;https://blog.csdn.net/heian_99/article/details/122447855 案例目的&#xff1a;实现前端上传图片并显示&#xff0c;后端保存图片&#xff1b; 技术&#xff1a;elementplus、axios、vue3、vite、gin 实现原理&#xff1a; 前端请求对应后端接口…

连通性1(Tarjan 理论版)

目录 一、无向图割点、桥、双连通分量 Tarjan 算法求割点和桥&#xff08;割边&#xff09; “割点”代码 边双和点双连通分量 边双连通分量 和 点双连通分量 的缩点 二、有向图强连通分量 1.有向图的弱连通与强连通 2.强连通分量 Kosaraju算法 Tarjan 算法&#xff08…

读书笔记:Python绘制三维图像 ← 斋藤康毅

下文给出了绘制函数 的 Python 代码。 很显然&#xff0c;这是一个三维图像。【绘制三维图像的Python代码】 import numpy as np import matplotlib.pyplot as plt from mpl_toolkits.mplot3d import Axes3Dfigplt.figure() axAxes3D(fig) x1np.arange(-3.0, 3.0, 0.1) x2np.…

python刷题-关于日期、正则表达式的题

目录标题1、计算日期范围内的所有日期2、将Unix时间戳转换为格式化日期3、计算日期数据周同比4、正则表达式判断字符串是否是日期5、从文本中提取手机号码 --正则表达式6、批量提取网页上的手机号码7、自动提取电子邮箱地址8、验证用户密码是否规范-re.findall9、提取商品价格1…

ELK简介

什么是ELKE: Elasticsearch全文搜索引擎L: logstash日志采集工具K: kibana ES的可视化工具ELK是当今业界非常流行的日志采集保存和查询的系统我们编写的程序,会有很多日志信息,但是日志信息的保存和查询是一个问题IDEA控制台是一个临时显示的位置,我们可以将它保存在文件中但是…

Jetpack架构组件库:Room

Room Room是一款轻量级orm数据库&#xff0c;本质上是一个基于SQLite之上的抽象层。它通过注解的方式提供相关功能&#xff0c;编译时自动生成实现Impl&#xff0c;相比纯 SQLite 的API使用方式更加简单。另外一个相比于SQLite API的优势是&#xff1a;它会在编译时检查 SQL 语…

SpringBoot+Vue项目在线视频教育平台

文末获取源码 开发语言&#xff1a;Java 框架&#xff1a;springboot JDK版本&#xff1a;JDK1.8 服务器&#xff1a;tomcat7 数据库&#xff1a;mysql 5.7/8.0 数据库工具&#xff1a;Navicat11 开发软件&#xff1a;eclipse/myeclipse/idea Maven包&#xff1a;Maven3.3.9 浏…

网络原理之HTTP/HTTPS、TCP、IP四层协议栈

文章目录一、应用层&#xff08;一&#xff09;xml协议&#xff08;二&#xff09;json协议&#xff08;三&#xff09;protobuffer协议&#xff08;四&#xff09;HTTP协议1. 抓包工具&#xff0c;fiddler2. HTTP报文格式3. HTTP请求(Request)&#xff08;1&#xff09;URL基本…

【VisualBasicApplication】Excel编程

VBAExcel的宏与VBA宏的录制宏的启动运行快捷键运行宏&#xff1a;使用Excel对象运行宏*VBA的数据类型字符串&#xff08;String&#xff09;整形&#xff08;Integer&#xff09;和长整形&#xff08;Long&#xff09;单精度浮点型&#xff08;Single&#xff09;和双精度浮点型…

3.mysql查询必备sql语句

文章目录1.条件查询 where2. 通配符与模糊查询3. 映射4. 排序 order_by5. 取部分 limit 和offset6. 分组 group by7.左右连表 left outer join ... on8. 联合查询 union1.条件查询 where 表内容&#xff1a; import pymysqlconn pymysql.connect(host127.0.0.1,port3306,u…

向QAbstractItemView子类如:QTreeView、QTableView等子项单元格插入窗体小部件的功能实现(第2种方法)

1.前言工作中经常会遇到这样的需求&#xff1a;向QAbstractItemView子类如QTreeView、QTableView单元格插入窗体小部件&#xff0c;如&#xff1a;进度条、按钮、单行编辑框等。下面链接的系列博文就是讲解如何实现该功能的。《向QAbstractItemView子类如:QTreeView、QTableVie…

LeetCode 2500. 删除每行中的最大值

给你一个 m x n 大小的矩阵 grid &#xff0c;由若干正整数组成。 执行下述操作&#xff0c;直到 grid 变为空矩阵&#xff1a; 从每一行删除值最大的元素。如果存在多个这样的值&#xff0c;删除其中任何一个。 将删除元素中的最大值与答案相加。 注意 每执行一次操作&#…

行为型模式-状态模式

1.概述 【例】通过按钮来控制一个电梯的状态&#xff0c;一个电梯有开门状态&#xff0c;关门状态&#xff0c;停止状态&#xff0c;运行状态。每一种状态改变&#xff0c;都有可能要根据其他状态来更新处理。例如&#xff0c;如果电梯门现在处于运行时状态&#xff0c;就不能…

时序数据处理中的拟合问题

对于深度学习或机器学习模型而言,我们不仅要求它对训练数据集有很好的拟合(训练误差),同时也希望它可以对未知数据集(测试集)有很好的拟合结果(泛化能力),所产生的测试误差被称为泛化误差。度量泛化能力的好坏,最直观的表现就是模型的过拟合(overfitting)和欠拟合(…

一起Talk Android吧(第四百七十五回:渐变类视图动画)

文章目录使用方法属性介绍示例代码共用属性各位看官们大家好&#xff0c;上一回中咱们说的例子是"如何使用视图动画",这一回中咱们说的例子是"渐变类视图动画"。闲话休提&#xff0c;言归正转&#xff0c;让我们一起Talk Android吧&#xff01; 看官们&am…

移动web动画

移动web动画动画动画属性鼠标经过暂停动画多组动画鼠标经过暂停动画多组动画动画 动画最大的特点可以不用鼠标触发&#xff0c;自动的&#xff0c;反复的执行某些动画。 动画使用分为定义和调用&#xff1a; 定义&#xff1a; /* 1. 定义的动画 */ keyframes dance {from {tr…

恶意代码分析实战 12 对抗反汇编

12.1 Lab15-01 问题 这个二进制程序中使用了何种对抗反汇编技术&#xff1f; 首先&#xff0c;使用IDA载入该文件。 我们可以看到这个程序在地址0040100E处存在一个对抗反汇编技术的痕迹。 eax总是被置为零&#xff0c;jz跳转总是被执行。所以我们认为这一行是假冒的call指…

Docker的架构设计

前面我们研究了Docker容器的本质是一个特殊的进程&#xff0c;那么这个特殊进程是如何创建、如何终止的那&#xff1f;也就是说是谁来管理这个容器进程的生命周期的那&#xff1f;在mac操作系统中我们可以通过活动监视器来观察操作系统里面有哪些进程&#xff0c;以及通过活动监…

推荐算法:序列召回

目录 序列召回&#xff08;一&#xff09; 序列召回&#xff08;二&#xff09; 序列召回&#xff08;三&#xff09; 序列召回&#xff08;四&#xff09; 序列召回&#xff08;一&#xff09; 源自论文&#xff1a;http://arxiv.org/abs/1511.06939 基于GRU的序列召回中通过…

青训营项目实战1

项目实战 实现掘金青训营报名页码的后端部分 需求描述 展示话题&#xff08;标题、文字描述&#xff09;和回帖列表 不考虑前端页面实现&#xff0c;仅实现一个本地web服务 话题和回帖数据用文件存储 附加要求&#xff1a; 支持发布帖子 本地id生成要保证不重复 append文件 更…