小程序入门 -- 那些年我们踩过的坑
swiper组件
默认样式效果
目标效果
原理:改变微信小程序自带的样式,自带样式是用伪元素写的
wxss
//所有指示点的父类
.customize .wx-swiper-dots-horizontal{
}
//单个指示点样式
.customize .wx-swiper-dot{
width:40rpx;
display: inline-flex;
height: 10rpx;
margin-left: 20rpx;
justify-content:space-between;
}
//此类必须有,伪元素
.customize .wx-swiper-dot::before{
content: ''; //此属性必须有,不然显示不出
width: 20rpx;
height: 10rpx;
flex-grow: 1;
background-color: red;
}
//当前指示点样式
.customize .wx-swiper-dot-active::before{
background-color: #fff;
}
wxml
方法1 源链接(有代码)
原理:将swiper标签的indicator-dots属性设为false(设置为无指示点),再用view组件模拟dots
此处不放代码了
方法2 源链接(有代码)
2. 3d轮播效果(待续)
设置自定义的小程序顶部导航栏
目标效果
默认效果
原理: app.json配置中window属性的navigationStyle设置为custom,即可去除顶部导航栏,下面的内容会顶到页面最上端(放图片放文字放啥都行)
注意:顶部状态栏要与底部颜色搭配(黑底配白字,白底配黑字)
map地图组件
文档说得不够详细
callout可设置点击可见/一直可见 | label则是一直可见无法隐藏
callout不可设置位置,都是悬浮在mark 的icon上方 | label可设置位置,以marker为原点设置相对位置
callout不可设置边框 | label可以
color/bgColor/borderColor 的值必须为“#ffffff”形式,不接受缩写(eg:“#fff”)、rgba、和(“red”/“blue”/“black”)这种形式
padding等属性接受类型为Number,不能+单位
content内可接受换行 ,/n 转义符可换行
callout
代码
callout: {
content: "公司地址\n南山科技园 >>",
color: "#333333",
fontSize: 16,
borderRadius: 5,
bgColor: "#ffffff",
padding: 20,
textAlign: "left",
display: "ALWAYS"
}
效果
label
label: {
content: "公司地址\n南山科技园 >>",
color: "#333333",
fontSize: 16,
bgColor: "#ffffff",
borderWidth: 3,
borderColor: "#999999",
borderRadius: 5,
padding: 20,
textAlign: "left",
}
同理可实现类似以下效果(将icon设置为三角箭头,字体大小无法设置)
其他一些坑,真机调试
拓展的其他效果