前端小技巧&坑 记录

Safari 和 iOS 中 Date 的大坑(2017-10-11)

在 Safari 和 iOS 中 var time = new Date('2017-10-11') 会报 NaN 之类的错

辣鸡 Safari ,不认 YYYY-MM-DD 格式的时间,认 YYYY/MM/DD 格式的。。。
- 改成 / 就完事了

解决方法:

var timeStr = '2017-10-11';
var iosTimeStr = timeStr.replace(/-/g, "/");
var time = new Date(iosTimeStr) 

多层属性判空(2017-9-25)

想调用 a.b.c[0].d ,但是之前的每一层都得判空

参考资料
解决方法:

//使用 lodash 里的 _.get() 方法或 _.has() 方法,注意第二个参数是字符串,表示路径

let a = {a: {b: {c: [{d: 1111}]}}};

_.get(a, 'a.b.c[0].d', '没有啦')
// => 1111
_.get(a, 'a.b.c[1].d', '没有啦')
// => 没有啦

// has方法同理,只返回true,false 
_.has(object, path)
// => true of false

锚点问题(2017-6-6)

在页面有顶部浮动的导航栏时,锚点的元素会被导航栏覆盖一部分

解决方法:

//给元素设置和导航栏一样高度的 padding-top ,然后用负的 margin-top 将元素拉回来

padding-top:50px
margin-top:-50px;

div宽度自适应并且水平居中(2017-7-29)

解决方法:

目标div设置 display:inline-block
目标div外套一个div,设置 text-align: center;

去除li之间的空隙(2017-8-1)

用ul li的时候,只要代码中li标签之间没连着(包括换行符,ide里格式化一下代码就换行了)。给li设置了display:inline-block过后li之间还有会空隙

参考资料

解决方法:

ul{letter-spacing: -4px;}
ul li{letter-spacing: normal;}

过渡动画:透明度过度到1以后会莫名其妙的小时(2017-8-8)

透明度过渡到0.99.。。。

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 在应用程序中添加日志记录总的来说基于三个目的:监视代码中变量的变化情况,周期性的记录到文件中供其他应用进行统计分析...
    时待吾阅读 5,084评论 1 13
  • 在应用程序中添加日志记录总的来说基于三个目的:监视代码中变量的变化情况,周期性的记录到文件中供其他应用进行统计分析...
    时待吾阅读 5,030评论 0 6
  • 问答题47 /72 常见浏览器兼容性问题与解决方案? 参考答案 (1)浏览器兼容问题一:不同浏览器的标签默认的外补...
    _Yfling阅读 13,814评论 1 92
  • •前端面试题汇总 一、HTML和CSS 21 你做的页面在哪些流览器测试过?这些浏览器的内核分别是什么? ...
    Simon_s阅读 2,228评论 0 8
  • 亲爱的,我这里下雨了 上了一天的班,直到出门才发现原来真的下雨了 可惜我没有带伞 幸好我出公司的时候蹭了一下同事的...
    呼噜呼噜猪阅读 413评论 0 0