微信小程序居中、居右、横纵布局
1、相对父类控件水平垂直居中
方式一:水平垂直居中
父类控件:
display: flex;
align-items: center;//子控件垂直居中
justify-content: center;//子控件水平居中
width: 100%;
height: 400px
//注意:这里的 height 写 100%会使得垂直居中可能会不生效
可能会有兼容问题
方式二:水平垂直居中(方式二推荐)
父类控件:position: relative;
子类控件:
position: absolute;
left: 0;
right: 0;
bottom: 0;
top:0;
margin: auto;
方式三:水平垂直居中(方式三推荐)
父类控件:
display: table-cell;
vertical-align: middle;
子类控件:margin:0 auto;
方式四:水平垂直居中
父类控件:position:relative;
子控件:
position: absolute;
left: 50%;
top: 50%;
transform: translate(-50%,-50%);
可能会有兼容性问题
水平居中A:相对父类控件
margin: 0 auto;
text-align: center;
水平居中B、相对父类控件–子控件绝对定位
需要知道控件的宽高,-100rpx为自身宽高(200)的一半
width: 200rpx;
height: 200rpx;
position: absolute;
top: 50%;
left: 50%;
margin-top: -100rpx;
margin-left: -100rpx;
水平居中C、相对父类控件(水平)居中
父类:text-align:center;
子类:display:inline/inline-block;
2、微信小程序横向布局、纵向布局
横向布局
display: flex;
flex-direction: row;
纵向布局
display: flex;
flex-direction: column;
3、控件居右
父类控件中
position: relative; /*父元素位置要设置为相对*/
(第一种居右方法)子类控件居右显示
position: absolute; /* 相对relative也可以 */
right: 0; /* 靠右调节 */
margin-right: 35rpx
(第二种居右方法)只在子类控件中加入
position: fixed;
right: 0;
(第三种居右方法)
float: right;
(第四种居右方法)父类控件
display:flex;
justify-content:flex-end;
(第五种居右方法)子类控件一个居左一个居右显示
父类控件:display:flex;
红色框加上:margin-right : auto;或者红色框加上:flex:1
子类控件水平居中显示
position: absolute;
right:40%;
left:40%;
子类控件底部显示一
position: fixed;
bottom: 20rpx;
子类控件底部显示二
//父类
position: relative;
//子类
position: absolute;
bottom: 0;
居底的还可以看看另一篇文章:底部购物车
4、文字在图片中间
效果图:
瘦身燃脂 这四个字就是在图片的正中间
代码
wxml
<view class='container'>
<view class="view_1">
<image class="image_1" src="../images/jiaocheng1.jpg"></image>
<text class="text_1">瘦身燃脂</text>
</view>
</view>
wxss
.view_1 {
position: relative
}
.image_1 {
}
.text_1 {
width: 100px;
height: 24px;
position: absolute;
left: 0;
top: 0px;
right: 0;
bottom: 0;
margin: auto;
text-align: center;
}
5、网格布局
效果图:
wxss代码:
display: grid;
width: 100%;
overflow-x: hidden;
/* 设置列、行大小 fr单位是等分分配列空间 4列,如果要3列,删除一个1fr*/
grid-template-columns: 1fr 1fr 1fr 1fr;
/* grid-template-rows: 100rpx 100rpx; */
/* 有多余数据时,自动添加新行时默认行高为:200rpx */
grid-auto-rows: 100rpx;
/* 设置网格线大小 */
/* grid-gap: 10rpx; */
版权声明:本文为wy313622821原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明。