小程序的图文列表,图片大小固定,文本内容很多需要换行时图片被挤变形问题

今天做了一个图文列表,如图
image.png

咋一看,没什么问题。代码如下:

<!-- wxml -->
<view class='allProject-body'>
    <view class='title'>所有项目</view>
    <block wx:for="{{allProjects}}" wx:key="*this">
      <view class='projectItem'>
        <image src='{{item.url}}' mode='center'></image>
        <view class='content'>
          <view class='name'>{{item.name}}</view>
          <view class='message'>{{item.message}}</view>
        </view>
      </view>
    </block>
  </view>
.allProject-body{
  width: 100%;
  display: flex;
  flex-direction: column;
}
.allProject-body .title{
  font-size: 15px;
  color: #fff;
  justify-content: center;
  text-align: center;
  margin-top: 10px;
  background-color: rebeccapurple;
}
.allProject-body .projectItem{
  width: 100%;
  display: flex;
}
.allProject-body .projectItem  image{
  width: 110px;
  height: 110px;
  margin: 10px;
}

.allProject-body .projectItem .content{
  margin-top: 10px;
  margin-right: 10px;
}
.allProject-body .projectItem .content .name{
  font-size: 15px;
}
.allProject-body .projectItem .content .message{
  font-size: 13px;
  color: gray;
  margin-top: 5px;
}

设计理念是用flex布局,图片和文本在主轴上的对其方式是row,图片固定宽高,文本内容填充。这种设计表面上没有什么问题,但是当文本的内容足够多,需要换行时,bug就出现了。如下图:
image.png

由于文本内容过多,图片被挤变形了。
解决办法是给文本样式设置width(宽度可随意设置),利用flex的flex-grow和
flex-shrink属性,来解决文本怎么分配剩余空间的问题。代码改动如下:


image.png
image.png
运行后,完美解决,不管内容怎么换行,还是在iPhone5、iPhone6上运行都没有问题。
本文需要对flex布局有较深的理解。如果本文对你有点帮助,就给个赞呗!
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • H5移动端知识点总结 阅读目录 移动开发基本知识点 calc基本用法 box-sizing的理解及使用 理解dis...
    Mx勇阅读 4,622评论 0 26
  • 移动开发基本知识点 一.使用rem作为单位 html { font-size: 100px; } @media(m...
    横冲直撞666阅读 3,514评论 0 6
  • 阅读目录移动开发基本知识点 calc基本用法box-sizing的理解及使用理解display:box的布局理解f...
    张宪宇阅读 1,562评论 0 1
  • 选择qi:是表达式 标签选择器 类选择器 属性选择器 继承属性: color,font,text-align,li...
    wzhiq896阅读 1,799评论 0 2
  • 选择qi:是表达式 标签选择器 类选择器 属性选择器 继承属性: color,font,text-align,li...
    love2013阅读 2,333评论 0 11