uni-app快速入门(六)--rpx尺寸单位与Flex布局

一、uni-app尺寸单位

       uni-app支持的通用尺寸单位包括px、rpx。为支持跨平台,在搭建空驾驶建议使用Flex布局。px指屏幕像素,rpx是响应式像素,是根据屏幕宽度自适应的动态单位。假如屏幕宽度为750像素,750rpx正好为屏幕宽度。uni-app规定基准屏幕宽度为750rpx。

        设计师设计的图一般提供一个分辨率的图片,如果严格按照设计图的px进行开发,在不同宽度的手机上,界面容易变形,主要是宽度变形,因为有滚动条,在高度上一般不容易出现问题。uni-app在App端、H5端、小程序都支持rpx。页面元素在uni-app的计算公式:

    750x元素在设计稿中的宽度/设计稿基准宽度:

     假如设计稿宽度为750px,元素在设计稿宽度为100px,则元素在uni-app的宽度为750x100/750=100rpx;

     假如设计稿宽度为640px,元素在设计稿的宽度为100px,则元素在uni-app的宽度为750x100/640,约117rpx。

     当然既然知道了uni-app的基础屏幕宽度,设计稿最好直接设计成750px,这样就不用换算了。

二、Flex布局

       为支持跨平台,uni-app建议使用Flex布局(Flexible Box,弹性布局)。

       传统布局基于盒状模型,依赖display属性、position属性和float属性,如果使用Flex布局则不建议使用float属性。

      采用Flex布局的元素为Flex容易,里面的子元素为Flex项目(Flex item)。容器指定flex布局的语法:

      .box{display:flex;}

      容器内元素的flex语法:.box{display:inline-flex;}

      容器默认存在两个轴,横轴(水平主轴main axis),纵轴(垂直交叉轴 cross axis)。横轴宽度为main size,纵轴高度为cross size。横轴开始位置结束位置分别称main start、main end,纵轴开始结束位置成文cross start ,cross end,这样便于理解样式里的属性含义。

       Flex布局有6个容器属性:flex-direction 、flex-wrap、flex-flow、justify-content、align-items、align-content。

    容器里的元素有6个属性:order、flex-grow、fle-shrink、flex-basis、flex、align-self。

 【容器属性】

  1、flex-direction:决定主轴方向(项目排列方向)

        .box{

            display:flex;

            flex-direction: row;//默认值,主轴水平方向,起点为左侧;

            //flex-direction: row-reverse;//主轴水平方向,起点为右侧;

            //flex-direction: column;//主轴为垂直方向,起点为顶部;

            //flex-direction:column-reverse;//主轴为垂直方向,起点为底部;

      }

  2、flex-wrap属性:默认情况下,元素排在一条线上,又称轴线上。如果一条线无法排列所有项目,可以换行到下一条线上,代码示例:

       .box{

           display:flex;

           flex-wrap:wrap;//如果没这行,就是默认的nowrap不换行;wrap为换行,第一行在上方;

           //flex-wrap: wrap-reverse;//换行,第一行在下方;

       }

3、flex-flow:是上面flex-direction和flex-wrap加起来的简写形式,默认为row nowrap:

    .box{

        direction: flex;

        flex-flow: row nowrap;

    }

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

     .box{

         display: flex;

         justify-content: flex-start;//flex-start为默认的,左对齐;flex-end为右对齐;center为居中;

        // space-between:两端对齐,元素之间的间隔都相等;

       // space-around: 每个元素两侧的间隔相等。因此元素之间的间隔比元素与边框的间隔大一倍。

5、align-items:定义项目在交叉轴(纵轴)的对齐方式

       .box{

           display:flex;

           align-items: flex-start;//flex-start:纵轴起点对齐、fllex-end纵轴终点对齐、content:纵轴中点对齐。baseline:元素第一行文字的基线对齐;stretch(默认值):如果元素未设置高度或设置为auto,则将占满整个容器高度。

        }

}

6、align-content:定义多条轴线对齐方式,如果元素只有一条轴线,则此属性不起作用。

    .box{

        display:flex;

       align-content: flex-start;//与交叉轴起点对齐。flex-end:与交叉轴终点对齐。center:与交叉轴中点对齐。space-between:与交叉轴两端对齐,轴线之间间隔相等;space-around:每条轴线两侧的间隔相等。因为,轴线之间的间隔比轴线与边框的间隔大一倍。stretch(默认):轴线占满整个交叉轴。

    }

【元素属性】

1、order属性:定义元素的排列顺序,order越小越靠前

.item{

    order: 1;

}

2、flex-grow:定义元素的放大比例,默认为0,即使有剩余空间,也不放大:

   .item{ flex-grow: 0;}

    如果都是1,则等分空间;如果其中一个是2,其他为1,则这个2的元素比其他元素占用空间大倍。

3、flex-shrink:定义元素的缩小比例,默认为1,即如果空间不足,则该元素将缩小。

        .item{ flex-shrink: 1;} 

        如果所有元素flex-shrink都是1,则等比例缩小;如果设置为0的则不缩小。负值对该属性无效。

4、flex-basis:定义在分配多余空间之前该元素占的空间。浏览器根据该属性计算主轴是否有多余空间,默认为auto,即元素本来大小。

         .item{ flex-basis: auto;} //flex-basis可设置为与width或height属性一样的值,则元素将占据固定空间值;

5、flex:是flex-grow、flex-shrink、flex-basis的简写,就是说三周属性可设置到一起,默认值是0 1 auto 其中后两个属性为可选项:

.item{flex : 0 1 auto}

6、align-self:允许单个元素与其他元素不一样的对齐方式,可覆盖align-items属性,默认为auto,表示集成父元素的align-items属性,如果没有父元素,则等同于stretch:

.item{align-self:auto;}

该属性可以取6个值,除了auto外,其他都与align-items属性值完全一致。

        

       

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

【模拟仿真】基于区间观测器的故障诊断与容错控制

摘要 本文提出了一种基于区间观测器的故障诊断与容错控制方法。该方法通过构建区间观测器,实现对系统状态的上下边界估计,从而在存在不确定性和外部噪声的情况下进行高效的故障诊断。进一步地,本文设计了一种容错控制策略,以保证…

深度学习-卷积神经网络CNN

案例-图像分类 网络结构: 卷积BN激活池化 数据集介绍 CIFAR-10数据集5万张训练图像、1万张测试图像、10个类别、每个类别有6k个图像,图像大小32323。下图列举了10个类,每一类随机展示了10张图片: 特征图计算 在卷积层和池化层结束后, 将特征…

PHP Switch 语句

<?php switch (expression) {case value1:// 代码块1break;case value2:// 代码块2break;// 更多的 case 语句default:// 如果没有匹配的值&#xff0c;输出这一行 } ?> $color 表示自己的颜色&#xff0c;需要switch循环找到对应的值。 case value : 表示对应的值&am…

Python Plotly 库使用教程

Python Plotly 库使用教程 引言 数据可视化是数据分析中至关重要的一部分&#xff0c;它能够帮助我们更直观地理解数据、发现潜在的模式和趋势。Python 提供了多种数据可视化库&#xff0c;其中 Plotly 是一个功能强大且灵活的库&#xff0c;支持交互式图表的创建。与静态图表…

ubuntu:20.04安装协议逆向工具netzob

创建容器 docker run -d --name ubuntu_env ubuntu:20.04 /bin/bash -c "while true; do sleep 1; done" 63a8f5cf5431a930671ff0e7bb2b667adf001efb05fd7261da244879d2699bec 进入容器 PS E:\src> docker exec -it ubuntu_env /bin/bash 安装常用工具 apt upda…

H3C NX30Pro刷机教程-2024-11-16

H3C NX30Pro刷机教程-2024-11-16 ref: http://www.ttcoder.cn/index.php/2024/11/03/h3c-nx30pro亲测无需分区备份 路由器-新机初始化设置路由器登录密码telnet进入路由器后台 刷机上传uboot到路由器后台在Windows环境下解压后的软件包中打开 tftpd64.exe在NX30Pro环境下通过以…

什么是嵌入式?

目录 一、什么是嵌入式 二、嵌入式系统的特点 &#xff08;一&#xff09;专用性与隐蔽性 &#xff08;二&#xff09;高可靠性与实时性 &#xff08;三&#xff09;资源固定与小型化 三、嵌入式系统的发展历史 &#xff08;一&#xff09;20 世纪 60 年代早期雏形 &am…

学习大数据DAY62 指标计算

客户需求 第一张汇总报表需要的指标 - 决策报表 汇总表 每次计算只有一天的记录 - 大 BOSS: - 全部会员数 新增会员数 - 有效会员数 有效会员占比 - 流失会员数: 倒推一年含一年无消费记录的会员 - 净增有效会员数 - 会员消费级别分类人数 (A >2000 B >1000 < …

快速上手 Vue 3 的高效组件库Element Plus

目录 前言1. 什么是组件&#xff1f;2. 安装与引入 Element Plus2.1 安装 Element Plus2.2 在 main.js 中引入 Element Plus 3. 使用 Element Plus 组件3.1 组件的基本使用3.2 控制组件状态 4. 常用组件实例解析4.1 表单与输入框4.2 表格与分页 5. 组件库的扩展性结语 前言 在…

自动驾驶车载SoC设计功能安全

我是穿拖鞋的汉子&#xff0c;魔都中坚持长期主义的汽车电子工程师。 老规矩&#xff0c;分享一段喜欢的文字&#xff0c;避免自己成为高知识低文化的工程师&#xff1a; 所有人的看法和评价都是暂时的&#xff0c;只有自己的经历是伴随一生的&#xff0c;几乎所有的担忧和畏惧…

【开源免费】基于Vue和SpringBoot的私人健身与教练预约管理系统(附论文)

本文项目编号 T 618 &#xff0c;文末自助获取源码 \color{red}{T618&#xff0c;文末自助获取源码} T618&#xff0c;文末自助获取源码 随着信息技术和网络技术的飞速发展&#xff0c;人类已进入全新信息化时代&#xff0c;传统管理技术已无法高效&#xff0c;便捷地管理信息…

【项目实战】基于 LLaMA-Factory 通过 LoRA 微调 Qwen2

【项目实战】基于 LLaMAFactory 通过 LoRA 微调 Qwen2 一、项目介绍二、环境准备1、环境准备2、安装LLaMa-Factory3、准备模型数据集3.1 模型准备3.2 数据集准备 三、微调1、启动webui2、选择参数3、训练 四、测试五、总结 一、项目介绍 LLaMA-Factory是一个由北京航空航天大学…

《Probing the 3D Awareness of Visual Foundation Models》论文解析——多视图一致性

一、论文简介 论文讨论了大规模预训练产生的视觉基础模型在处理任意图像时的强大能力&#xff0c;这些模型不仅能够完成训练任务&#xff0c;其中间表示还对其他视觉任务&#xff08;如检测和分割&#xff09;有用。研究者们提出了一个问题&#xff1a;这些模型是否能够表示物体…

C++ | Leetcode C++题解之第565题数组嵌套

题目&#xff1a; 题解&#xff1a; class Solution { public:int arrayNesting(vector<int> &nums) {int ans 0, n nums.size();for (int i 0; i < n; i) {int cnt 0;while (nums[i] < n) {int num nums[i];nums[i] n;i num;cnt;}ans max(ans, cnt);…

计算机前沿技术-人工智能算法-大语言模型-最新研究进展-2024-11-04

计算机前沿技术-人工智能算法-大语言模型-最新研究进展-2024-11-04 目录 文章目录 计算机前沿技术-人工智能算法-大语言模型-最新研究进展-2024-11-04目录1. Alopex: A Computational Framework for Enabling On-Device Function Calls with LLMs摘要&#xff1a;研究背景&…

智能运维:提升效率与响应速度的关键能力

在当今这个信息化高速发展的时代&#xff0c;运维工作的重要性日益凸显。一个高效、智能的运维系统不仅能够确保企业IT环境的稳定运行&#xff0c;还能在出现问题时迅速响应&#xff0c;最小化业务中断的影响。本文将深入探讨现代运维系统应具备的关键能力&#xff0c;包括告警…

Linux 下网络套接字(Socket) 与udp和tcp 相关接口

文章目录 1. socket常见API2 sockaddr结构体及其子类1. sockaddr结构体定义&#xff08;基类&#xff09;2. 子类 sockaddr_in结构体用于(IPv4)3 子类 sockaddr_un(Unix域套接字)4. 总结画出其结构体 3.实现一个简单的tcp Echo 服务器和客户端(cpp&#xff09;3.1 客户端3.2 服…

IPv6基础知识

IPv6是由IEIF提出的互聯網協議第六版&#xff0c;用來替代IPv4的下一代協議&#xff0c;它的提出不僅解決了網絡地址資源匱乏問題&#xff0c;也解決了多種接入設備接入互聯網的障礙。IPv6的地址長度為128位&#xff0c;可支持340多萬億個地址。如下圖&#xff0c;3ffe:1900:fe…

24首届数证杯(流量分析部分)

目录 流量分析 流量分析 1、分析网络流量包检材&#xff0c;写出抓取该流量包时所花费的秒数?(填写数字&#xff0c;答案格式:10) 3504相加即可 2、分析网络流量包检材&#xff0c;抓取该流量包时使用计算机操作系统的build版本是多少? 23F793、分析网络流量包检材&#x…

Linux(CentOS)安装达梦数据库 dm8

CentOS版本&#xff1a;CentOS 7&#xff0c;查看操作系统版本信息&#xff0c;请查阅 查看Linux内核版本信息 达梦数据库版本&#xff1a;dm8 一、获取 dm8 安装文件 1、下载安装文件 打开达梦官网&#xff1a;https://www.dameng.com/ 下载的文件 解压后的文件 2、上传安…