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>

样式未添加效果图:

样式添加效果图:

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

最新文章

  1. 常用的WEB服务
  2. Sturts2的action不执行任何方法的原因
  3. 李洪强iOS开发之OC[018]对象和方法之间的关系
  4. RedMine项目管理系统邮件推送设置(Windows环境)
  5. JavaScript继承的实现
  6. nhibernate+autofac+mvc的demo
  7. Android Asynctask的优缺点
  8. Android中启动页ViewPager和ViewFlipper带指示器
  9. android notification,notificationmanager详解
  10. xamarin forms中的Button文本默认大写
  11. mysql-笔记-默认值
  12. jQuery 动态绑定插件livequery的用法
  13. nodejs 第一天
  14. Oracle 12c 的RMAN备份
  15. Oracle数据库查询基本数据
  16. [转帖] securebootthemes 挖矿病毒的说明 http://blog.netlab.360.com/msraminer-qian-fu-yi-jiu-de-wa-kuang-jiang-shi-wang-luo/ 原文为毛不给一个专杀工具呢.
  17. MVC中的七层架构
  18. PHP多进程系列笔记(四)
  19. maven groupID 和 ArtifactID的区别与作用
  20. 转:Block原理及引用循环问题

热门文章

  1. ReentrantLock源码探究1:非公平锁的获取和释放
  2. fMRI数据分析处理原理及方法————转自网络
  3. ORA-00904: &quot;B&quot;.&quot;METHOD&quot;: 标识符无效,00904. 00000 - &quot;%s: invalid identifier&quot;
  4. JavaScript简易事件触发合集
  5. dbgrid中移动焦点到指定的行和列
  6. python 脚本带参数
  7. Django与Cookie
  8. PJzhang:今天才搞清身份证、银行卡……的编码规则
  9. 【FZU - 2150】Fire Game(bfs)
  10. 【JulyEdu-Python基础】第 4 课:面向对象基础