小程序写个行布局

前言

最近在做小程序,被虐的很惨,css属性太多,有些样式要折腾好久才能写出来。。

这次要实现的样式
image.png
wxml代码如下(直挑一个子view模板来说)
<view class='topic-row'>
        <view class='row-left'>
          <text wx:if='{{!item.nullable}}' class='red-must-text'>*</text>
          <text>{{item.title}}</text>
        </view>
        <view class='row-right'>
          <text wx:if='{{item.content==null||item.content==undefined}}'>请输入{{item.title}} ></text>
          <text wx:else>{{item.content}}</text>
        </view>  
</view>
wxss代码如下:
.topic-row{
  min-height: 80rpx;
  display: flex;
  flex-direction: row;
  justify-content: space-between;
  align-items: center;
  border-bottom: solid 1rpx #eaeaea
}

.red-must-text{
  color: red;
  margin-right: 10rpx;
}

.row-left{
  width: 200rpx;
}

.row-right{
  flex:1;
  word-break:break-all;
  text-align:right;
}
操作路程(每一步都是解决一个问题)

(1)用的是flex布局, justify-content: space-between;中间撑开,将内容撑向两边;
(2)但是会在发生内容溢出时影响项目的对齐,会错乱,解决办法就是下面给左侧布局设置一个固定高度,右侧布局设置flex:1,这样两个布局会被撑开;
(3)但是布局撑开了,右侧内容是靠在布局的左边的,然后给右边布局设置text-align:right;来让文字靠右;
(4)but又出问题了,在输入英文的时候会不换行,继续撑开导致布局错乱,word-break:break-all;又是一句将英文字母给换行;
(5)换行是换行了,但是行高写固定的80,这样一来文字超出了行高,把行高去掉那么内容少的时候会显得很细,设置一个min-height来保持初始每行都一样,并且不至于显得那么窄不美观。

  • 经历了以上的几个过程,终于得到了如图所示的效果,这么折腾啥也别说了,菜是原罪好吧。
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

  • HTML 5 HTML5概述 因特网上的信息是以网页的形式展示给用户的,因此网页是网络信息传递的载体。网页文件是用...
    阿啊阿吖丁阅读 4,850评论 0 0
  • 第一部分 HTML&CSS整理答案 1. 什么是HTML5? 答:HTML5是最新的HTML标准。 注意:讲述HT...
    kismetajun阅读 28,582评论 1 45
  • 学会使用CSS选择器熟记CSS样式和外观属性熟练掌握CSS各种选择器熟练掌握CSS各种选择器熟练掌握CSS三种显示...
    七彩小鹿阅读 6,424评论 2 66
  • H5移动端知识点总结 阅读目录 移动开发基本知识点 calc基本用法 box-sizing的理解及使用 理解dis...
    Mx勇阅读 4,788评论 0 26
  • 从未如此狭窄 在光线越来越暗的时代 碰撞、疼痛、窒息 那狭长而黑暗的通道 充满了叹息与粗重的喘息 光亮何其遥远,何...
    风之子的黄昏阅读 302评论 1 8

友情链接更多精彩内容