前端小技巧&坑 记录

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.。。。

你可能感兴趣的:(前端小技巧&坑 记录)