微信小程序实现两行交错功能

提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档

文章目录


前言

作为实习前置项目,我给自己定了一个目标,仿政府网站,但是问题是

AI不会写,我也没经验。折腾两天终于做出来了,这里给大家分享。


一、效果图

要做成这样上下交错的,但是AI给我推荐了Flex布局和justify-content: space-between; 结果是不行的,做出来是这样的:

二、代码

实现两行交错用的是absolute布局:

HTML

html 复制代码
<view class="container">
  <view class="row row1">第一行左接qqqqqqq</view>
  <view class="row row2">第二行右接sssssssss</view>
</view>

CSS

css 复制代码
.container {
  position: relative;   /* 作为定位参照 */
  height: 180rpx;       /* 给足高度,防止压在一起 */
  background: #f5f5f5;
  padding: 20rpx 0;     /* 上下留一点呼吸感 */
}

.row {
  position: absolute;
  white-space: nowrap;  /* 防止文字折行 */
}

/* 第一行:整体偏左 */
.row1 {
  left: 150rpx;          /* 离左边很近 */
  height: 15rpx;
  background: #cce5ff;
}

/* 第二行:整体偏右 */
.row2 {
  right: 150rpx;         /* 离右边很近 */
  top: 60rpx;
  background: #d4edda;
}

如果用flex布局做:

HTML

html 复制代码
<view class="card-container">

<image class="card-img" src="https://open.weixin.qq.com/zh_CN/htmledition/res/assets/res-design-download/icon64_wx_logo.png" mode="aspectFill"></image>

<view class="picture-content">

<text class="card-title">第二季度返乡创业资源信息清单</text>

<text class="card-time">发布时间:2026-05-28 15:04</text>

</view>

CSS

css 复制代码
/* 最外层容器:负责横向排列 */
.card-container {
  display: flex;
  flex-direction: row; /* 明确指定横向 */
  align-items: flex-start; /* 顶部对齐 */
  padding: 20px; /* 使用 px 避免 rpx 换算误差 */
  background-color: #ffffff;
  width: 100%;
  box-sizing: border-box; /* 防止 padding 撑大盒子 */
  overflow: hidden; /* 防止内容溢出 */
}

/* 图片样式 */
.card-img {
  width: 120px;  /* 固定宽度 */
  height: 120px; /* 固定高度 */
  border-radius: 8px;
  margin-right: 15px; /* 图片与文字的间距 */
  flex-shrink: 0; /* 绝对禁止图片被压缩 */
  background-color: #f0f0f0; /* 兜底背景色 */
}

/* 文字容器:负责上下分布 */
.picture-content {
  flex: 1; /* 占据剩余所有宽度 */
  display: flex;
  flex-direction: column; /* 纵向排列 */
  height: 120px; /* 关键:高度必须和图片一模一样 */
  justify-content: space-between; /* 上下两端对齐 */
  min-width: 0; /* 解决 flex 布局下文本溢出不生效的顽疾 */
}

/* 标题样式 */
.card-title {
  font-size: 16px; /* 使用 px */
  color: #333333;
  font-weight: bold;
  line-height: 1.4;
  
  /* 防止长文本破坏布局 */
  overflow: hidden;
  text-overflow: ellipsis;
  display: -webkit-box;
  -webkit-line-clamp: 2; /* 最多显示两行 */
  -webkit-box-orient: vertical;
}

/* 时间样式 */
.card-time {
  font-size: 13px; /* 使用 px */
  color: #999999;
  line-height: 1.4;
}

总结

相关推荐
码农客栈2 小时前
小程序学习(二十六)之“订单详情”
小程序
weixin_440058314 小时前
2026知识付费小程序:年费全包零抽成,录播题库全功能覆盖
小程序·apache·小程序开发
小羊Yveesss6 小时前
2026年微信小程序后端怎么搭建?后台、数据、接口和运维怎么选
运维·微信小程序·小程序
小皮虾6 小时前
小程序首页性能优化实战:从 4 秒到 1.8 秒
前端·微信小程序
HackTwoHub8 小时前
ARL灯塔重构版:支持APP/小程序/WEB资产同步扫描
人工智能·安全·web安全·网络安全·小程序·重构·自动化
投票竞赛10 小时前
避雷按单场活动扣费平台,2026 在线投票测评不限频次新建投票评选活动
小程序
2501_9159090613 小时前
IPA 深度混淆是什么意思?从混淆强度到实际效果的解读
android·ios·小程序·https·uni-app·iphone·webview
莫名的好感°14 小时前
2026家庭快消品采购小程序实测体验
小程序
黄华SJ520it1 天前
新零售排队免单系统开发全流程介绍
小程序·零售·系统开发
衍生星球2 天前
SpringBoot3 + Vue3 + 微信小程序如何学习,以及学哪些技术,组件
sql·微信小程序·uni-app·vue·springboot