微信小程序居中、居右、居底和横向、纵向布局,文字在图片中间,网格布局

微信小程序居中、居右、横纵布局

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版权协议,转载请附上原文出处链接和本声明。