1.关于mock的使用

第一步:先到Mock官网(http://mockjs.com/)上面熟悉一下基本用法

第一步:具体使用实例:

  • 下载wxMock.js和mock.js文件 下载地址:https://github.com/webx32/WxMock
  • 参考git上的使用方法,使用的时候值得注意的点:需要在使用模拟接口的js文件中用require引入对应的接口:

如:接口文件:home.js

/**视频详情获取接口 */
var Mock=require('./WxMock.js')
var Random = Mock.Random;
var videoDetail = Mock.mock('https://tangxinyu.com/videoDetail',{
"codeText": "请求成功",
"code": 200,
"data": {
videoInfo: {
author:"阿兰若",
commentcount:12435,
date:"2019-11-07",
id:233,
playCount:"24.7万",
videoSrc:Random.image('200X150',Random.color(),"视频详情"),
videoTitle:"世界上最美的童话镇,你要去看吗?请带我……"
}
}
})
export default {
navList,
swiperList,
videoList,
videoDetail
}

  使用接口文件:index.js

var videoDetail=require('../../utils/home.js')
getCurentVideo(){
var that=this;
wx.request({
url: 'https://tangxinyu.com/videoDetail',
success(res){
if(res.code==200){
that.setData({
videoInfo: res.data.videoInfo
})
}
console.log("res",res)
}
})
},

2.关于页面跳转

<navigator url="../detail/detail?id={{index}}" class="video_item" wx:for="{{videoLists}}" wx:key="{{index}}">

此处需要注意的是 url属性中的传参方式:url="../detail/detail?id={{index}}"

其他使用可参考官网:https://developers.weixin.qq.com/miniprogram/dev/component/navigator.html

3.关于css使用总结:

  • 导航栏:对于块级元素想要使其显示成一行最简单可以使用:display:inline-block,不用使用display:flex。如:
  <style>
.item{
display: inline-block;
padding: 0 20px;
}
</style>
<div>
<div class="item">条目1</div>
<div class="item">条目2</div>
<div class="item">条目3</div>
<div class="item">条目4</div>
</div>

不加样式效果图:

加样式后效果图:

其他:white-space: nowrap; 不因空格换行

  • 视频列表:弹性布局列表使用
.video_wrap{
display: flex; /**1.设置弹性盒子*/
/* 换行 */
flex-wrap: wrap;/**2.超出行宽自动换行*/
padding: 10rpx;
/* 空隙显示在中间 */
justify-content: space-between;/**3.空隙中间显示*/
}
.video_item{
width: 48%;/**可通过调整子元素宽度占比来控制一行显示几个子元素*/
margin-top: 20rpx
}

示例:

    <style>
.wrap{
display: flex;
width: 400px;
justify-content: space-between;
flex-wrap: wrap;
border: 1px solid rgb(51, 142, 247)
/* overflow: hidden */
}
.item{
background-color: #4c4c;
border:1px solid #4c4c4c;
height: 100px;
width: 40%;
margin-top: 20px
}
</style> <div class="wrap">
<div class="item">item1</div>
<div class="item">item2</div>
<div class="item">item3</div>
<div class="item">item4</div>
</div>

未添加123点样式图:

效果图:

  • relative+absolute定位的使用:使父元素具有盒子特性,盒子内部样式不受外部影响

示例代码:

        .wrap {
display: flex;
width: 400px;
justify-content: space-between;
flex-wrap: wrap;
border: 1px solid rgb(51, 142, 247)
} .item {
background-color: #4c4c;
border: 1px solid #4c4c4c;
height: 100px;
width: 40%;
margin-top: 20px;
position: relative
} .item_head {
position: absolute;
top: 0;
text-align: center;
width: 100%
} .item_foot {
position: absolute;
bottom: 0;
text-align: center;
width: 100%
} <div class="wrap">
<div class="item">
<div class="item_head">盒子头部文字</div>
<div class="item_foot">盒子底部文字</div>
</div>
<div class="item">item2</div>
<div class="item">item3</div>
<div class="item">item4</div>
</div>

未添加样式效果图:

添加样式后效果图:

此项目中使用场景:在广告图片上显示一些短的信息详情

  • 文字显示省略隐藏问题
.video_title{
font-size: 30rpx;
display: -webkit-box;
white-space: normal;
/* 超出显示…… */
text-overflow: ellipsis;
word-wrap: break-word;
/* 为了实现文字超出设置行显示……该效果,它需要组合其他外来的WebKit属性。常见结合属性:
display: -webkit-box; 必须结合的属性 ,将对象作为弹性伸缩盒子模型显示 。
-webkit-box-orient 必须结合的属性 ,设置或检索伸缩盒对象的子元素的排列方式 。
text-overflow,可以用来多行文本的情况下,用省略号“...”隐藏超出范围的文本 。 */
/* 不兼容IE和firefox */
/* 限制文本显示行数 */
-webkit-line-clamp: 2;
/*垂直排列子元素 兼容safari\opera\chrome */
-webkit-box-orient: vertical;
/* 兼容firefox */
-moz-box-orient: vertical;
}

演示示例:

           .item1 {
width: 300px;
display: -webkit-box;
border: 1px solid #3f3f;
-webkit-line-clamp: 1;
text-overflow: ellipsis;
word-wrap: break-word;
white-space: normal;
/*垂直排列子元素 兼容safari\opera\chrome */
-webkit-box-orient: vertical;
/* 兼容firefox */
-moz-box-orient: vertical;
/* 超出部分隐藏 */
overflow: hidden
} .item2 {
width: 300px;
/* 兼容firefox */
display:-moz-box;
display: -webkit-box;
border: 1px solid #3f3f;
margin-top: 10px;
-webkit-line-clamp: 2;
text-overflow: ellipsis;
word-wrap: break-word;
white-space: normal;
/*垂直排列子元素 兼容safari\opera\chrome */
-webkit-box-orient: vertical;
/* 兼容firefox */
-moz-box-orient: vertical;
/* 超出部分隐藏 */
overflow: hidden
}
<div class="item1">
一行文本:长江、尼罗河、亚马孙河、多瑙河昼夜不息、奔腾向前,尽管会出现一些回头浪,尽管会遇到很多险滩暗礁,但大江大河奔腾向前的势头是谁也阻挡不了的。
</div>
<div class="item2">
二行文本:长江、尼罗河、亚马孙河、多瑙河昼夜不息、奔腾向前,尽管会出现一些回头浪,尽管会遇到很多险滩暗礁 ,但大江大河奔腾向前的势头是谁也阻挡不了的。
</div>

未加样式图:

加上样式图:

但是由于兼容性问题,不推荐使用该方法实现多行文字超出显示……问题

解决办法:

       div {
position: relative;
/* 可通过max-height和line-height控制显示行数 */
line-height: 20px;
max-height: 40px;
/*注意: 超出一定要隐藏 */
overflow: hidden;
} div::after {
content: "...";
position: absolute;
bottom: 0;
right: 0;
padding-left: 40px;
/* 使用backgorund属性用渐变背景色遮盖行尾部分字体,用以...代替 */
background: -webkit-linear-gradient(left, transparent, #fff 55%);
background: -o-linear-gradient(right, transparent, #fff 55%);
background: -moz-linear-gradient(right, transparent, #fff 55%);
background: linear-gradient(to right, transparent, #fff 55%);
}

linear-gradient的兼容性:

效果图:

  • display:flex+flex:num的使用,使用场景:横排或竖排(用flex-direction调整)时使父元素中的子元素按比例平分父元素所占空间

示例代码:

      .wrap {
width: 400px;
border: 1px solid #4c4c4c;
display: flex
}
.item1{
background-color: #d3ec77;
flex: 1
}
.item2{
background-color: #dc83ee;
flex: 3
}
.item3{
background-color: #f3c853;
flex: 4
} <div class="wrap">
<div class="item1">1份</div>
<div class="item2">3份</div>
<div class="item3">4份</div>
</div>

样式未添加效果图:

样式添加效果图:

本次学习总结完毕,不足之处请指正

bilibili小程序项目总结的更多相关文章

  1. 开发一个微信小程序项目教程

    一.注册小程序账号 1.进入微信公众平台(https://mp.weixin.qq.com/),注册小程序账号,根据提示填写对应的信息即可.2.注册成功后进入首页,在 小程序发布流程->小程序开 ...

  2. 微信小程序开发01 --- 微信小程序项目结构介绍

    一.微信小程序简单介绍: 微信官方介绍微信小程序是一个不需要下载安装就可使用(呵呵,JS代码不用下载吗?展示的UI不用下载吗?)的应用,它实现了应用“触手可及”的梦想,用户扫一扫或搜一下即可打开应用. ...

  3. 高仿Readhub小程序 微信小程序项目【原】

    # News #### 项目介绍微信小程序项目涉及功能 https://gitee.com/richard1015/News https://github.com/richard1015/News 高 ...

  4. 【微信小程序项目实践总结】30分钟从陌生到熟悉 web app 、native app、hybrid app比较 30分钟ES6从陌生到熟悉 【原创】浅谈内存泄露 HTML5 五子棋 - JS/Canvas 游戏 meta 详解,html5 meta 标签日常设置 C#中回滚TransactionScope的使用方法和原理

    [微信小程序项目实践总结]30分钟从陌生到熟悉 前言 我们之前对小程序做了基本学习: 1. 微信小程序开发07-列表页面怎么做 2. 微信小程序开发06-一个业务页面的完成 3. 微信小程序开发05- ...

  5. 微信小程序项目实战之天气预报

    概述 微信小程序项目实战之天气预报 详细 代码下载:http://www.demodashi.com/demo/10634.html 一.准备工作 1.注册微信小程序 2.注册和风天气账号 3.注册百 ...

  6. 微信小程序项目实战之豆瓣天气

    概述 微信小程序项目实战之豆瓣天气 详细 代码下载:http://www.demodashi.com/demo/10943.html 一.准备工作 1.注册微信小程序 2.在小程序设置中设置reque ...

  7. 微信小程序——初始化一个小程序项目

    最近准备学习一下微信小程序,因为之前有react native项目经验,学习起来应该困难不大 微信小程序官网地址:https://mp.weixin.qq.com/debug/wxadoc/dev/i ...

  8. 《微信小程序项目开发实战:用WePY、mpvue、Taro打造高效的小程序》(笔记1)WePY开发环境的安装

    WePY的安装或更新都通过npm进行,全局安装或更新WePY命令行工具,使用以下命令: npm install wepy-cli -g 稍等片刻,成功安装后,即可创建WePY项目. 注意:如果npm安 ...

  9. 微信小程序项目开发实战:用WePY、mpvue、Taro打造高效的小程序》(笔记4)支持React.js语法的Taro框架

    Taro本身实现的情况类似于mpvue,mpvue的未来展望中也包含了支付宝小程序,现在的版本中,也可以使用不同的构建命令来构建出百度小程序的支持,如第10章所示,但是现在Taro先于mpvue实现了 ...

随机推荐

  1. OpenCV学习笔记(13)——轮廓特征

    查找轮廓的不同特征,例如面积,周长,重心,边界等 1.矩 图像的矩可以帮助我们计算图像的质心,面积等. 函数cv2.momen()会将计算得到的矩以一个字典的形式返回, 我们的测试图像如下: 例程如下 ...

  2. 找出所有从根节点到叶子节点路径和等于n的路径并输出

    //找出所有从根节点到叶子节点路径和等于n的路径并输出 Stack<Node> stack = new Stack<Node>(); public void findPath( ...

  3. spring整合mybatis(非代理方式)【我】

    首先创建要给 maven 的war项目 不用代理的方式: 如果不适用Mapper代理的方式,配置就非常简单: 首先是pom文件(以下配置文件包含其他多余内容,仅供参考): <project xm ...

  4. alt + tab 替代品 switcheroo

    作为windows10 alt+tab的增强品: 分享下: 原版: https://github.com/elig0n/Switcheroo 单击版本 https://github.com/elig0 ...

  5. 五十一:数据库之Flask-Migrate详解

    在实际开发中,经常会发生数据库修改行为,一般数据库修改不是直接手动修改,而是去修改ORM模型,然后再把模型映射到数据库中,这些操作可以通过flask-migrate实现,flask-migrate是基 ...

  6. linux 基础 文件操作

    cat -A /etc/passwdnl -ba passwd cat -A man_db.conf more man_db.conf less man_db.conf head -n 5 /var/ ...

  7. 读取 .properties文件到数据库

    最近有一个这样的需求,将原本配置文件 .properties文件改到数据库当中,这样不用每次修改都重启服务器 java自带有处理 .properties文件的专有类 Properties,处理也很不错 ...

  8. on namespace ceilometer.$cmd failed: Authentication failed. 问题处理方案

    on namespace ceilometer.$cmd failed: Authentication failed. UserNotFound: Could not find user ceilom ...

  9. Centos 在线安装 nginx

    centos 在线安装 nginx 安装nginx ​ 参考文档: http://nginx.org/en/linux_packages.html 中的RHEL/CentOS章节,按照步骤安装repo ...

  10. JavaScript(4):正则表达式

    基础方法 <!DOCTYPE html> <html> <body> <p>类型及转换</p> <script> // 正则表达 ...