当前位置: 首页 > article >正文

前端 设置 div 标签内子多个子 div 内容,在一行展示,并且可以字段自动换行

如果你希望多个子 div 标签在父 div 内部展示在一行上,并且每个子 div 的内容可以根据需要自动换行,可以使用 CSS 的 flexbox 布局来实现。flexbox 使得布局更加灵活,能控制子项的排列方式,并允许内容根据父容器的宽度自动换行。

实现步骤:

  1. div 设置为 flex 布局
  2. div 元素设置自动换行
  3. 适配不同内容长度,确保长文本能根据需要换行。

示例代码:

<!DOCTYPE html>
<html lang="en">
<head>
  <meta charset="UTF-8">
  <meta name="viewport" content="width=device-width, initial-scale=1.0">
  <title>Flexbox 自动换行示例</title>
  <style>
    /* 设置父 div 为 flex 布局 */
    .parent {
      display: flex;
      flex-wrap: wrap;  /* 允许子项自动换行 */
      gap: 10px;        /* 子元素间距 */
      border: 1px solid #ccc;
      padding: 10px;
    }

    /* 设置子 div */
    .child {
      flex: 1 1 200px;   /* 每个子 div 至少占 200px,允许伸缩 */
      padding: 10px;
      border: 1px solid #ddd;
      background-color: #f9f9f9;
      word-wrap: break-word;  /* 长文本自动换行 */
    }
  </style>
</head>
<body>

  <div class="parent">
    <div class="child">
      这是第一个子 div,内容会自动换行,测试长文本的时候这个内容会变得很长,比如说这里是一个长链接: https://www.example.com/this-is-a-very-long-url-that-will-automatically-break-and-wrap-around。
    </div>
    <div class="child">
      第二个子 div。这个内容比较短,所以它不会自动换行。
    </div>
    <div class="child">
      这是第三个子 div。你可以把这个文本拉长看看效果。
    </div>
  </div>

</body>
</html>

解释:

  1. display: flex;:父 div 设置为 flex 布局,使其子元素(子 div)按行排列。

  2. flex-wrap: wrap;:允许子 div 自动换行,如果一行内空间不够,子元素会移动到下一行。

  3. gap: 10px;:设置子元素之间的间距,使得每个子 div 之间保持一定的距离。

  4. flex: 1 1 200px;:每个子 div 至少占据 200px 宽度,同时允许在父容器空间宽裕时进行伸缩。1 表示子元素可以伸缩,200px 是最小宽度。

  5. word-wrap: break-word;:确保子 div 内的长文本(例如长网址或单词)会自动换行,避免溢出。

调整内容:

  • 你可以根据需要调整 flex: 1 1 200px; 中的 200px,以控制子 div 的最小宽度。也可以根据实际内容进行适当调整。
  • 如果你不希望子元素的宽度根据父容器宽度进行伸缩,可以将 flex 改为 flex: 0 1 auto; 或设置固定宽度,例如 width: 200px;

适应性:

  • 在这种布局中,如果父 div 的宽度较小,子 div 会自动换行,保持在一行内,直到没有足够的空间显示所有元素为止。
  • 这种布局方式非常适合响应式设计,能够在屏幕宽度变化时自动调整布局。

http://www.kler.cn/a/412351.html

相关文章:

  • git-显示顺序与提交顺序不一致的问题
  • Python 爬虫入门教程:从零构建你的第一个网络爬虫
  • 极狐GitLab 17.6 正式发布几十项与 DevSecOps 相关的功能【一】
  • vue3(十七)-基础入门之vue-nuxt路由
  • 【CANOE】【Capl】【RS232】控制串口设备
  • 使用 前端技术 创建 QR 码生成器 API1
  • Flink 实现超速监控:从 Kafka 读取卡口数据写入 MySQL
  • 浏览器开发工具
  • java——SpringBoot中常用注解及其底层原理
  • SSM之AOP与事务
  • 缓存雪崩、击穿、穿透深度解析与实战应对
  • 使用OpenCV实现视频背景减除与目标检测
  • 【QT】背景,安装和介绍
  • 【云计算网络安全】解析 Amazon 安全服务:构建纵深防御设计最佳实践
  • docker-compose文件的简介及使用
  • Git 使用技巧
  • 鸿蒙开发异步与线程
  • 使用Cmake导入OpenCV库的大坑记录
  • 如何将 GitHub 私有仓库(private)转换为公共仓库(public)
  • 反爬虫机制
  • 【大数据学习 | Spark-SQL】SparkSession对象
  • 从ETL到DataOps:WhaleStudio替代Informatica,实现信创化升级
  • 计算机网络 实验八 应用层相关协议分析
  • 【NOIP普及组】表达式求值
  • 学习threejs,设置envMap环境贴图创建反光效果
  • Qt程序发布及打包成exe安装包