[TOC]
# `s-for` 与 `s-if` 不能一起用
百度小程序的判断和循环不能再同一个组件上。
# 不支持 css `>`
百度小程序不支持 css 的 `>` 选择器, 建议样式直接使用 `class` 选择器。
# 长度单位
百度小程序支持的长度单位是 CSS3 的 `vw`,当然也支持微信小程序的 `rpx`。
# `0.5px` 边框
使用 **伪元素实现的 `0.5px` 边框** 在百度小程序下会有异常,建议不要使用这种方法。
# PhoneX 等机型样式适配
目前微信小程序并没有提供对 iphoneX,iphoneXS 等机型底部 bar 的适配,但是百度小程序提供了这样一个适配方案。
~~~
.swan-security-padding-bottom {
padding-bottom: 34px;
}
.swan-security-margin-bottom {
margin-bottom: 34px;
}
.swan-security-fixed-bottom {
bottom: 34px;
}
~~~
只要在 `.swan`文件中使用这组类名即可。
# swan.createSelectorQuery() 有时需要延时获取宽高等信息
`swan.createSelectorQuery()` 这个获取dom元素的接口,如果获取的**dom元素是动态添加的**,那么,在调用 `boundingClientRect` 获取宽高等信息的时候,是需要延时获取的。这个在组件中更明显,就算组件加了` s-if`,在数据成功返回之后再渲染组件,但是渲染的过程也需要耗时,所以不能及时地获取到元素的信息。就算使用`swan.nextTick()` 也没作用,有时候也会获取不到。我设置 `setTimeout` 延时一般是150ms -200ms
# 参考
[细数百度小程序踩的坑](https://www.cnblogs.com/zjjDaily/p/10984696.html)