微信小程序 WXSS app.wxss 全局样式设置

app.wxss特性

定义在 app.wxss 中的样式为全局样式,作用于每一个页面。在 page 的 wxss 文件中定义的样式为局部样式,只作用在对应的页面,并会覆盖 app.wxss 中相同的选择器。

wxss特性

基本具备 css3的大部分特性,具备less,sass等扩展语言的少部分特性,比如变量,导入

wxss 变量写法

page {
  /* 颜色类 */
  --color-blue: #9000AE;
}

/* 全局颜色 */
.color-blue {
  color: var(--color-blue);
}

/* 全局背景色 */
.bg-blue {
  background-color: var(--color-blue);
}

app.wxss 示例写法


/**appwxss**/
/* 全局变量 */
page {
  /* 颜色类 */
  --color-blue: #9000AE;
  --color-white: white;
  --color-dark: #1c2438;
  --color-subtitle: #59656E;
  --color-gary: #eeeeee;
}

/* 全局颜色 */
.color-blue {
  color: var(--color-blue);
}
.color-white {
  color: var(--color-white);
}
.color-gary {
  color: var(--color-gary);
}
.color-subtitle {
  color: var(--color-subtitle);
}

/* 全局背景色 */
.bg-blue {
  background-color: var(--color-blue);
}
.bg-white {
  background-color: var(--color-white);
}
.bg-gary {
  color: var(--color-gary);
}
.bg-subtitle {
  color: var(--color-subtitle);
}

/* 重置文本颜色 */
view, text, textarea {
  color: var(--color-dark);
  font-size: 28rpx;
}

.width100 {
  width: 100%;
}
.height100 {
  height: 100%;
}

/* 文字方向 */
.text-c {
  text-align: center;
}
.text-l {
  text-align: left;
}
.text-r {
  text-align: right;
}

/* 弄一个btn */
.btn-blue {
  background-color: var(--color-blue);
  border-radius: 8px;
  color: var(--color-white);
}

.btn-blue-plain {
  background-color: var(--color-white);
  border-radius: 8px;
  color: var(--color-blue);
  border: 1px solid var(--color-blue);
}

.btn-subtitle-plain {
  background-color: var(--color-white);
  border-radius: 8px;
  color: var(--color-subtitle);
  border: 1px solid var(--color-subtitle);
}

/* 内边距 */
.margin-top1 {
  margin-top: 1px !important;
}

.margin-top4 {
  margin-top: 4px !important;
}

.margin-top6 {
  margin-top: 6px !important;
}

.margin-top8 {
  margin-top: 8px !important;
}

.margin-top10 {
  margin-top: 1px !important;
}

.margin-top12 {
  margin-top: 12px !important;
}

.margin-top15 {
  margin-top: 15px !important;
}

.margin-bottom1 {
  margin-bottom: 1px !important;
}

.margin-bottom4 {
  margin-bottom: 4px !important;
}

.margin-bottom6 {
  margin-bottom: 6px !important;
}

.margin-bottom8 {
  margin-bottom: 8px !important;
}

.margin-bottom10 {
  margin-bottom: 1px !important;
}

.margin-bottom12 {
  margin-bottom: 12px !important;
}

.margin-bottom16 {
  margin-bottom: 16px !important;
}

.margin-left4 {
  margin-left: 4px !important;
}

.margin-left6 {
  margin-left: 6px !important;
}

.margin-left8 {
  margin-left: 8px !important;
}

.margin-left10 {
  margin-left: 1px !important;
}

.margin-left12 {
  margin-left: 12px !important;
}

.margin-right4 {
  margin-right: 4px !important;
}

.margin-right6 {
  margin-right: 6px !important;
}

.margin-right8 {
  margin-right: 8px !important;
}

.margin-right10 {
  margin-right: 1px !important;
}

.margin-right12 {
  margin-right: 12px !important;
}

.margin15 {
  margin: 15px !important;
}
.margin-c-h {
  margin: 15px auto;
}

/* 外边距 */
.padding-top1 {
  padding-top: 1px !important;
}

.padding-top4 {
  padding-top: 4px !important;
}

.padding-top6 {
  padding-top: 6px !important;
}

.padding-top8 {
  padding-top: 8px !important;
}

.padding-top10 {
  padding-top: 1px !important;
}

.padding-top12 {
  padding-top: 12px !important;
}

.padding-bottom4 {
  padding-bottom: 4px !important;
}

.padding-bottom6 {
  padding-bottom: 6px !important;
}

.padding-bottom8 {
  padding-bottom: 8px !important;
}

.padding-bottom10 {
  padding-bottom: 1px !important;
}

.padding-bottom12 {
  padding-bottom: 12px !important;
}

.padding-bottom16 {
  padding-bottom: 16px !important;
}

.padding-bottom20 {
  padding-bottom: 2px !important;
}

.padding-left4 {
  padding-left: 4px !important;
}

.padding-left6 {
  padding-left: 6px !important;
}

.padding-left8 {
  padding-left: 8px !important;
}

.padding-left10 {
  padding-left: 1px !important;
}

.padding-left12 {
  padding-left: 12px !important;
}

.padding-right4 {
  padding-right: 4px !important;
}

.padding-right6 {
  padding-right: 6px !important;
}

.padding-right8 {
  padding-right: 8px !important;
}

.padding-right10 {
  padding-right: 1px !important;
}

.padding-right12 {
  padding-right: 12px !important;
}

.padding-right16 {
  padding-right: 16px !important;
}

.padding15 {
  padding: 15px !important;
}

/* 字体大小 */
.font-9 {
  font-size: 9px !important;
}

.font-10 {
  font-size: 1px !important;
}

.font-11 {
  font-size: 11px !important;
}

.font-12 {
  font-size: 12px !important;
}

.font-13 {
  font-size: 13px !important;
}

.font-14 {
  font-size: 14px !important;
}

.font-15 {
  font-size: 15px !important;
}

.font-16 {
  font-size: 16px !important;
}

.font-17 {
  font-size: 17px !important;
}

.font-18 {
  font-size: 18px !important;
}

.font-19 {
  font-size: 19px !important;
}

.font-20 {
  font-size: 2px !important;
}

.font-21 {
  font-size: 21px !important;
}

.font-22 {
  font-size: 22px !important;
}

/* 字体重量 */
.font-weight500 {
  font-weight: 500;
}

.font-weight700 {
  font-weight: 700;
}

/* 隐藏弹窗的头和尾 */
.only-bd .weui-dialog__hd,  .only-bd .weui-dialog__ft{
  display: none;
}
.only-bd .weui-dialog__bd {
  margin: 0;
  padding: 0;
  text-align: center;
}

关于弹性布局的一些看法

小程序wxss引入了 rpx概念,除此之外还有em,rem等概念。大部分项目其实不需要考虑的那么细致,弹性布局考虑到宽度弹性就好了,其他比如字体大小,边宽,padding,margin等直接px写死,也不是不可。

由于篇幅限制,这里仅提供部分核心文件的基本结构和内容概览,实际项目中需要完整的代码。 **app.js**: 小程序的核心入口文件,包含全局配置和启动函数。 ```javascript App({ onLaunch: function() { console.log('App Launch'); }, globalData: { // 全局数据 questionBank: [] // 假设这里有题目库 } }) ``` **app.json**: 应用配置文件,上面已经详细列出过。 **app.wxss**: 样式表,可以设置全局样式,例如导航栏样式等。 ```css /* app.wxss */ .page { display: flex; align-items: center; justify-content: center; } .nav { background-color: #ccc; } ``` **app.wxml**: 这里通常是布局文件,但在线答题小程序通常在`index.wxml`中做基本设计。 **index.js**: 主页逻辑处理,展示题目,接收用户输入等。 ```javascript Page({ data: { currentQuestion: 0, questions: [] }, onLoad: function(options) { this.setData({ questions: globalData.questionBank }); }, onShow: function() { if (this.data.questions.length > 0) { // 展示题目 } } }) ``` **index.json**: 区分页面的功能和生命周期钩子,与js对应。 **index.wxml**: HTML结构,显示题目,按钮等。 ```html <!-- index.wxml --> <view class="question-view"> <text>{{questions[currentQuestion].content}}</text> <button bindtap="submitAnswer">提交</button> </view> ``` 以上是一个基础框架,实际开发还需要引入网络请求、数据存储、错误处理等功能,并且根据具体的题目类型和界面设计调整相应代码。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值