前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >简单编写小程序的 CSS 样式教程

简单编写小程序的 CSS 样式教程

原创
作者头像
金牌打杂仔
发布2022-01-05 11:40:12
1.8K0
发布2022-01-05 11:40:12
举报
文章被收录于专栏:让技术飞会儿让技术飞会儿

我们在完成了小程序的内容编辑后,就需要对样式骨架进行调节与调优,才能写出最符合用户体验的样式内容。

今天,来自FInClip的工程师给大家带来编写css样式的干货教程,一起来看看吧。

一、总体样式

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

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

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

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

代码语言:javascript
复制
.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
复制
color: #ff0000;

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

内容变红了

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

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

二、页面样式

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

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

代码语言:javascript
复制
<view class="container unique-class">index页</view>
代码语言:javascript
复制
.unique-class{
  font-size: 66px;
}

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

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

字号并没有发生变化

三、行内样式

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

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

使用差值变量:

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

代码语言:javascript
复制
<view class="container unique-class"
      style="color: {{fontColor}}">
    index页
</view>

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

代码语言:javascript
复制
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
复制
/** common.wxss **/
.small-p {
  padding:5px;
}
代码语言:javascript
复制
/** app.wxss **/
@import "common.wxss";
.middle-p {
  padding:15px;
}

六、组件内置样式

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

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

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

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

代码语言:javascript
复制
<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>

上面代码中,<swiper> 组件就是轮播组件,里面放置了三个 <swiper-item> 组件,表示有三个轮播项目,每个项目就是一个 <image> 组件。

<swiper> 组件的 indicator-dots 属性设置是否显示轮播点,autoplay 属性设置是否自动播放轮播。它们的属性值都是一个布尔值,这里要写成 {{true}}。


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

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

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

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

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

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

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 二、页面样式
  • 三、行内样式
  • 四、尺寸单位
  • 五、样式导入
  • 六、组件内置样式
相关产品与服务
云开发 CloudBase
云开发(Tencent CloudBase,TCB)是腾讯云提供的云原生一体化开发环境和工具平台,为200万+企业和开发者提供高可用、自动弹性扩缩的后端云服务,可用于云端一体化开发多种端应用(小程序、公众号、Web 应用等),避免了应用开发过程中繁琐的服务器搭建及运维,开发者可以专注于业务逻辑的实现,开发门槛更低,效率更高。
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档