微信小程序入门与实战之rpx响应式单位与flex布局

这篇具有很好参考价值的文章主要介绍了微信小程序入门与实战之rpx响应式单位与flex布局。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

新建页面的技巧与规则

小程序包含一个描述整体程序的 app 和多个描述各自页面的 page。
一个小程序主体部分由三个文件组成,必须放在项目的根目录,如下:
rpx,微信小程序入门与实战,微信小程序,小程序,前端
app.json必须有一个pages数组:
rpx,微信小程序入门与实战,微信小程序,小程序,前端
一个小程序页面由四个文件组成,分别是:
rpx,微信小程序入门与实战,微信小程序,小程序,前端
注意:为了方便开发者减少配置项,描述页面的四个文件必须具有相同的路径与文件名
新建pages文件夹,再新建index文件夹,点击新建page可以同时自动创建四个基本文件
rpx,微信小程序入门与实战,微信小程序,小程序,前端
rpx,微信小程序入门与实战,微信小程序,小程序,前端

创建后编译器会自动在app,json目录的pages下配置好刚刚创建的界面(在json文件格式没有错误的清情况下才会自动配置):
rpx,微信小程序入门与实战,微信小程序,小程序,前端
这时候我们编译运行项目,就能看见效果:
rpx,微信小程序入门与实战,微信小程序,小程序,前端

image标签显示一张图片

微信小程序使用image标签显示图片,通过src获取图片,src先输入的/表示根目录,获取根目录下创建好的images文件夹中的图片。
绝对路径表示:
rpx,微信小程序入门与实战,微信小程序,小程序,前端
相对路径表示(…表示上一级的目录)先返回两次的上一级目录到根目录再访问images文件夹:
rpx,微信小程序入门与实战,微信小程序,小程序,前端
rpx,微信小程序入门与实战,微信小程序,小程序,前端

小程序rpx响应式单位的特点

当我们查看预览效果发现小程序显示出来的效果时椭圆,而不是我们源文件的正圆:
rpx,微信小程序入门与实战,微信小程序,小程序,前端
那我们该怎么将图片调整为正常的比例呢?
通过设置style属性(源文件的边长也为200px):
rpx,微信小程序入门与实战,微信小程序,小程序,前端

这时候我们能发现显示出来的效果为正圆(但显示大小比源文件的大):
rpx,微信小程序入门与实战,微信小程序,小程序,前端
为了使小程序能够达到我们想要的效果,我们应该使用微信官方推荐的rpx。

在WXSS中,引入了rpx(responsive pixel)尺寸单位。引用新尺寸单位的目的是,适配不同宽度的屏幕,开发起来更简单。小程序编译后,rpx会做一次px换算。换算是以375个物理像素为基准,也就是在一个宽度为375物理像素的屏幕下,1rpx = 1px。举个例子:iPhone6屏幕宽度为375px,共750个物理像素,那么1rpx = 375 / 750 px = 0.5px。

那么为什么我们刚开始我们没有设置style的时候显示的图片是长方形呢?
因为image标签默认宽度320px、高度240px。

分离CSS样式到WXSS文件中

不推荐直接将样式用style写在标签上,最好将样式写在WXSS文件中,WXSS 与我们熟知的CSS没有太大差别。

.avatar{
  width: 200rpx;
  height: 200rpx;
  margin-top: 160rpx;
}
<!--pages/welcome/welcome.wxml-->
<image class= "avatar" src="../../images/avatar/1.png"></image>
<text>Hello</text>
<button>开启小程序之旅</button>

rpx,微信小程序入门与实战,微信小程序,小程序,前端

初识flex布局进行垂直分布布局

使用View标签,类似于html中的div,我们经常在微信小程序中布局的使用, 我们称之为容器。
flex是基于容器的布局,我们要使用container来表示flex:

.container{
  display: flex;
}

通过view标签使用container

<view class="container">
  <image class= "avatar" src="../../images/avatar/1.png"></image>
  <text>Hello</text>
  <button>开启小程序之旅</button>
</view>

这时候我们运行项目,会发现布局改变,如图所示:
rpx,微信小程序入门与实战,微信小程序,小程序,前端
但我们实际想要的是垂直的效果,我们要将flex-direction修改为column,默认的是row也就是我们刚刚没有设置flex-direction却也能看到水平排列的原因,设置好的效果如图所示:
rpx,微信小程序入门与实战,微信小程序,小程序,前端
不推荐使用微信官方的button组件(会有一些内置的样式、属性),这里我们通过自定义的View来实现Button

  <view>
    <text>开启小程序之旅</text>
  </view>

flex布局的align-items

我们在flex布局的样式编写中添加代码:

  align-items: center;

得到了居中的效果
rpx,微信小程序入门与实战,微信小程序,小程序,前端
为导航语添加样式:

.motto{
  color: #666;
  margin-top: 160rpx;
  font-size: 32rpx;
  font-weight: bold;
}
  <text class="motto">Hello</text>

如果我们想设置全局的字体颜色,可以在app.wxss下设置(如果没有设置单独的样式,则该字体默认为app.wxss下配置的字体)rpx,微信小程序入门与实战,微信小程序,小程序,前端

自己编写一个Button组件

设置外边框属性(设置边框内的文字水平居中要用到text-align: center),边框圆角为border-radius:

.journey-container{
  border: 1px solid #405f80;
  width: 200rpx;
  height: 80rpx;
  border-radius: 5px;
  text-align: center;
  margin-top: 200rpx;
}

设置边框内文字属性(使用line-height: 80rpx与边框等高来实现垂直居中):

.journey{
  font-size: 22rpx;
  color: #405f80;
  line-height: 80rpx;
  font-weight: bold;
}

应用样式:

  <view class="journey-container">
    <text class="journey">开启小程序之旅</text>
  </view>

实现效果:
rpx,微信小程序入门与实战,微信小程序,小程序,前端

实现全屏的背景颜色

当我们在container使用background-color时我们发现背景颜色并不能填充整个布局,因为我们并没有设置container的高度,其高度是自适应的,跟随内部布局变化而变化:
rpx,微信小程序入门与实战,微信小程序,小程序,前端
通过在app.json下设置: “window”:{“navigationBarBackgroundColor”:“#b3d4db”
}实现导航栏的背景颜色达到沉浸的效果:
rpx,微信小程序入门与实战,微信小程序,小程序,前端

rpx,微信小程序入门与实战,微信小程序,小程序,前端
那么我们该如何实现全屏的背景颜色呢?
打开调试器,可以看到其实在我们自定义的View的外层还有一层page:

rpx,微信小程序入门与实战,微信小程序,小程序,前端
所以我们只需要设置page的默认背景颜色就可以全屏的背景颜色:rpx,微信小程序入门与实战,微信小程序,小程序,前端
文章来源地址https://www.toymoban.com/news/detail-767915.html

到了这里,关于微信小程序入门与实战之rpx响应式单位与flex布局的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包赞助服务器费用

相关文章

  • 【微信小程序】6天精准入门(第3天:小程序flex布局、轮播图组件及mock运用以及综合案例)附源码

    【微信小程序】6天精准入门(第3天:小程序flex布局、轮播图组件及mock运用以及综合案例)附源码

    布局的传统解决方案,基于[盒状模型],依赖display属性 + position属性 + float属性 Flex是 Flexible Box 的缩写,意为” 弹性布局 ”,用来为盒状模型提供最大的灵活性。 任何一个容器都可以指定为Flex布局。 display: ‘flex’         容器默认存在两根轴: 水平的主轴(main axi

    2024年02月08日
    浏览(16)
  • 微信小程序——flex布局

    微信小程序——flex布局

    flex布局作用于父容器之上,用于控制其子盒子的位置和排列的方式。 flex是Flexible Box的缩写,意为”弹性布局”,用来为盒状模型提供最大的灵活性。 任何一个容器都可以指定为Flex布局。 行内元素也可以使用Flex布局。 Webkit内核的浏览器,必须加上-webkit前缀。 注意,设为

    2024年02月08日
    浏览(8)
  • 微信小程序之Flex布局

    微信小程序之Flex布局

    (1)主轴【main axis】:默认为水平方向; (2)交叉轴【cross axis】:垂直于主轴,默认为竖直方向; (3)通过修改使垂直方向变为主轴,水平方向变为交叉轴 任何一个容器都可以被指定为 flex 布局,简单说来,如果你使用块元素如 div,你就可以使用 flex,而如果你使用行内

    2024年02月11日
    浏览(11)
  • 微信小程序的浮动与定位,flex布局

    微信小程序的浮动与定位,flex布局

    元素浮动就是指设置了浮动属性的元素会脱离标准文档流的控制 , 移到其父元素中指定位置的过程。 在css 中 , 通过float属性来定义浮动 , 其基本格式如下 : { float : none |left |right ;} (1)其中 , none ——— 默认值 , 表示元素不浮动 ; (2)left ——— 元素向左浮动 ; (3right ——— 元

    2024年04月17日
    浏览(11)
  • 微信小程序入门与实战之电影页面与实战自定义组件

    微信小程序入门与实战之电影页面与实战自定义组件

    Movie自定义组件包含三部分:图片、标题和图片,评分可以再单独写一个组件。 实现代码: css代码中我们通过title里面的属性设置文字省略效果,为了能够直观地感受到效果我们必须给container设置宽度,当文字超过宽度的时候就会显示省略号,效果如下图所示: 首先在自定义

    2024年02月08日
    浏览(12)
  • 微信小程序开发入门与实战 ①(初始微信小程序)

    微信小程序开发入门与实战 ①(初始微信小程序)

    @作者 : SYFStrive   @博客首页 : HomePage 📜: 微信小程序 📌: 个人社区(欢迎大佬们加入) 👉: 社区链接🔗 📌: 觉得文章不错可以点点关注 👉: 微信小程序专栏🔗 💃: 感谢支持,学累了可以先看小段由小胖给大家带来的街舞😀 🔗: 阅读文章 👉 微信小程序 (🔥)

    2024年02月09日
    浏览(10)
  • 假期学习资源:微信小程序入门到实战课(8门课)

    微信小程序框架的制作视频教程免费下载(黄菊华老师大学毕业设计辅导课) 链接: https://pan.baidu.com/s/1iXb5FH3rIys6dXu_4VphXg?pwd=wk7e 提取码: wk7e 微信小程序语法入门到精通视频教程免费下载(黄菊华老师大学毕业设计辅导课) 链接: https://pan.baidu.com/s/1Gva5mFWqZAxcghlrcGBf3Q?pwd=xffs 提取

    2024年02月13日
    浏览(9)
  • 微信小程序-flex布局:垂直、水平方向-自动填充满剩余空间

    微信小程序-flex布局:垂直、水平方向-自动填充满剩余空间

    在微信小程序项目中经常需要将水平或垂直方向分成两大部分,一部分内容宽度或高度固定,剩余的一部分需填充满剩余空间。那么,该怎么快速解决这类布局? 效果图如下: 垂直方向 : 水平方向: 我个人比较喜欢使用flex布局,面对此类布局,最先想到的也是flex布局。常

    2024年02月09日
    浏览(7)
  • Flex布局简介及微信小程序视图层View详解

    Flex布局简介及微信小程序视图层View详解

    目录 一、Flex布局简介 什么是flex布局? flex属性 基本语法和常用属性 Flex 布局技巧 二、视图层View  View简介 微信小程序View视图层 WXML 数据绑定 列表渲染 条件渲染 模板 WXSS 样式导入 内联样式 选择器 全局样式与局部样式 WXS 示例 注意事项 页面渲染 数据处理 Flex 布局(又称

    2024年02月20日
    浏览(9)
  • uni-app:单位像素rpx

    uni-app:单位像素rpx

    rpx: 响应式单位,长宽可以随着屏幕大小改变,其尺寸根据iPhone 6的标准来参考(750rpx为占满屏幕宽,1334rpx为占满屏幕长。750×1334rpx) 例子: 现在展示型号为iPhone 12 pro的型号,这里750px和750rpx均为沾满屏幕宽  更换型号为Surface Pro 7:发现宽度为750px的宽度是固定宽,不会随着

    2024年02月17日
    浏览(7)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包