当前位置: 首页 > article >正文

面向零基础初学者,从环境搭建到发布上线,手把手教你开发第一个微信小程序(第5章-WXSS入门)

5.1 WXSS是什么WXSSWeiXin Style Sheets是微信小程序的样式语言类似于网页开发中的CSS。WXSS vs CSS对比CSSWXSS选择器支持完整选择器支持大部分选择器单位px, em, remrpx, px布局flex, grid主要用flex最大的区别WXSS新增了rpx单位专为适配不同屏幕尺寸设计。5.2 rpx尺寸单位rpxresponsive pixel是微信小程序推出的响应式单位。工作原理设计师通常以 iPhone 6 为基准设计宽度750px1rpx 0.5px在iPhone 6上换算规则750rpx 屏幕宽度换算对照表设备屏幕宽度1rpx ? pxiPhone 5320px0.5pxiPhone 6375px0.5pxiPhone X414px0.552pxiPad768px1px使用建议配图位置images/ch05/ch05_01_rpx_rule.png标注750rpx 屏幕宽度什么时候用 rpx容器宽度、间距、字体大小等大部分场景保持比例缩放什么时候用 px边框宽度通常1px非常精细的微调/* 建议使用 rpx */.container{width:750rpx;/* 满屏宽度 */padding:20rpx;/* 内边距 */font-size:28rpx;/* 字体大小 */}/* 通常使用 px */.separator{height:1px;/* 边框用px */}5.3 选择器WXSS支持的选择器常用选择器选择器示例说明.class.container类选择器#id#usernameID选择器不推荐elementview标签选择器element,elementview,text多元素选择器.parent .child.card .title后代选择器.parent .child.list .item子选择器选择器优先级同CSS优先级由高到低!important 行内样式 #id .class element示例/* 标签选择器 */view{box-sizing:border-box;}/* 类选择器 */.container{padding:20rpx;}/* 后代选择器 */.card .title{font-size:32rpx;font-weight:bold;}/* 多元素选择 */page, view, text{font-family:-apple-system;}5.4 Flex布局Flex弹性盒模型是WXSS中最常用的布局方式。基本概念┌─────────────────────────────────────┐ │ flex container │ │ ┌─────┐ ┌─────┐ ┌─────┐ │ │ │item1│ │item2│ │item3│ │ │ └─────┘ └─────┘ └─────┘ │ └─────────────────────────────────────┘display: flex- 开启弹性布局flex-direction- 主轴方向justify-content- 主轴对齐align-items- 交叉轴对齐常用属性1. flex-direction - 主轴方向.container{display:flex;flex-direction:row;/* 水平默认 *//* flex-direction: column; 垂直 */}2. justify-content - 主轴对齐.container{display:flex;justify-content:flex-start;/* 左对齐默认 *//* justify-content: center; 居中 *//* justify-content: flex-end; 右对齐 *//* justify-content: space-between; 两端对齐 *//* justify-content: space-around; 等距分布 */}3. align-items - 交叉轴对齐.container{display:flex;align-items:stretch;/* 拉伸默认 *//* align-items: flex-start; 顶部对齐 *//* align-items: center; 居中对齐 *//* align-items: flex-end; 底部对齐 */}4. flex-wrap - 换行.container{display:flex;flex-wrap:nowrap;/* 不换行默认 *//* flex-wrap: wrap; 换行 */}5. flex - 份数分配.box{flex:1;/* 平分剩余空间 */}.golden{flex:2;/* 占2份 */}.silver{flex:1;/* 占1份 */}/* golden 和 silver 的比例是 2:1 */5.5 实战居中布局水平垂直居中.center-box{display:flex;justify-content:center;/* 水平居中 */align-items:center;/* 垂直居中 */}### 底部固定按钮 css .fixed-bottom{position:fixed;bottom:0;left:0;right:0;padding:20rpx 30rpx;}5.6 常用样式属性文本样式.text{font-size:28rpx;/* 字体大小 */color:#333333;/* 文字颜色 */font-weight:bold;/* 字体粗细 */text-align:center;/* 文本对齐 */line-height:1.5;/* 行高 */}背景与边框.box{background-color:#ffffff;/* 背景色 */border-radius:16rpx;/* 圆角 */border:1rpx solid #e0e0e0;/* 边框 */}内边距与外边距.box{padding:20rpx;/* 内边距四周 */padding:20rpx 30rpx;/* 上下20rpx左右30rpx */padding-top:20rpx;/* 单边设置 */margin:20rpx;/* 外边距四周 */}标注padding 和 margin 的区别盒模型┌─────────────────────────┐ │ margin │ │ ┌───────────────────┐ │ │ │ border │ │ │ │ ┌─────────────┐ │ │ │ │ │ padding │ │ │ │ │ │ ┌───────┐ │ │ │ │ │ │ │content│ │ │ │ │ │ │ └───────┘ │ │ │ │ │ └─────────────┘ │ │ │ └───────────────────┘ │ └─────────────────────────┘/* 设置盒模型为 border-box */*{box-sizing:border-box;}5.7 全局样式与局部样式app.wxss - 全局样式在app.wxss中定义的样式所有页面都生效/* app.wxss */page{background-color:#f5f5f5;/* 所有页面背景色 */font-size:28rpx;/* 所有页面字体大小 */}页面样式 - index.wxss在单个页面的.wxss文件中定义的样式只对该页面生效/* pages/index/index.wxss */.container{padding:20rpx;}样式覆盖如果页面样式和全局样式冲突页面样式会覆盖全局样式。5.8 实战短信生成器样式/* pages/index/index.wxss *//* 页面容器 */.container{min-height:100vh;background-color:#f5f5f5;padding:20rpx;}/* 卡片 */.card{background-color:#ffffff;border-radius:16rpx;padding:30rpx;margin-bottom:20rpx;}/* 类型标签容器 */.type-tabs{display:flex;flex-wrap:wrap;}/* 类型标签 */.type-tab{flex:1;min-width:45%;padding:20rpx;margin:10rpx;border-radius:12rpx;border:2rpx solid #e0e0e0;text-align:center;}.type-tab.active{border-color:#1890ff;background-color:#e6f7ff;}/* 输入框 */.input-field{width:100%;padding:20rpx;border:1rpx solid #d9d9d9;border-radius:8rpx;font-size:28rpx;}.input-field-placeholder{color:#bfbfbf;}/* 主按钮 */.btn-primary{width:100%;height:88rpx;background-color:#1890ff;color:#ffffff;border-radius:44rpx;font-size:32rpx;display:flex;align-items:center;justify-content:center;} - 标注各样式效果预览 --- ## 5.9 本章小结 ✅ 理解了WXSS与CSS的区别 ✅ 掌握了rpx响应式单位的使用 ✅ 学会了5种常用选择器 ✅ 掌握了Flex布局的6个核心属性 ✅ 理解了全局样式与局部样式的区别

相关文章:

面向零基础初学者,从环境搭建到发布上线,手把手教你开发第一个微信小程序(第5章-WXSS入门)

5.1 WXSS是什么? WXSS(WeiXin Style Sheets)是微信小程序的样式语言,类似于网页开发中的CSS。 WXSS vs CSS对比CSSWXSS选择器支持完整选择器支持大部分选择器单位px, em, remrpx, px布局flex, grid主要用flex最大的区别&#xff1…...

AI编码助手效率革命:ai-codex工具如何通过静态分析生成项目索引

1. 项目概述:为AI编码助手打造“即时上下文”如果你和我一样,每天都在和Claude Code、Cursor或者GitHub Copilot这类AI编码助手打交道,那你肯定也经历过这个“启动成本”的烦恼:每次开启一个新对话,助手做的第一件事就…...

30个客户,30本定制手册:文档团队的噩梦

上周,一家做大型设备的文档主管给我算了一笔账。他们有30个大客户,每个客户都要求专属手册。A客户要求LOGO换成他们的,操作界面术语用他们的内部叫法;B客户要求删除某些技术参数,只保留操作步骤;C客户要求所…...

技能迁移器:构建个人开发环境一键迁移框架的设计与实践

1. 项目概述:技能迁移器的核心价值最近在GitHub上看到一个挺有意思的项目,叫“skill-migrator”。光看名字,你可能会联想到数据迁移或者系统迁移,但它的核心其实是关于“人”的——如何将一个人的技能、知识、乃至工作习惯&#x…...

ECHO框架:语言驱动机器人控制的边缘-云协同技术

1. ECHO框架:语言驱动人形机器人控制的边缘-云协同架构在机器人控制领域,如何让机器人理解并执行自然语言指令一直是个关键挑战。传统方法要么受限于硬件计算能力,要么面临语义理解与实时控制的矛盾。ECHO框架通过创新的边缘-云协同架构&…...

【STM32】启动过程分析

本文记录一下STM32F4系列的启动过程,也就是从STM32芯片上电复位执行的第一条指令,到执行用户编写的main函数这之间的过程。1.启动模式上电复位,硬件复位和软件复位。当产生复位,并且离开复位状态后,CM4 内核做的第一件…...

OpenClaw任务控制中心:构建自动化工作流的轻量级调度平台

1. 项目概述与核心价值最近在折腾一些自动化任务时,发现很多开源工具虽然功能强大,但往往需要自己写胶水代码来串联,或者需要一个统一的界面来管理和监控。这让我想起了以前在运维和开发中经常遇到的痛点:脚本分散、日志难查、状态…...

总结“从输入URL到展示出页面“ 过程发生了什么

当我们在浏览器地址栏输入URL并按下回车后,背后会经历一系列复杂的步骤,最终将网页内容呈现在眼前,整个过程可以分为以下几个阶段:一、URL解析与处理浏览器首先会判断输入的内容是否为合法URL,如果是域名(如…...

javassit使用过程的坑

https://segmentfault.com/a/1190000044154053 https://blog.csdn.net/Kingairy/article/details/104003524 经过不断的试错和研究&#xff0c;总结如下&#xff1a; 以CtMethod#setBody 方法为例 不要在代码中使用范型&#xff0c;哪怕是定义List<Object>这样基础范型…...

L-system与硬件补偿技术在自动钢琴音乐生成中的应用

1. L-system与硬件补偿技术概述L-system&#xff08;Lindenmayer系统&#xff09;作为一种形式化语法&#xff0c;最初由生物学家Aristid Lindenmayer于1968年提出&#xff0c;用于模拟植物的生长过程。其核心机制是通过字符串重写规则生成具有自相似性的复杂结构。在音乐生成领…...

从零构建团队专属CLI工具:自动化项目脚手架与代码生成实践

1. 项目概述&#xff1a;一个命令行工具的诞生与价值最近在整理自己的工具链&#xff0c;发现一个挺有意思的现象&#xff1a;很多开发者&#xff0c;包括我自己&#xff0c;都习惯性地把一些高频、重复的脚本操作散落在各个项目的根目录下&#xff0c;或者干脆写个简陋的Makef…...

实战入口:Claude 到底在哪用?网页版、桌面端与多端场景全解

最近在 se.zzmax.cn 上直接体验 Claude 各型号&#xff0c;发现很多同学第一次想用 Claude&#xff0c;卡住的往往不是“怎么问”&#xff0c;而是“从哪儿进”。Anthropic 目前提供了多个官方入口&#xff0c;不同入口适配的使用场景、能力和 workflow 集成深度并不一样。下面…...

MCP协议赋能Ollama:本地大模型工具调用的标准化实践

1. 项目概述&#xff1a;当MCP遇上Ollama&#xff0c;本地AI工作流的“最后一公里” 如果你和我一样&#xff0c;是个喜欢折腾本地大模型的开发者&#xff0c;那你肯定对Ollama不陌生。它让在本地运行Llama、Mistral、Qwen这些开源大模型变得像 ollama run llama3.2 一样简单…...

redis 8.6.3 最新版重磅发布:安全修复、核心 Bug 修复与模块优化全面升级

2026年5月5日&#xff0c;Redis 8.6.3 正式发布。 这是一个非常值得关注的版本&#xff0c;因为官方明确标注了 Update urgency: SECURITY&#xff0c;说明本次更新包含安全修复&#xff0c;建议尽快升级。 从发布内容来看&#xff0c;8.6.3 不只是一次常规的小版本迭代&#x…...

2026-05-09:不同元素和至少为 K 的最短子数组长度。用go语言,给定一个整数数组 nums 和一个整数 k。你需要在数组中找一个连续的非空子数组,使得这个子数组里不同元素的种类数对应的取值之

2026-05-09&#xff1a;不同元素和至少为 K 的最短子数组长度。用go语言&#xff0c;给定一个整数数组 nums 和一个整数 k。你需要在数组中找一个连续的非空子数组&#xff0c;使得这个子数组里不同元素的种类数对应的取值之和&#xff08;也就是&#xff1a;每个数只算一次&am…...

【Python实战】告别杂乱脚本!基于SOLID原则与策略模式的 PDF转Word 批量处理系统

&#x1f4dd; 前言&#xff1a;为什么要造这个“轮子”&#xff1f; 在日常的学习和开发中&#xff0c;我们经常遇到需要将大量 PDF 转换为 Word 文档的场景。市面上的在线工具要么满屏广告&#xff0c;要么限制文件大小和数量&#xff1b;而网上的 Python 脚本往往是简单的“…...

告别冗余!Linux软件卸载命令全攻略,让你的系统焕然一新

还在为Linux系统软件残留烦恼吗&#xff1f;本攻略汇集APT、YUM、DNF、RPM等主流包管理器的卸载命令&#xff0c;并提供手动安装软件的清理方法。告别臃肿&#xff0c;轻松卸载&#xff0c;让你的Linux系统告别卡顿&#xff0c;运行如飞。在Linux系统中&#xff0c;卸载软件的方…...

【线性代数笔记】秩、线性相关性与等价向量组的核心逻辑总结

博主简介&#xff1a;05后理工男&#xff0c;CSDN 技术博主。目前正在攻读计算机专业&#xff0c;同步复习 408 及数学基础。 笔记说明&#xff1a;本文为线性代数关于“秩”与“向量组相关性”的学习笔记&#xff0c;重点记录了判定方法与核心定理。一、 线性表示与方程组解的…...

Cursor AI编程效率追踪器:本地化数据采集与可视化分析实践

1. 项目概述&#xff1a;一个为开发者量身定制的效率追踪器最近在GitHub上看到一个挺有意思的项目&#xff0c;叫cursor-usage-tracker。光看名字&#xff0c;你可能觉得这又是一个平平无奇的“使用情况追踪器”。但如果你是一位深度使用Cursor&#xff08;那个集成了AI能力的现…...

BarTender如何取消激活和重新激活

一、取消激活1、多台电脑、服务端取消激活方法A、打开Administration ConsoleB、许可—选中当前许可证—右键选择取消激活许可证C、点击下一步D、取消激活中E、取消激活成功&#xff0c;许可证没有处于激活的状态2、只安装了单台电脑的情况取消激活可以按照上述取消激活方式进行…...

OpenClaw三层记忆系统:为AI助手构建可检索的长期知识库

1. 项目概述如果你和我一样&#xff0c;长期与各种AI助手打交道&#xff0c;无论是编程、写作还是日常任务规划&#xff0c;最头疼的问题之一就是“记忆”。每次对话都像是一次全新的邂逅&#xff0c;助手记不住你昨天提到的项目细节&#xff0c;也忘了上周讨论过的技术方案。这…...

WebMCP:连接Web应用与AI模型的统一协议服务器实践

1. 项目概述&#xff1a;一个连接Web应用与AI模型的“万能适配器”最近在折腾一些AI应用开发时&#xff0c;我遇到了一个挺典型的痛点&#xff1a;手头有各种功能强大的大语言模型&#xff08;LLM&#xff09;&#xff0c;比如OpenAI的GPT、Anthropic的Claude&#xff0c;或者开…...

Aegis-Veil:轻量级可编程应用安全中间件实战指南

1. 项目概述&#xff1a;一个面向开发者的安全防护工具 最近在梳理自己项目的安全配置时&#xff0c;又想起了之前用过的一个挺有意思的工具——Aegis-Veil。这名字听起来就很有“盾与面纱”的意味&#xff0c;直指其核心&#xff1a;为你的应用或服务提供一层坚固的防护&#…...

实测对比:用Python+Azure语音服务做个桌面小工具,通义灵码和Claude3谁更省心?

PythonAzure语音服务实战&#xff1a;通义灵码与Claude3在桌面工具开发中的深度对比 最近在开发者社区里&#xff0c;关于AI编程助手的讨论越来越热烈。作为一个经常需要快速实现原型工具的Python开发者&#xff0c;我决定亲自测试两款热门AI编程助手——通义灵码和Claude3&…...

GPT-5.5代码能力突破:88.7%意味着什么?

GPT-5.5 发布当天&#xff0c;最被引用的一个数字是 88.7%——SWE-bench Verified 的得分。同一模型在更难的 SWE-Bench Pro 上达到 58.6%。两个数字放在一起看&#xff0c;比单独看任何一个都更有意义。拿同一个编程任务丢给 GPT-5.5 和其他模型&#xff0c;对比输出结果&…...

Gemini31Pro接入企业知识库实践

概要Gemini 3.1 Pro 是 Google DeepMind 于 2026 年 2 月发布的旗舰模型&#xff0c;支持开发者通过 Gemini API、Vertex AI 等渠道调用。该模型采用 MoE&#xff08;混合专家&#xff09;架构&#xff0c;上下文窗口扩展至 100 万 token&#xff0c;支持文本、图片、PDF、视频…...

GitHub知识聚合库:如何高效利用开源项目构建个人技术学习体系

1. 项目概述与核心价值 最近在GitHub上看到一个挺有意思的项目&#xff0c;叫“khrum-khrum/mega-itmo”。光看这个名字&#xff0c;可能有点摸不着头脑&#xff0c;但点进去之后&#xff0c;我发现这其实是一个围绕“信息技术、管理与优化”领域&#xff08;ITMO是常见缩写&a…...

机器人技能实验复现指南:从开源机械爪到可复现研究

1. 项目概述&#xff1a;从开源代码到可复现的机器人技能实验最近在机器人技能学习社区里&#xff0c;一个名为“openclaw-experiment-report-skill”的项目引起了我的注意。这个项目标题直译过来是“开源爪实验报告技能”&#xff0c;听起来像是一个围绕开源机械爪硬件平台进行…...

openKylin项目新增捐赠人

2026年4月&#xff0c;openKylin项目新增捐赠人openKylin社区新增捐赠人龙芯中科技术股份有限公司成为白银捐赠人此芯科技集团有限公司成为白银捐赠人关于openKylinOpenAtom openKylin&#xff08;简称“openKylin”&#xff09;是由开放原子开源基金会孵化及运营的开源项目。社…...

navicat 17 lite 安装教程

搜索了一圈说 navicat比DBeaver好用且自己玩社区版够用 navicat 17 lite 安装教程 1. 下载安装 官网地址 下载地址 找到 Navicat Premium Lite 17 → Windows&#xff0c;下载 64 位 安装包&#xff1a; 应该随便选一个就行&#xff08;选第一个就行&#xff09; 点击了下载…...