移动端总结

作者: 穆熙沐 | 来源:发表于2019-08-08 15:51 被阅读0次

移动端,UI还原很严格,1px都不能差。安装了Sketch,方便定位到元素。
审批主要是详情页展示:

1, 附件logo展示.png
实现方法:
    <div v-for="(ele, index) in list"
         :key="'att'+index"
         class="item">
         <img :src="ele.src" class="icon">
         <div class="info">
              <p class="name">{{ ele.name }}</p>
              <p class="size">{{ ele.size }}</p>
           </div>
     </div>

遇到的问题:
之前实现方法直接把svg 的src常量定义为 相对路径,导致无法编译。
更改:

import word from '../assets/svgs/word.svg';
import excel from '../assets/svgs/excel.svg';

先用inport方式引入,赋值给svg 的src常量

src: word

2,
Duplicate keys detected: '0'. This may cause an update error.
在页面中有很多for循环导致key一样。
解决办法:修改其中的key值,加个前缀

 :key="'att'+index"

3,
移动端页面过长,超过一屏,多个标题吸顶效果。

蓝色标题吸顶.png
1)监听滚动
mounted() {
  window.addEventListener('scroll', this.handleScroll);
  },
 destroyed(){
    window.removeEventListener('scroll', this.handleScroll);
  }

2)记录每个要吸顶的标题距页面顶部高度

let header = document.getElementsByClassName('info-title');
  // 单个模块区域
 let section = document.getElementsByTagName('section');
 let len = header.length;
      for(let i = 0; i < len; i++) {
         this.arr.push(header[i].offsetTop);
  }
 this.arr.push(header[len-1].offsetTop + section[len-1].getBoundingClientRect().height);

3) handleScroll为页面滚动的监听回调

 handleScroll() {
       // 吸顶元素
      let header = document.getElementsByClassName('info-title');
      let len = header.length;
      // 页面滚动距离
      let scrollTop = document.documentElement.scrollTop || document.body.scrollTop;
      for(let i = 0; i < len; i++) {
       // 滚动距离在两个模块之间
      if (scrollTop > this.arr[i] && scrollTop < this.arr[i + 1]) {
           header[i].className = 'info-title box1';
       } else {
             header[i].className = 'info-title';
        }
     }
}

4,firefox浏览器中使用flex布局overflow失效。
原因:在firefox下,flex元素默认将其最小尺寸设置为其子元素的尺寸,这意味着父元素永远能显示全部子元素,即使这样导致整个页面超过了屏幕。这还overflow个鬼嘛!。因此我们需要覆盖默认的最小尺寸。
解决办法:
给该元素设置最小高度
min-height: 0
5,js中数组判断是否包含某个元素:
1)arr.idnexOf('s') > 0 首次出现的位置
2)find 并没有改变数组原始值。空数组function不执行的。

[1, 5, 10, 15].find(function(value, index, arr) {
    return value > 9;
})

3)findIndex同find,返回元素位置
6,数组深拷贝的方法
1)es6解构:
a = [...b]
7,git 删除远程和本地分支

git branch -a //查看分支
git push origin --delete [name]//删除远程分支
git branch -d [name] //删除本地分支

8,git 基于已有分支创建新分支

cd 项目目录/已有分支
git checkout -b yourbranchname origin/oldbranchname
git push origin yourbranchname

9, 获取当前时间
new Date()
转换成时间戳
(new Date()).valueOf()
new Date().getTime()
10,获取n-m之间随机数
Math.random()*(n+1-m)+m
11,npm run dev报错

image.png
问题原因:node版本问题
然后找到 D:\text\vue\iview-admin\build\webpack.dev.config.js打开
将这一行代码:
fs.write(fd, buf, 0, buf.length, 0, function(err, written, buffer) {});
替换为
fs.write(fd, buf, 0, 'utf-8', function(err, written, buffer) {});
保存然再次执行 npm run dev
12,页面跳转
1)新窗口跳转
window.open('url');
<a href="http://www.jb51.net" title="脚本之家" target="_blank">

2)本窗口跳转

<a href="http://www.jb51.net" title="脚本之家">
window.location.href="url"

3)返回上一页

window.history.back(-1);返回上一页

13,safari下input disabled时候的颜色修改

input:disabled {  
    color:@disabledColor;
    opacity: 1;
    -webkit-text-fill-color: @disabledColor;//隐藏的样式
}

14,根据某个属性移除数组中的某个值

arr1 = arr.filter(e=>e.name !== 'ss');// 返回name 不等于ss的

相关文章

  • m.uyunbaby.com SEO优化点

    pc端: 移动端: **总结:(1)对照PC端信息,移动端也做一样的**

  • 前端移动端适配总结

    前端移动端适配总结

  • 移动端总结

    1、安卓浏览器看背景图片,有些设备会模糊 用同等比例的图片在PC机上很清楚,但是手机上很模糊,原因是什么呢?经过研...

  • 移动端总结

    移动端的适配 一、Viewport视口 用法: 属性:width: 控制Viewport的大小,device-wi...

  • 移动端总结:

    更新于 2016/11/3 meta标签 使用click会出现绑定点击区域闪一下的情况 当前点击元素样式 消除tr...

  • 移动端总结

    1、常用的meta标签 2、IOS的H5页面滚动不流畅解决方案在滚动层的外面的class添...

  • 移动端总结

    移动端,UI还原很严格,1px都不能差。安装了Sketch,方便定位到元素。审批主要是详情页展示: 遇到的问题:之...

  • 移动端总结

    移动端技巧总结 对移动端开发和适配的技巧总结,主要从适配和注意事项两方面进行总结 1.媒介查询 2. 手机端加一个...

  • 遇到的坑(转)

    下面,就总结一下移动端遇见的坑。 1.input placeholder问题 在chrome 模拟移动端调试时[...

  • 移动端适配总结

    前景提要以下内容根据部分文章参考 自己实践得出的猜想和总结 有错误请指正一·概念介绍css单位:px ,rem,e...

网友评论

    本文标题:移动端总结

    本文链接:https://www.haomeiwen.com/subject/hykidctx.html