保姆级教程(写出自己的移动应用和小程序(篇五))
在上期文章中,我们主要聊了聊如何写出一个简单的小程序。既然聊到了编写小程序,那不得不提的就是如何编写其中的 CSS 样式内容,一起来看看吧。
一、总体样式
小程序允许在顶层放置一个 app.fxss 文件,里面采用 CSS 语法设置页面样式。这个文件的设置,对所有页面都有效。
注意,小程序虽然使用 CSS 样式,但是样式文件的后缀名一律要写成 .fxss。
打开上一篇教程的示例根目录 app.ftss 文件,内容如下。
由于 FinClip 小程序保持了与微信小程序的高度统一,来降低开发者的学习或迁移门槛,事实上你也可以直接在 FIDE 中编辑基于微信小程序的项目内容,或者将基于微信小程序编辑的内容进行校验后,同步上传在 FinClip 之中。
.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 样式:
color: #ff0000;
保存后页面重新渲染,文字变为红色:
文章图片
内容变红了
这就是总体样式,设置之后会对所有页面生效。例如第二个页面中元素 view 也拥有class:container,那么它的文字颜色也为红色。
文章图片
page1 页面中的文字也变成了红色
二、页面样式 在小程序每个页面路径下 ftss 文件中样式内容只会影响当前页面。
文章图片
当我们在 index 页给 view 元素添加一个 class:“unique-class”,并在页面 ftss 文件中改变 font-size 样式:
index页
.unique-class{
font-size: 66px;
}
文章图片
那么显而易见在 index 页 view 元素内容字体大小将变为 66px
此时 page1 页同样添加class:“unique-class”,样式并没有受到影响
文章图片
三、行内样式 小程序中也可以给元素设置行内样式,并且可以使用插值变量。同样,行内样式优先于 class 样式,与普通 css 规则一致。
文章图片
【保姆级教程(写出自己的移动应用和小程序(篇五))】我们用了内联样式之后,优先级最高
使用差值变量:
改变元素 style 属性 color 值为自定义变量 fontColor
index页
在页面 data 中添加 fontColor 变量,赋值为想要的颜色
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 后跟需要导入的外联样式表的相对路径,用 ; 表示语句结束。
/** common.wxss **/
.small-p {
padding:5px;
}
/** app.wxss **/
@import "common.wxss";
.middle-p {
padding:15px;
}
六、组件内置样式 小程序提供的内置组件定义了自有逻辑和默认样式,以供开发者快速使用。当然开发者也可以在此基础上修改为其他样式和行为。
例如:小程序原生的组件可以让开发者快速使用图片轮播功能。
文章图片
上面页面的图片上面,有三个提示点,表示一共有三张图片,可以切换显示。
它的代码很简单,改一下 index.fxml 文件,并且在 /assets/images/ 目录下添加想要轮播的图片即可。
上面代码中, 组件就是轮播组件,里面放置了三个组件,表示有三个轮播项目,每个项目就是一个
组件的 indicator-dots 属性设置是否显示轮播点,autoplay 属性设置是否自动播放轮播。它们的属性值都是一个布尔值,这里要写成 {{true}}。
在下一期的文章中,我们将会一起聊聊如何使用 JSS,服务端调用等相关的内容,敬请期待。
推荐阅读
- 【SeaTunnel】从一个数据集成组件演化成企业级的服务
- CMake教程——Leeds_Garden
- 消费医疗|高级治疗师不如初级医生,如今成服务员?
- 面试|eclipse项目导入教程
- 投稿|从百亿新宝摩飞看外贸生产商转型升级品牌顶层设计
- Android|Jetpack Compose UI组件入门教程
- LeetCode|LeetCode 探索初级算法-数组(03 旋转数组-20200316)
- 力扣|力扣初级算法-07-数组-旋转图像
- java|基于DoS攻击能量分级的ICPS综合安全控制与通信协同设计
- Java入门基础|Java入门基础第2天《java jdk下载与安装教程》