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. VNC Viewer配置

    VNC概述 VNC (Virtual Network Computing)是虚拟网络计算机的缩写.VNC 是一款优秀的远程控制工具软件,由著名的 AT&T 的欧洲研究实验室开发的.VNC 是在 ...

  2. web前端知识点反思总结

    当别人问你之前的知识,我们便会勾起之前的回忆,然后进行一番痛苦的挣扎后,发现我依然记得你 什么是 DTD ? 文档类型定义 (DTD) 可定义合法的 xml 文档的构建模块 ,他是使用一系列合法的元素 ...

  3. 学习 vue 需要了解的内容

    总结 vue 的目录 1. vue 基础 指令 事件 动态的属性 组件 动画 2. vue 组件通信 1. 父传子 props 2. 子传父 ref 3. 插槽 4. 组件的生命周期 3. vue 的 ...

  4. RestAssured

    配置MAVEN <dependency> <groupId>io.rest-assured</groupId> <artifactId>rest-ass ...

  5. Spring AOP增强(Advice)

    Sring AOP通过PointCut来指定在那些类的那些方法上织入横切逻辑,通过Advice来指定在切点上具体做什么事情.如方法前做什么,方法后做什么,抛出异常做什么. Spring中有两种方式定义 ...

  6. ambari部署Hadoop集群(2)

    准备本地 repository 1. 下载下面的包 wget http://public-repo-1.hortonworks.com/ambari/centos7/2.x/updates/2.7.3 ...

  7. 使用谷歌提供的SwipeRefreshLayout下拉控件进行下拉刷新的实现数据的刷新

    package com.loaderman.swiperefreshdemo; import android.os.Bundle; import android.os.Handler; import ...

  8. keyston报错处理

    1.35357端口启动不了 [root@controller conf.d]# openstack project create --domain default \ > --descripti ...

  9. Centos 在线安装 nginx

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

  10. js中的堆内存和栈内存

    我们常常会听说什么栈内存.堆内存,那么他们到底有什么区别呢,在js中又是如何区分他们的呢,今天我们来看一下. 一.栈内存和堆内存的区分 一般来说,栈内存主要用于存储各种基本类型的变量,包括Boolea ...