样式处理及调试
前言
- 无论做小程序端还是PC端,首先需要配置 整体框架(菜单栏,导航栏等)
- 然后再开发页面,并将页面链接绑定到菜单栏
- 接下来将 页面排版 好,再对单个 组件样式 进行调整
在可视化开发(微搭)中:
-
整体框架 通过 页面布局 实现
-
内容排版 通过 布局组件 实现
-
组件样式 通过以下几种方式实现:
-
快捷配置
-
组件CSS(支持AI生成)
-
应用主题
-
全局CSS
-
本篇文章将讲解如何自定义调整样式
组件基础知识
在开始调整样式之前,了解一些基础知识会帮助我们更好地理解页面的构建和样式的调整,请务必阅读该章节
什么是盒子?
在网页设计中,每个 组件 都可以被视为一个矩形的 盒子,组件 是页面组成的最小原子,页面是由组件拼凑而成的
这个盒子包含四个部分:
- 内容: 盒子里面装的东 西,如文字、图片等
- 内边距: 内容与边框之间的距离,是透明的
- 边框: 围绕内边距和内容的线,有宽度
- 外边距: 盒子与其他盒子之间的距离,也是透明的
结构如下:
盒子特性
-
内容影响盒子尺寸:
- 内容增加会撑大盒子
- 可手动设置宽高约束
-
间距控制:
- margin:控制盒子与其他元素的距离
- padding:控制内容与边框的距离
-
支持嵌套:盒子可以嵌套在另一个盒子中
块级组件和行内组件
盒子主要分为两类:块级盒子(Block) 和 行内盒子(Inline),这里我们称为 块级组件 和 行内组件
它们在页面中的表现不同:
| 特性 | 块级组件 | 行内组件 |
|---|---|---|
| 默认显示 | 每个块级元素独占整行,下一个元素自动换行 | 只占据内容宽度,多个行内元素可以在一行显示, 直到放不下才换行 |
| 常见组件 | 文本、文本框、下拉框、普通容器等 | 按钮、图片 |
块级组件示例
两个单行输入组件分别占一行
行内组件示例
按钮、图片会占据一行
样式基本概念
每个组件都有指定的 class(类名) 或者 id 。class 相当于组件的标签,可以多个,id 相当于组件的ID,只能有一个
组件默认都已经有自己的 class,您也可以手动为其添加 class(组件样式属性中支持配置className)
组件是通过 class 或者 id 来指定引用哪些样式
举例:
下述是一个简单的HTML代码片段,一个 div 组件,有个子组件 button 组件
其中 div 的 id 为 page-container ,class 为 container ; button 的 class 为 btn
<div id="page-container" class="container">
<button class="btn">按钮</button>
</div>
默认情况下,这个 div 我们并看不见,他不带有任何样式,我们只能看见这个按钮(不用关心按钮为什么是蓝色,这是平台自带的默认样式)
如果我们期望调整该组件样式,可以通过 class 或 id 给它设置样式,id以 # 显示 ,class以一个点 . 号显示:
#page-container {
/* 设置背景色 */
background: blue;
/* 设置高度 */
height: 100px;
/* 设置宽度 */
width: 100px;
}
.btn {
/* 设置背景色 */
background: red;
}
效果如下:
云开发平台样式调整
在云开发平台上开发时,您不用关心 html 如何编写,云开发平台将各种组件用可视化的方式封装好了,只需要拖拽调整位置即可,在左侧大纲树中看到的就是各个组件的层级关系
因此上述的 div 包裹 按钮 的示例用如下图示组件排版即可完成,接下来在对应的组件属性中设置样式即可
接下来我们来讲解在云开发平台中如何调整样式
快捷配置
如果只需要调整一些基本样式,则只需要在组件配置面板中调整
在 可视化应用 新建的组件中,右侧会有当前选中组件的配置模块,切换到样式模块,即可看到很多的快捷配置,详情参考 组件样式配置
快捷配置中,可以调整 文字、布局、边框、背景色、阴影、圆角、透明度、定位等属性,如果不清楚名词的含义可以 AI 咨询
因此上述的示例我们可以在 普通容器 中给他设置宽高 100px,背景色给定颜色值,同时调整按钮的背景色

组件CSS
如果样式属性面板中的配置不能满足业务需求,您可以在组件的 CSS 编辑面板中,编写样式 API,通过样式选择器,实现组件样式的精细化控制

详情请参考:
如何调试样式
现在您已经知道如何通过 class 或者 id 来调整样式,接下来的问题就是如何知道组件的 class 或者 id
因此调试样式的顺序应该如下:
-
找到要调整样式的组件 class 或者 id
-
根据class编写css
我们先来看第一步的实现:
组件的 class 或 id 需要通过 浏览器调试工具 查找,您可以右键页面「检查」调出 浏览器调试工具
-
切换到 Elements 选项
-
点击 选中按钮,点击后按钮会高亮
-
选中 想要调试的组件,此时右侧组件树中该 组件的位置 会高亮,可以看到该节点的class或者id
Elements面板展示了当前页面的结构,如果没有定位到具体的组件,可以在右侧组件树中往上下级查找

- 根据class编写css
如上图中的场景,我希望将选中的组件的字体颜色改为红色,则需要编写如下样式:
:scope .wd-tabs__item.is-selected {
color: red;
}
.wd-tabs__item.is-selected 是当前选中div的class,因为看到该div下有样式 color: var(--wd-tabs-heder-item-color-selected) ,因此可以判定文字样式是由当前div控制的,因此可以通过该class修改样式

快捷调试样式
打开调试工具,选中节点后,可以直接在调试面板下方的 element.style 位置直接编写 css,即写即生效,调试的没问题后再复制css到组件css中

注意
一般情况下组件都有多层级,由多层 div 或者其他的HTML元 素搭配而成,因此样式的调整也需要聚焦找到对应的元素位置
若修改样式没有生效,大概率原因是找错了组件层级位置,可以多上下级,按上述 快捷调试样式 方式调试下
比如设置宽高不生效时:
A1: 可以检查是否有上层的组件固定了宽高,导致子节点设置宽高不生效
A2: 也可能是样式优先级不够,可以在编写的样式后加上 !important
:scope .wd-tabs__item.is-selected {
color: red !important;
}
示例参考:顶部选项卡自定义样式
应用主题
如果期望修改整体的样式风格,可以使用应用主题统一调整
云开发平台中提供了多套应用主题,使用应用主题可以预定义页面元素的样式,可以应用不同的主题来改变页面默认文字、背景、按钮、图标等的外观
详情请参考 应用主题
全局CSS
如果应用主题不够满足您的定制需求,您可以编写全局CSS,全局修改统一属性
如果希望复用样式的话,可以给组件绑定class,然后在全局定义 class 样式,从而实现样式的复用
详情请参考 代码编辑器
页面排版
调整页面排版,主要是针对 行内组件 和 块级组件 进行排版,因为这两种组件的默认展示有不同的效果,因此在调整时需要用 普通容器 或 网格布局 等布局容器进行处理
普通容器就是div,因此可以善用div进行排版
举例(行内组件换行)
图片和按钮都是行内组件,默认会展示在一行

如果我期望按钮、图片换行展示,则可以通过 普通容器 包裹图片,让普通容器去换行

举例(两端对齐):
下图页面中有两个 按钮 组件,按钮是 行内组件,因此他们默认会占在同一行,从左到右排列

如果期望将 按钮2 放到最右边,呈现两端对齐

这个需求按钮组件本身并不方便做到,我们需要使用 普通容器 或 网格布局 进行实现
普通容器解决方案
通过普通容器组件,将按钮1和按钮2放置到普通容器中,设置容器的 排列方式 ,并设置为 端对齐 即可实现两端对齐

普通容器还有其他的对齐方式,比如居中、左对齐、右对齐、水平居中、上对齐、下对齐等等