微信小程序-4

一、使用scss编译wxss文件

1.vscode安装easysass扩展
vscode插件 - - - easysass - - - 安装

2.微信小程序 导入vscode扩展
开发者工具 - - - 视图 - - - 扩展 - - - 右侧三个点 - - - 导入已安装的vscode扩展

3.编辑 打开编辑器扩展目录,找到easysass文件夹,打开package.json文件

				"easysass.formats": {"type": "array","default": [{"format": "expanded","extension": ".css"},{"format": "compressed","extension": ".min.css"}],"description": "Define format(s) for outputted css files. Use \"nested\", \"expanded\", \"compact\" or \"compressed\" as a format."},

找到上面的代码,修改为下面的样子

				"easysass.formats": {"type": "array","default": [{"format": "expanded","extension": ".wxss"}],"description": "Define format(s) for outputted css files. Use \"nested\", \"expanded\", \"compact\" or \"compressed\" as a format."},

4.项目 - - - 重新打开此项目
5.在该目录下新建scss文件

<view class="out"><view class="box"><view class="inner"><text class="text">小程序名称</text></view></view>
</view>

在scss文件里编译,保存后会自动在wxss文件里生成相应的样式

// scss文件 - - - 在scss文件中,//is注释
.out{background: pink;width: 500rpx;height: 500rpx;.box{width: 300rpx;height: 300rpx;background: red;.inner{width: 200rpx;height: 200rpx;background: purple;}}.row{width: 300rpx;height: 100rpx;background: orange;}
}

在wxss中生成的代码如下

.out {background: pink;width: 500rpx;height: 500rpx;
}.out .box {width: 300rpx;height: 300rpx;background: red;
}.out .box .inner {width: 200rpx;height: 200rpx;background: purple;
}.out .row {width: 300rpx;height: 100rpx;background: orange;
}

二、页面初始化配置全局样式

1.修改app.wxss代码

/**app.wxss**/
view,text{box-sizing: border-box;
}
/* 全局配色 */
/* page是全局,定义全局变量 主题色 */
/* 双横线定义css变量 */
page{--themeColor:#bda066;--globalColor:#1a1b1c;--focusColor:#4c4d4e;--descColor:#7e8081;--greyColor:#8e8e8e;--subColor:#b1b2b3;--lightColor:#e4e4e4;--globalBgColor1:#e3e4e5;--globalBgColor2:#f6f7f8;--globalBgColor3:#ffffff;
}

在页面中使用全局变量里的颜色

<view class="box">首页</view>
.box{// 使用var变量函数color: var(--themeColor);
}

2.修改app.json文件

  "window":{"navigationBarBackgroundColor": "#000","navigationBarTitleText": "项目名称","navigationBarTextStyle":"white"},

3.将app.js中的内容删除,输入App回车

4.删除日志,并在app.json文件中新建页面

  "pages":["pages/index/index","pages/classify/classify","pages/news/news"],

5.设置导航tabbar

color是文字的颜色

  "tabBar": {"color": "#4c4d4e","selectedColor": "#1aad19","list": [{"text":"首页","pagePath":"pages/index/index","iconPath": "/static/icon/home_1.png","selectedIconPath": "/static/icon/home_2.png"},{"text": "分类","pagePath": "pages/classify/classify","iconPath": "/static/icon/classify.png","selectedIconPath": "/static/icon/classify_1.png"},{"text": "新闻","pagePath": "pages/news/news","iconPath": "/static/icon/new.png","selectedIconPath": "/static/icon/new_1.png"}]},

三、定义公共的头部组件

在全局app.json中引入component

  "usingComponents": {"xzs-header":"components/xzs-header/xzs-header"}

component组件 wxml内容

<!--components/xzs-header/xzs-header.wxml-->
<view class="header"><navigator url="/pages/index/index" class="logo"><image src="/static/images/snake.png" mode="heightFix" class="pic"/></navigator><view class="search"><icon type="success" color="red"/></view>
</view>

scss文件内容

.header{height: 120rpx;border: 1rpx solid var(--themeColor);display: flex;justify-content: space-between;align-items: center;padding: 0 30rpx;.logo{height: 70rpx;.pic{height: 100%;}}
}

在页面中引用

<xzs-header></xzs-header>

四、页面banner使用swiper的更多属性

轮播图
组件 - - - 视图容器 - - - swiper滑块视图容器

<view class="banner"><!-- 255,255,255 is 白色 --><swiper previous-margin="30rpx" circular="true" autoplay interval="3000" indicator-dots indicator-active-color="var(--themeColor)" indicator-color="rgba(255,255,255,0.3)"><swiper-item><image src="/static/images/banner1.jpeg" mode=""/></swiper-item><swiper-item><image src="/static/images/banner2.jpeg" mode=""/></swiper-item><swiper-item><image src="/static/images/banner1.jpeg" mode=""/></swiper-item><swiper-item><image src="/static/images/banner2.jpeg" mode=""/></swiper-item></swiper>
</view>
// 轮播图
.banner{padding-top: 30rpx;swiper{height: 460rpx;swiper-item{image{width: 690rpx;height: 460rpx;border-radius: 30rpx;}}}
}

五、scroll-view滑动组件在项目中的使用

<view class="scrollNav"><scroll-view scroll-x><navigator class="item" url="" wx:for="{{6}}" wx:key="index"><view class="pic"><image src="/static/images/snake.png" mode=""/><!-- <image src="/static/images/snake{{index+1}}.png" mode=""/> --></view><view class="text">内容</view>    </navigator></scroll-view>
</view>
// 菜单导航
.scrollNav{padding: 60rpx 30rpx;scroll-view{white-space: nowrap;.item{display: inline-block;padding: 0 20rpx;.pic{width: 120rpx;height: 120rpx;image{width: 100%;height: 100%;}}.text{text-align: center;font-size: 28rpx;color: var(--globalColor);padding-top: 10rpx;}}.item:first-child{padding-left: 0;}.item:last-child{padding-right: 0;}}
}

六、引入图片

公共的样式在app.wxss里写

.pubTitle{text-align: center;}
.pubTitle .en{font-size: 80rpx;font-weight: 900;text-transform: uppercase;color: var(--globalColor);opacity: 0.1;
}
.pubTitle .cn{font-size: 50rpx;font-weight: 900;transform: translateY(-60rpx);color: var(--globalColor);
}
.pubTitle .line{width: 100rpx;height: 5rpx;background: var(--globalColor);opacity: 0.3;/*  */display: inline-block;transform: translateY(-32rpx);
}
<view class="about"><view class="pubTitle"><view class="en">introduce</view><view class="cn">简介</view><view class="line"></view></view><view class="content"><view class="row">文本内容</view><view class="row">文本内容</view><view class="row">文本内容</view></view>
</view>
// 公司介绍
.about{padding: 50rpx 30rpx 50rpx;// 添加背景// 1.将图片转为base64,复制数据,但数据太多,一般不采用// 2.将图片上传到云空间,使用http链接background: url(https://gimg2.baidu.com/image_search/src=http%3A%2F%2Fc-ssl.duitang.com%2Fuploads%2Fitem%2F202002%2F21%2F20200221004653_KRZVh.jpeg&refer=http%3A%2F%2Fc-ssl.duitang.com&app=2002&size=f9999,10000&q=a80&n=0&g=0n&fmt=auto?sec=1700202144&t=b2dac370497e4c7e429b6f44b08af557) no-repeat;background-size: cover;.content{.row{line-height: 1.6em;text-indent: 2em;font-size: 32rpx;padding: 20rpx 0;border-bottom: 1rpx dashed var(--themeColor);}.row:first-child{padding-top: 0;}.row:last-child{padding-bottom: 0;border-bottom: none;}}
}

app.json全局引用组件

  "usingComponents": {"xzs-header":"/components/xzs-header/xzs-header","xzs-news-item":"/components/xzs-news-item/xzs-news-item"}

百度搜索css两行省略,可以直接使用

七、UI组件库:Vant Weapp和Tdesign

vant weapp

cmd输入node -v回车,若是返回版本号,说明已安装node

安装node,百度搜索nodejs,下载长期维护版

1.在微信小程序的资源管理器中找一个空白地方,右键打开终端,输入代码npm i @vant/weapp -S --production,下载成功后会生成一个名为node_modules的文件夹

2.在app.json中删除"style": "v2",

3.修改 project.config.json

{..."setting": {..."packNpmManually": true,"packNpmRelationList": [{"packageJsonPath": "./package.json","miniprogramNpmDistDir": "./"}]}
}

4.菜单栏 - - - 工具 - - - 构建npm
会自动创建一个名为miniprogram_npm的文件夹

使用方法,在app.json或index.json中引入组件

直接点击图标可以自动复制到剪贴板

大小默认是px,也可使用rpx

<van-icon name="fire-o" color="red" size="80rpx"/>

小图标的大小14px

获得动态的年份

  data: {year:new Date().getFullYear(),},

八、不使用插件使用scss

开发 - - - 工具 - - - 开发辅助 - - - 原生支持TypeScript

在project.config.json的setting里添加下面代码

    "useCompilerPlugins":["sass"],

直接将wxss文件后缀改为scss,文件夹里有4个文件
scss文件可以看到样式的变化

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/109791.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

spring-statemachine 状态机自定义持久化入库

使用 spring-statemachine 状态机持久化时&#xff0c;可以通过内存、spring-statemachine-redis 或 spring-statemachine-data-jpa 现有方式持久化处理。 因项目审核操作记录频繁&#xff0c;数据量大&#xff0c;使用 内存 或 spring-statemachine-redis 模式不可取&#xf…

QTday02(常用类、UI界面下的开发、信号与槽)

今日任务 1. 使用手动连接&#xff0c;将登录框中的取消按钮使用qt4版本的连接到自定义的槽函数中&#xff0c;在自定义的槽函数中调用关闭函数 将登录按钮使用qt5版本的连接到自定义的槽函数中&#xff0c;在槽函数中判断ui界面上输入的账号是否为"admin"&#x…

v-model表单数据双向绑定-表单提交示例

示例如下&#xff1a; <!DOCTYPE html> <html lang"en"> <head><meta charset"UTF-8"><meta name"viewport" content"widthdevice-width, initial-scale1.0"><title>v-model表单数据双向绑定<…

354 俄罗斯套娃信封问题(贪心+二分)

题目 链接 给你一个二维整数数组 envelopes &#xff0c;其中 envelopes[i] [wi, hi] &#xff0c;表示第 i 个信封的宽度和高度。 当另一个信封的宽度和高度都比这个信封大的时候&#xff0c;这个信封就可以放进另一个信封里&#xff0c;如同俄罗斯套娃一样。 请计算 最多…

【17.19消失的两个数字】

目录 一、题目描述二、算法原理三、代码实现 一、题目描述 二、算法原理 三、代码实现 class Solution { public:vector<int> missingTwo(vector<int>& nums) {//找到a^bint temp0;for(auto num:nums){temp^num;}for(int i1;i<nums.size()2;i){temp^i;}//找…

Flink测试利器之DataGen初探 | 京东云技术团队

什么是 Flinksql Flink SQL 是基于 Apache Calcite 的 SQL 解析器和优化器构建的&#xff0c;支持ANSI SQL 标准&#xff0c;允许使用标准的 SQL 语句来处理流式和批处理数据。通过 Flink SQL&#xff0c;可以以声明式的方式描述数据处理逻辑&#xff0c;而无需编写显式的代码…

React 路由总结 react-router-dom6+react-router-dom5

开题 单页面应用和多页面应用 SPA&#xff1a;单页面应用程序&#xff0c;整个应用中只有一个页面(index.html) MPA&#xff1a;多页面应用程序&#xff0c;整个应用中有很多页面(*.html) react路由 现在的前端应用大多都是SPA单页面应用程序&#xff0c;也就是一个HTML页面的…

百度OCR识别图片文本字符串——物联网上位机软件

一、开发背景 根据项目需求&#xff0c;我们需要完成LED显示屏实时显示歌词的效果。最优的方法是调用歌曲播放器的API获取歌词&#xff0c;但是由于这个开发资格不是很好申请&#xff0c;因此我们采用其他方案&#xff0c;即通过OCR识别获取歌词&#xff0c;并投射到LED显示屏上…

二、电脑装机实践

计算机装机实践 一、零部件组装与启动二、操作系统安装与使用2.0 先导内容&#xff1a;BIOS引导模式、Boot Loader-引导加载程序、硬盘分区模式2.1 Win11安装2.2 Ubuntu22.042.2.0 Ubuntu简介2.2.1 Ubuntu22.04安装2.2.2 Ubuntu22.04使用2.2.2.1 新建文件模版2.2.2.2 给新安装应…

ExposureDiffusion: Learning to Expose for Low-light Image Enhancement论文阅读笔记

南洋理工大学、鹏城实验室、香港理工大学在ICCV2023发表的暗图增强论文。用diffusion模型来进行raw图像暗图增强&#xff0c;同时提出了一个自适应的残差层用来对具有不同信噪比的不同区域采取不同的去噪策略。 方法的框图如下所示&#xff1a; 一张raw图片可以由信号和噪声…

如何解决idea运行出现java: 程序包XX不存在

原因一&#xff1a;pom.xml没有将程序包XXX的<dependency>配置 直接将程序包的<dependency>配置写上即可 原因二&#xff1a;maven配置问题 打开idea的Settings, 进入Build Execution Deployment/Build Tools/Maven/Runner,将Delegate IDE勾上就可以了。(将idea…

Maven 基础教程系列

Maven是一个项目开发管理和理解工具。基于项目对象模型的概念&#xff1a;构建、依赖关系管理、文档创建、站点发布和分发发布都由pom.xml声明性文件控制。Maven可以通过插件进行扩展&#xff0c;以使用许多其他开发工具来报告或构建过程。 一、Maven 使用教程-CSDN博客 二、…

Eclipse Xtext 实现PLC ST 语言到C的转换

Eclipse Xtext 是开发领域专用语言&#xff08;DSL&#xff09;的工具。例如数据库的SQL 语言&#xff0c;PLC 的ST 语言都是一种领域专用语言。在开放自动化领域&#xff0c;提倡基于模型的设计方法。DSL 是描述模型的强有力工具。 在开发PLC 程序IDE时&#xff0c;开发ST编译…

网络安全内网渗透之信息收集--systeminfo查看电脑有无加域

systeminfo输出的内容很多&#xff0c;包括主机名、OS名称、OS版本、域信息、打的补丁程序等。 其中&#xff0c;查看电脑有无加域可以快速搜索&#xff1a; systeminfo|findstr "域:" 输出结果为WORKGROUP&#xff0c;可见该机器没有加域&#xff1a; systeminfo…

LeetCode【17】电话号码的字母组合

题目&#xff1a; 思路&#xff1a; 参考&#xff1a;https://blog.csdn.net/weixin_46429290/article/details/121888154 和上一个题《子集》的思路一样&#xff0c;先画出树结构&#xff0c;看树的深度&#xff08;遍历层级&#xff09;&#xff0c;树的宽度&#xff08;横向…

10.18作业

使用手动连接&#xff0c;将登录框中的取消按钮使用qt4版本的连接到自定义的槽函数中&#xff0c;在自定义的槽函数中调用关闭函数 将登录按钮使用qt5版本的连接到自定义的槽函数中&#xff0c;在槽函数中判断ui界面上输入的账号是否为"admin"&#xff0c;密码是否为…

IntelliJ IDEA中使用“Generate equals() and hashCode()“提供不同模板的区别

当在IntelliJ IDEA中使用"Generate equals() and hashCode()"功能时&#xff0c;它提供了几个模板选项来生成equals()和hashCode()方法的代码。以下是这些模板的一些区别&#xff1a; IntelliJ Default&#xff08;IntelliJ 默认&#xff09;&#xff1a;这是Intelli…

Java文件前后端上传下载工具类

任何非压缩格式下载 package com.pisx.pd.eco.util;import java.io.*; import java.util.Collections; import java.util.HashMap; import java.util.Map;import javax.servlet.ServletOutputStream; import javax.servlet.http.HttpServletResponse;import org.springframewo…

C++11——包装器与lambda表达式

目录 一.背景 二.lambda 1.见一见lambda 2.lambda表达式语法 3.lambda捕捉列表说明 三.函数对象与lambda表达式 四.包装器 1.function包装器 2.包装类的成员函数 五.bind 1.调整参数位置 2.减少函数参数 一.背景 在C98中&#xff0c;如果想要对一个数据集合中的元素…

成都瀚网科技:如何有效运营抖店来客呢?

随着电子商务的快速发展和移动互联网的普及&#xff0c;越来越多的企业开始将目光转向线上销售渠道。其中&#xff0c;抖音成为备受关注的平台。作为中国最大的短视频社交平台之一&#xff0c;抖音每天吸引数亿用户&#xff0c;这也为企业提供了巨大的商机。那么&#xff0c;如…