Loading [MathJax]/jax/output/CommonHTML/config.js
前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >专栏 >保姆级教程:写出自己的移动应用和小程序(篇五)

保姆级教程:写出自己的移动应用和小程序(篇五)

原创
作者头像
火爆的小茶壶
发布于 2022-08-17 05:45:06
发布于 2022-08-17 05:45:06
56100
代码可运行
举报
文章被收录于专栏:前端专区前端专区
运行总次数:0
代码可运行

在上期文章中,我们主要聊了聊如何写出一个简单的小程序。既然聊到了编写小程序,那不得不提的就是如何编写其中的 CSS 样式内容,一起来看看吧。

一、总体样式

小程序允许在顶层放置一个 app.fxss 文件,里面采用 CSS 语法设置页面样式。这个文件的设置,对所有页面都有效。

注意,小程序虽然使用 CSS 样式,但是样式文件的后缀名一律要写成 .fxss。

打开上一篇教程的示例根目录 app.ftss 文件,内容如下。

由于 FinClip 小程序保持了与微信小程序的高度统一,来降低开发者的学习或迁移门槛,事实上你也可以直接在 FIDE 中编辑基于微信小程序的项目内容,或者将基于微信小程序编辑的内容进行校验后,同步上传在 FinClip 之中。

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
.container {
  height: 100%;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: space-between;
  padding: 200rpx 0;
  box-sizing: border-box;
}

FIDE 初始化小程序页面已经给最外层标签添加了 container 类,此时在 container 类名下添加一个 color 样式:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
color: #ff0000;

保存后页面重新渲染,文字变为红色:

内容变红了

这就是总体样式,设置之后会对所有页面生效。例如第二个页面中元素 view 也拥有class:container,那么它的文字颜色也为红色。

page1 页面中的文字也变成了红色

二、页面样式

在小程序每个页面路径下 ftss 文件中样式内容只会影响当前页面。

当我们在 index 页给 view 元素添加一个 class:“unique-class”,并在页面 ftss 文件中改变 font-size 样式:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
<view class="container unique-class">index页</view>
.unique-class{
  font-size: 66px;
}

那么显而易见在 index 页 view 元素内容字体大小将变为 66px

此时 page1 页同样添加class:“unique-class”,样式并没有受到影响

三、行内样式

小程序中也可以给元素设置行内样式,并且可以使用插值变量。同样,行内样式优先于 class 样式,与普通 css 规则一致。

我们用了内联样式之后,优先级最高

使用差值变量:

改变元素 style 属性 color 值为自定义变量 fontColor

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
<view class="container unique-class"
      style="color: {{fontColor}}">
    index页
</view>

在页面 data 中添加 fontColor 变量,赋值为想要的颜色

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
Page({
  data: {
    motto: 'Hello World',
    fontColor: '#10aeff'
  }
})

这样就可以通过 js 控制元素行内样式了

同样,插值变量的方式也可以运用到 class 中以达到相似的效果。

四、尺寸单位

小程序中可以使用 rpx 作为尺寸单位。rpx(responsive pixel)可以根据屏幕宽度进行自适应。规定屏幕宽为 750rpx。如在 iPhone6 上,屏幕宽度为 375px,共有 750 个物理像素,则 750rpx = 375px = 750 物理像素,1rpx = 0.5px = 1 物理像素。

合理使用 rpx 会让小程序体验感更好。

五、样式导入

使用 @import 语句可以导入外联样式表,@import 后跟需要导入的外联样式表的相对路径,用 ; 表示语句结束。

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
/** common.wxss **/
.small-p {
  padding:5px;
}
/** app.wxss **/
@import "common.wxss";
.middle-p {
  padding:15px;
}

六、组件内置样式

小程序提供的内置组件定义了自有逻辑和默认样式,以供开发者快速使用。当然开发者也可以在此基础上修改为其他样式和行为。

例如:小程序原生的 组件可以让开发者快速使用图片轮播功能。

上面页面的图片上面,有三个提示点,表示一共有三张图片,可以切换显示。

它的代码很简单,改一下 index.fxml 文件,并且在 /assets/images/ 目录下添加想要轮播的图片即可。

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
<view>
  <swiper
    indicator-dots="{{true}}"  
    autoplay="{{true}}"
    style="width: 750rpx; height: 750rpx; text-align: center;">
    <swiper-item>
      <image src="/assets/images/logo.png"></image>
    </swiper-item>
    <swiper-item>
      <image src="/assets/images/logo2.png"></image>
    </swiper-item>
    <swiper-item>
      <image src="/assets/images/logo3.png"></image>
    </swiper-item>
  </swiper>
</view>

上面代码中, 组件就是轮播组件,里面放置了三个 组件,表示有三个轮播项目,每个项目就是一个 组件的 indicator-dots 属性设置是否显示轮播点,autoplay 属性设置是否自动播放轮播。它们的属性值都是一个布尔值,这里要写成 {{true}}。


本期教程讲解了基于 FinClip IDE,对小程序的样式文件进行编写与调试的过程。

在下一期的文章中,我们将会一起聊聊如何使用 JSS,服务端调用等相关的内容,敬请期待。

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

评论
登录后参与评论
暂无评论
推荐阅读
编辑精选文章
换一批
简单编写小程序的 CSS 样式教程
我们在完成了小程序的内容编辑后,就需要对样式骨架进行调节与调优,才能写出最符合用户体验的样式内容。
金牌打杂仔
2022/01/05
2.2K0
三、Flex布局简介
布局的传统解决方案,基于盒状模型,依赖 display属性 + position属性 + float属性
天蝎座的程序媛
2023/10/17
2810
三、Flex布局简介
微信小程序电商实战—首页篇(上)
在index.wxml我们使用bindtap进行点击事件监听,设置事件名称为navbarTap并且在index.js里设置这个事件对应的逻辑处理。我们在组件上使用wx:for控制属性绑定一个数组,即可使用数组中各项的数据重复渲染该组件。默认数组的当前项的下标变量名默认为index,数组当前项的变量名默认为item,想要了解wx:for可以参考该资料:https://www.w3cschool.cn/weixinapp/weixinapp-list.html
游离于山间之上的Java爱好者
2022/09/21
1.1K0
微信小程序电商实战—首页篇(上)
微信小程序【常用组件及自定义组件】
微信小程序入门的文章,其实暂时就更新到这里了,还有一个生命周期的内容,感觉当初整理的不是很好就不更新了,学完了 WXML、WXSS、一些常用组件,还有事件绑定,其实一个较为不错的页面已经能自己搭建出来了,如果你还想继续往后面研究,我给一下方向就是,可以开始看 与后台交互的内容了,发送异步请求,对数据进行回显等,回显内容时,你就又可以开始考虑用什么别的组件,可以让页面的数据加载或者观看更加顺滑,美观,当然有很多小伙伴都是后端,所以,可以自己搭个后台,试着弄用户登录授权这块,这块算是小程序一个重要的点,要好好研究一下,以后要做的事情,就和传统的后端基本一样了。我的文章都是根据官网写的原生写法,当然你也可以看一下一些小程序框架,或者看一看 ES6 的内容,毕竟我也是个后端,也没细细研究前端的内容,有什么想法或者意见,可以在公众号菜单页面直接给后台发文字,或者发送邮件:ideal_bwh@163.com
BWH_Steven
2020/09/18
1.9K0
​08-微信小程序视图层
WXS(WeiXin Script) 是小程序的一套脚本语言,结合 WXML,可以构建出页面的结构。
度假的小鱼
2023/11/26
2580
​08-微信小程序视图层
零基础微信小程序开发——WXML 模板语法之列表渲染-WXML和样式设置(保姆级教程+超详细)
WXSS (WeiXin Style Sheets)是一套样式语言,用于美化 WXML 的组件样式,类似于网页开发中的 CSS。
小白的大数据之旅
2025/05/16
880
零基础微信小程序开发——WXML 模板语法之列表渲染-WXML和样式设置(保姆级教程+超详细)
零基础微信小程序开发——小程序的宿主环境(保姆级教程+超详细)
宿主环境(host environment)指的是程序运行所必须的依赖环境。例如: Android 系统和 iOS 系统是两个不同的宿主环境。安卓版的微信 App 是不能在 iOS 环境下运行的,所以,Android 是安卓软件的宿主环境,脱离了宿主环境的软件是没有任何意义的!
小白的大数据之旅
2025/05/16
610
零基础微信小程序开发——小程序的宿主环境(保姆级教程+超详细)
微信小程序tab切换加联动
注:数据绑定,特别是怎么动态绑定class,控制选中或者未选中状态,其中,绑定class或者style都和vue中的格式不太一样
天天_哥
2018/09/29
2.6K1
小程序的模板化编程
之前编写的新闻列表页面中,我们把示例数据都放在了js文件中,但实际上数据是不应该写在js文件中的,所以我们得把这些数据分离到一个单独的数据文件中。然后post.js文件就加载这个数据文件中的数据即可,这样也可以模拟一下加载服务器数据的过程。
端碗吹水
2020/09/23
1.2K0
小程序的模板化编程
微信小程序入门教程之二:页面样式
这个系列的上一篇教程,教大家写了一个最简单的 Hello world 微信小程序。
ruanyf
2020/10/29
1.3K0
保姆级教程:写出自己的移动应用和小程序(篇四)
本系列的上一篇文章我们主要学习了如何在自己的 iOS 或 Android 应用中引入第三方 SDK。随着引入 SDK 文章结束,关于应用开发入门系列的文章也就结束了。今天,我们开始学习小程序的开发入门,看看如何在小程序中写出属于自己的 Hello World。
火爆的小茶壶
2022/08/16
1.8K0
保姆级教程:写出自己的移动应用和小程序(篇四)
微信小程序自定义轮播面板样式
在进行pc网站或移动端网站开发时,轮播经常会遇到,我们经常使用的就是swiper插件来实现轮播效果,如果想自定义其样式的话,完全可以重写其css,达到自定义的效果。在小程序当中,有现成的swiper组件来供我们使用,具体的使用方法不在此赘述,完全可以去查看官方文档。在这需要说的一点就是如何自定义轮播的样式,尤其是底部指示面板的样式,官方样式默认是不选中的为灰色圆点,选中的为黑色圆点,处于居中的位置。但是,有时候我们的设计稿的面板指示点是需要个性化的,那么如何去修改swiper组件的面板指示点的样式呢。下面我们来说一下。 其实官方的swiper组件和我们正常写的组件其实是差不多的,只不过封装起来,无法看到其内部的实现原理罢了。对于底部的圆点还是有相应的class类名来指示的。例如,圆点的父圆度其class名为wx-swiper-dots,分为垂直方向和水平方向,分别为.wx-swiper-dots-horizontal和.wx-swiper-dots-vertical,圆点的class名为wx-swiper-dot,有了这些我们就可以对其进行自定样式了,其实就是重写其样式 下面代码我们用到官方示例中的部分代码
OECOM
2020/07/01
1.2K0
【微信小程序】动态API+swiper组件实现轮播图+es6的promise
1. 获取轮播图数据 接口:https://api-hmugo-web.itheima.net/api/public/v1/home/swiperdata
软件小生活
2021/08/16
1.7K0
WeChat 文章列表页面(一)
本次的系列博文的知识点讲解和代码,主要是来自于 七月老师 的书籍《微信小程序开发:入门与实践》,由个人总结并编写,关于更多微信小程序开发中的各项技能,以及常见问题的解决方案,还请大家购买书籍进行学习实践,该系列博文的发布已得到七月老师的授权许可
Nian糕
2018/08/21
8160
WeChat 文章列表页面(一)
微信小程序 开发笔记
参考:https://developers.weixin.qq.com/miniprogram/dev/reference/api/Page.html
yiyun
2022/04/01
5280
微信小程序 开发笔记
微信小程序开发之(表单组件的使用)代码篇
内容包括添加视频播放、轮转图片、多选框、单选框、实时获取输入值、按钮提交输入控件的数据
全栈程序员站长
2022/09/13
9970
微信小程序开发之(表单组件的使用)代码篇
微信小程序实战--集阅读与电影于一体的小程序项目(一)
真正的数据肯定不可能像上面那样写在wxml文件里面,而是从服务器加载的数据,下面模拟从服务器加载数据。
zhang_derek
2018/08/30
1.2K0
微信小程序实战--集阅读与电影于一体的小程序项目(一)
2019-面向小白的微信小程序-视频教学-基础
微信小程序,简称小程序,英文名Mini Program,是一种不需要下载安装即可使用的应用,它实现了应用“触手可及”的梦想,用户扫一扫或搜一下即可打开应用
万少
2025/02/08
2190
2019-面向小白的微信小程序-视频教学-基础
微信小程序从入门到入土教程(03)
⼩程序中绑定事件,通过bind关键字来实现。如 bindtap bindinput bindchange 等 不同的组件⽀持不同的事件,具体看组件的说明即可。
海拥
2021/08/23
4540
使用原生开发高仿瑞幸小程序(二):使用云存储并实现轮播图
轮播图是我们常见的一种表现形式,通常,图片之间要做到无缝衔接循环需要花一些功夫,而小程序提供的组件就已经可以实现。可以说省去了开发者不少的时间。所以,今天我们要一起来学习以下几件事:
一只图雀
2020/05/26
1.8K0
推荐阅读
相关推荐
简单编写小程序的 CSS 样式教程
更多 >
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档