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

微信小程序学习(三)

样式与布局https://blog.csdn.net/qq_38060125/article/details/149577848

📝 练习任务

✅1. 登录按钮居中布局

  • 使用 Flex 布局实现水平垂直居中
  • 设置按钮样式,包括背景色、边框、圆角等

WXML 文件:

<view class="container"><button class="login-btn">登录</button>
</view>

WXSS 文件

容器的 Flex 布局
.container {display: flex; /* 启用 Flex 布局 */justify-content: center; /* 水平居中 */align-items: center; /* 垂直居中 */height: 100vh; /* 设置容器高度为整个可视窗口高度 */background-color: #f5f5f5; /* 设置背景色,便于观察效果 */
}
登录按钮样式
.login-btn {background-color: #007aff; /* 按钮背景色 */color: #ffffff; /* 按钮文字颜色 */font-size: 16px; /* 按钮文字大小 */padding: 12px 24px; /* 按钮内边距 */border: none; /* 去除默认边框 */border-radius: 8px; /* 设置圆角 */box-shadow: 0 4px 6px rgba(0, 0, 0, 0.1); /* 添加阴影,增加按钮的立体感 */cursor: pointer; /* 鼠标样式(调试环境适用) */text-align: center; /* 文本居中 */
}.login-btn:active {background-color: #005eff; /* 按下时调整按钮背景色 */
}

✅2. 商品展示列表

  • 创建两列或多列的商品展示列表
  • 使用 flex-wrap 实现自动换行
  • 添加商品图片、名称、价格等信息

WXML 文件

<view class="container"><view class="product-item" wx:for="{{products}}" wx:key="id"><image class="product-image" src="{{item.image}}" mode="aspectFill"></image><text class="product-name">{{item.name}}</text><text class="product-price">¥{{item.price}}</text></view>
</view>

JS 文件

Page({data: {products: [{ id: 1, name: '奥特曼玩具', price: 99, image: 'https://via.placeholder.com/150' },{ id: 2, name: '铠甲勇士玩具', price: 50, image: 'https://via.placeholder.com/150' },{ id: 3, name: '假面骑士玩具', price: 44, image: 'https://via.placeholder.com/150' },{ id: 4, name: '变形金刚玩具', price: 200, image: 'https://via.placeholder.com/150' },{ id: 5, name: '漫威英雄玩具', price: 150, image: 'https://via.placeholder.com/150' },{ id: 6, name: '积木玩具', price: 60, image: 'https://via.placeholder.com/150' }]}
});

WXSS 文件

.container {display: flex;flex-wrap: wrap; /* 自动换行 */gap: 16px; /* 设置子元素之间的间距 */justify-content: center; /* 横向居中对齐元素 */
}.product-item {flex: 0 1 calc(50% - 16px); /* 每行两列,计算宽度减去间距 */box-sizing: border-box; /* 让宽度包含内边距和边框 */border: 1px solid #ddd; /* 添加边框 */border-radius: 8px; /* 添加圆角 */overflow: hidden; /* 确保内容不会超出边界 */text-align: center; /* 文本居中对齐 */background-color: #fff; /* 设置背景色 */padding: 8px; /* 内容内边距 */
}.product-image {width: 100%; /* 图片宽度占满父容器 */height: 120px; /* 固定图片高度 */object-fit: cover; /* 图片适应容器 */border-radius: 8px; /* 圆角与外框一致 */
}.product-name {font-size: 16px; /* 商品名称字体大小 */font-weight: bold; /* 加粗字体 */margin-top: 8px; /* 与图片和文字之间的间距 */
}.product-price {font-size: 14px; /* 商品价格字体大小 */color: #007aff; /* 设置价格颜色为蓝色 */margin-top: 4px; /* 与名称之间的间距 */
}

✅3. 响应式样式

  • 使用 @media 查询实现横竖屏切换
  • 设置不同屏幕方向下的布局方案
  • 测试在模拟器和真机上的表现.

WXSS 文件

主要添加@media这个。

.product-item {flex: 0 1 calc(50% - 16px); /* 每行两列,计算宽度减去间距 */box-sizing: border-box; /* 让宽度包含内边距和边框 */border: 1px solid #ddd; /* 添加边框 */border-radius: 8px; /* 添加圆角 */overflow: hidden; /* 确保内容不会超出边界 */text-align: center; /* 文本居中对齐 */background-color: #fff; /* 设置背景色 */padding: 8px; /* 内容内边距 */
}
@media screen and (orientation: landscape) {.product-item {flex: 0 1 calc(25% - 16px); /* 每行四列,宽度为 25% 减去间距 */}
}

app.js

添加这个 wx.setPageOrientation ({ orientation: 'landscape', complete: console.log } )

App({onLaunch() {// 展示本地存储能力const logs = wx.getStorageSync('logs') || []logs.unshift(Date.now())wx.setStorageSync('logs', logs)wx.setPageOrientation ({ orientation: 'landscape', complete: console.log } )//设置为横屏模式// 登录wx.login({success: res => {// 发送 res.code 到后台换取 openId, sessionKey, unionId}})},

这样就可以看到不同的差别。

http://www.dtcms.com/a/411618.html

相关文章:

  • 数据库迁移实战:最小化停机时间的方法
  • 十大免费ppt模板免费下载网站活动营销策划方案
  • 高端网站建设知识十大仓库管理软件
  • 路径平滑连接方法
  • 商业空间设计师岗位职责上海高玩seo
  • iis 网站启动不了企业网站建设 租用服务器
  • Windows更新服务的带宽限制
  • CIFAR-10 数据集实战指南:从数据加载、可视化到 CNN 训练与常见问题解决
  • 福清网站建设iis网站重定向
  • 手机网站建设品牌好广东东莞新闻最新消息
  • 【rust】 pub(crate) 的用法
  • 药品网站建设做彩票网站推广犯法吗
  • Rust错误处理详解
  • mdBook 文档
  • 女性时尚网站源码网站维护和制作怎么做会计分录
  • 怎么创建网站免费的wordpress xampp 教程
  • 宁波全网营销型网站建设哪家做网站的好
  • springboot项目整合p6spy框架,实现日志打印SQL明细(包括SQL语句和参数)
  • 【生成式模型】VAE变分自编码器分析
  • 湖北企业模板建站信息四川省住房和城乡建设厅官网证件查询
  • 做产品网站营销推广做我姓什么的网站
  • 公司如何建立微网站六盘水网站设计
  • 大模型--自编码器学习 (上)
  • 青铜峡网站建设推广重庆房地产信息官网
  • 一文读懂:大模型RAG(检索增强生成)
  • 怎么建设一个宣传网站梁山网站开发
  • Docker的介绍
  • 塘沽手机网站建设linux下搭建wordpress
  • 两篇BEVfusion原理总结及区别
  • 微信网站欣赏网站建设维护百家号