【前端】移动端布局

目录

1.移动端特点

分辨率

二倍图 

2.百分比布局

3.flex布局

 3.1flex布局模型

3.2主轴对齐方式 

3.3 侧轴对齐方式

3.4flex属性 


1.移动端特点

PC端网页和移动端网页的不同

  • PC端网页:屏幕大,网页固定版心  jd.com
  • 移动端网页:屏幕小 没有版心 网页宽度多数为100%  mjd.com

同一个产品的PC端网页和移动端网页是两个不同的网站

如何在PC端模拟移动网页的效果?

谷歌模拟器

分辨率

屏幕尺寸:指的是屏幕对角线的长度,一般用英寸来度量

PC分辨率:如1920*1080  1366*768 ... ... 

缩放150%:

实际分辨率:(1920/150%)*(1080/150%)

硬件分辨率:出厂设置,

缩放调节的分辨率:软件设置

分辨率分类:

物理分辨率:生产屏幕时就固定的,不可以被改变

逻辑分辨率:由软件(驱动)决定的

默认情况下,网页的宽度和逻辑分辨率相同吗?

默认情况下网页宽度都是980px,使用meta标签设置视口宽度,制作适配不同设备宽度的网页

视口标签:

目的:网页宽度和设备宽度(分辨率)相同

<meta name="viewport" content="width=device-width, initial-scale=1.0">

自动生成的代码框架中包含视口标签

二倍图 

二倍图:750px的图 高分辨率下图片不会模糊失真 网站居多

二倍图正确的测量方法:

像素大厨:测量出来width 750px 

开发模式下 设计图2x  width 375px

不能在二倍图模式下测量设计稿

2.百分比布局

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

效果宽度自适应,高度固定

 

<!DOCTYPE html>
<html lang="en">
<head><meta charset="UTF-8"><meta http-equiv="X-UA-Compatible" content="IE=edge"><meta name="viewport" content="width=device-width, initial-scale=1.0"><title>京东</title><style>* {margin: 0;padding: 0;}li {list-style: none;}.toolbar {/* 固定定位 */position: fixed;left: 0;bottom: 0;/* 百分比布局  流式布局 *//* 宽度自适应 高度固定 */width: 100%;height: 50px;background-color: pink;border-top: 1px solid #ccc;}.toolbar li img {height: 100%;}.toolbar li {float: left;/* 流式布局 */width: 20%;height: 50px;}</style>
</head><body><div class="toolbar"><ul><li><a href="#"><img src="./images/index.png" alt=""></a></li><li><a href="#"><img src="./images/classify.png" alt=""></a></li><li><a href="#"><img src="./images/jd.png" alt=""></a></li><li><a href="#"><img src="./images/car.png" alt=""></a></li><li><a href="#"><img src="./images/login.png" alt=""></a></li></ul></div>
</body></html>

3.flex布局

浮动布局:存在脱标问题

flex布局/弹性布局

  • 是一种浏览器提倡的布局模型
  • 布局网页更简单,灵活
  • 避免了浮动脱标问题

flex布局不兼容IE低版本浏览器

网站caniuse..com可以查看兼容性

 3.1flex布局模型

作用:

  • 基于flex精确灵活控制块级盒子的布局方式,避免浮动布局中脱离文档流现象发生
  • flex布局非常适合结构化布局

设置方式:

  • 父元素添加display:flex,子元素可以自动的挤压或拉伸

组成部分:

  • 弹性容器:父元素
  • 弹性盒子:子元素
  • 主轴
  • 侧轴/交叉轴

3.2主轴对齐方式 

在flex布局模型中,调节主轴或侧轴的对齐方式来设置盒子之间的距离

修改主轴对齐方式属性:justify-content

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

3.3 侧轴对齐方式

align-items:添加到弹性容器

align-self:控制某个弹性盒子在侧轴的对齐方式,添加到弹性盒子

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

📖Note:

测试stretch:注释掉子级盒子的高度

弹性盒子的尺寸特点:

不给宽高:由内容撑开

不给高度:默认stretch,和父级一样高

3.4flex属性 

flex属性修改弹性盒子伸缩比

语法:

  • flex:值

取值:

  • 数值(整数)

📖Note:

  • 只占用父盒子剩余尺寸的份数

flex布局模型中,弹性盒子默认沿主轴方向排列(主轴默认是水平方向,侧轴默认是垂直方向

想要实现沿垂直方向排列的效果:

  • 修改主轴方向属性:flex-direction
属性值作用
row行,水平(默认值)
column列,垂直
row-reverse行,从右向左
column列,从下向上

水平方向居中

垂直方向居中

📖Note:

  • 先确定主轴方向,再选择对应属性实现对齐方式 

默认情况下,多个弹性盒子水平排列,排满换行

弹性布局:宽度不够,压缩子级盒子

弹性盒子换行显示:flex-wrap: wrap;

默认值:nowrap

调整行对齐方式:align-content

取值与justify-content基本相同(align-content没有space-evenly属性值)

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

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

相关文章

实战案例——Kafka集群部署

1. 规划节点 IP主机名节点192.168.100.10zookeeper1集群节点192.168.100.20zookeeper2集群节点192.168.100.30zookeeper集群节点 2. 基础准备 使用ZooKeeper集群搭建的3个节点来构建Kafka集群&#xff0c;因为Kafka服务依赖于ZooKeeper服务&#xff0c; 所以不再多创建云主机…

vue前端获取本地IP地址

新建js文件 getIpAddress.js //获取本机的IP地址 function getNetworkIp() {let ip localhost;try {const network Os.networkInterfaces();//获取本机的网路for (const iter in network) {const faces network[iter];for (const interface of faces) {if (interface.fami…

接口自动化测试的三个阶段

根本目标 测试环境中&#xff0c;保证新增接口功能正确性&#xff0c;原有接口的回归&#xff08;保证原有接口不被修改“坏”&#xff09;&#xff1b; 生产环境中&#xff0c;保证接口层面服务可用&#xff0c;功能的正确性&#xff08;保证服务挂掉时&#xff0c;及时发现…

pytorch入门

相比起keras和tensorflow,个人感觉pytorch更好一些 相比起程序语言本身,个人感觉,记住解决问题的步骤和方法更重要 import torch ttorch.tensor(1) t.size() t1torch.rand((3,4)) torch.Tensor? torch.empty((3,3)) devicetorch.device(cuda if torch.cuda.is_available() els…

Python爬网页,不确定网页的编码,不需要用第三方库

Python爬网页&#xff0c;不确定网页的编码&#xff0c;不需要用第三方库&#xff0c;自己写个判断&#xff0c;乱拳打死老师傅 detect试了&#xff0c;不好用 apparent_encoding试了&#xff0c;不好用 encoding试了&#xff0c;不好用 headers里get试了&#xff0c;不好用…

户口本怎么翻译成英文

户口本翻译件一般用于出国旅游签证、商务签证、移民留学等业务时&#xff0c;申请人所需提交的文件之一。户口本翻译件需要正规有资质的翻译机构翻译并加盖翻译专用章,这样才能得到有关部门的认可。那么&#xff0c;英国签证户口本翻译&#xff0c;中译英怎么翻译比较好&#x…

鸿蒙Harmony应用开发—ArkTS声明式开发(模态转场设置:全屏模态转场)

通过bindContentCover属性为组件绑定全屏模态页面&#xff0c;在组件插入和删除时可通过设置转场参数ModalTransition显示过渡动效。 说明&#xff1a; 从API Version 10开始支持。后续版本如有新增内容&#xff0c;则采用上角标单独标记该内容的起始版本。 不支持横竖屏切换。…

TCP三次握手,四次挥手状态转移过程

1.TCP状态转移过程 TCP连接的任意一端都是一个状态机,在TCP连接从建立到断开的整个过程中,连接两端的状态机将经历不同的状态变迁.理解TCP状态转移对于调试网络应用程序将有很大的帮助. 2.三次握手状态转换 3.四次挥手状态转换 4.TIME WAIT状态详解 为什么要有一个"TIME…

数据标注专业团队

数据标注服务 在跟一些淘宝、多多商家老板合作后&#xff0c;客户一般付款后&#xff0c;中介是有20%左右的提成&#xff0c;我们主要是希望可以实现数据标注无中介化&#xff0c;有需求可以直接联系数据标注团队直接负责人&#xff0c; 若有意愿请添加添加v&#xff1a;shu_ju…

9. 内核、文件系统加载工具

内核、文件系统加载工具 内核、文件系统加载工具是嵌入式开发必备的工具 1. 烧写BootLoader 1.1 通过超级终端方式 烧写 Bootloader 可以使用超级终端的“传送” |“发送文件”命令进入发送文件对话框&#xff0c;使用 Xmodem 协议和 Kermit 协议发送 Bootloader 的各个文件…

docker安装rocketMq

在搭建之前&#xff0c;我们需要做一些准备工作&#xff0c;这里我们需要使用 docker 搭建服务&#xff0c;所以需要提前安装 docker。 此外&#xff0c;由于 rocketmq 需要部署 broker 与 nameserver &#xff0c;考虑到分开部署比较麻烦&#xff0c;这里将会使用docker-comp…

网络模块使用Hilt注入

retrofit的异步回调方法已经做了线程切换&#xff0c;切换到了主线程 <?xml version"1.0" encoding"utf-8"?> <manifest xmlns:android"http://schemas.android.com/apk/res/android"><uses-permission android:name"andr…

JS原型链面试题

题目1 function Person(name) {this.name name; }Person.prototype.sayHello function() {console.log(Hello, this.name); };var john new Person(John); john.sayHello();请问上述代码的输出结果是什么&#xff1f; 答案1 输出结果是&#xff1a;Hello, John 题目2 …

如何通过Python代码连接OceanBase Oracle租户

背景 目前&#xff0c;连接数据库的Oracle租户&#xff0c;只能通过Java和C的驱动程序&#xff0c;无法通过其他语言的驱动程序。为了满足社区中用户希望在Python代码中连接Oracle租户的需求&#xff0c;这里提供一种替代方案。通过结合使用JayDeBeApi和JDBC&#xff0c;我们可…

Docker使用及部署流程

文章目录 1. 准备Docker环境2. 准备应用的Docker镜像3. 在服务器上运行Docker容器方法一:Docker Hub方法二:从构建环境传输镜像4. 管理和维护使用Docker Compose(可选)主要区别步骤 1: 安装Docker ComposeLinuxWindowMac步骤 2: 创建docker-compose.yml文件步骤 3: 使用Doc…

牛客网KY266 反序数

题目 描述&#xff1a; 设N是一个四位数&#xff0c;它的9倍恰好是其反序数&#xff08;例如&#xff1a;1234的反序数是4321&#xff09;求N的值。 输入描述&#xff1a; 程序无任何输入数据。 输出描述&#xff1a; 输出题目要求的四位数&#xff0c;如果结果有多组&#xff…

超越 Siri 和 Alexa:探索LLM(大型语言模型)的世界

揭秘LLM&#xff1a;语言模型新革命&#xff0c;智能交互的未来趋势 近年来&#xff0c;虚拟助手的世界发生了重大转变。 虽然 Siri 和 Alexa 本身就是革命性的&#xff0c;但一种称为大型语言模型 (LLM) 的新型人工智能正在将虚拟助手的概念提升到一个全新的水平。 在这篇博文…

JS自动跳转手机移动网页

JavaScript 中实现自动检测用户是否使用移动设备&#xff0c;并据此跳转到对应的手机移动网页&#xff0c;通常可以通过检查 ​​navigator.userAgent​​ 属性来识别用户代理字符串中包含的设备信息。以下是一个简单的示例&#xff0c;展示如何基于用户使用的浏览器类型进行判…

主流接口测试框架对比,究竟哪个更好用

公司计划系统的开展接口自动化测试&#xff0c;需要我这边调研一下主流的接口测试框架给后端测试&#xff08;主要测试接口&#xff09;的同事介绍一下每个框架的特定和使用方式。后端同事根据他们接口的特点提出一下需求&#xff0c;看哪个框架更适合我们。 需求 1、接口编写…

[IAGC] Kafka消费者组的负载均衡策略

在Apache Kafka中&#xff0c;负载均衡是通过将主题的每个分区分配给消费者组中的一个消费者来实现的。Kafka的负载均衡算法会尽可能平均地将分区分配给每个消费者。 文章目录 分配策略Kafka的重新平衡扩展性参考资源 分配策略 在Kafka中&#xff0c;有两种内置的分区分配策略…