小程序-如何实现一个view根据屏幕宽度来实现等宽高

本文介绍如何在小程序中让一个view的子元素按屏幕宽度的30%设置宽度和高度,通过调整布局和约束来实现等宽高效果。在iOS中此操作简单,但在小程序中需要设置特定的布局属性和约束。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

提问:一个view上面放置3个子view,子view的宽度为屏幕宽度30%,高度和宽度一致?

在iOS中,so easy,所以我不说大笑

码农从来话不多,以代码说话

<view class='diffenceContent superBgColor'>
  <view class='subContent subBgColor'>1</view>
  <view class='subContent subBgColor'>2</view>
  <view class='subContent subBgColor'>3</view>
  <view class='subContent subBgColor'>4</view>
</view>
.diffenceContent {
  display: flex;
   /* flex-direction: column;   */
  flex-wrap: wrap;
  width: 100%;
  top: 20px;
  height: 200px;
  justify-content: space-between;

  /* align-items: stretch;  */
}

上面设置了子view的布局方式flex,并且可以换行,在主轴线上的对齐方式

重点来了,子view的大小怎么确定,约束(原谅我用了ios的概念)该怎么写?

width: 30%;
height: width;

no?height并没有起作用

width: 30%;
padding-bottom: 30%;  
height: 0;

设置其底部或者顶部内布局和宽度一致即可,同样是30%,并将默认高度清除

这里可能会有疑问:这个30%是怎么来的?请看下面

podding属性值

length规定以具体单位计的固定的上内边距值,比如像素、厘米等。默认值是 0px。
%定义基于父元素宽度的百分比上内边距
inherit规定应该从父元素继承上内边距。
遗留问题:
这里新发现的问题是这么设定,它的子视图显示会有问题(子视图会在其外面显示,可能是因为height:0的缘故吧)
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值