当前位置: 首页 > 知识库问答 >
问题:

Div元素在下一行不换行

凌恩
2023-03-14

我定义了容器显示的flexbox属性:Flex;flex-wrap:包装;justify-content:Center;但第一行总是有3个div,第二行是2个div。如何使它在浏览器调整大小时换行div?

我几乎尝试了所有的方法(更改了父容器的宽度和高度,将width更改为min-width/max-width,设置父容器的margin:0 auto;)。

<!-- HTML -->
<div class="parent">
  <div class="headline">
    <h2>Tea of the Month</h2>
    <h4>What's Stepping at The Tea Cozy?</h4>
  </div>
  <div class="container">
    <img src="..." class="image">
    <p>Fall Berry Blitz Tea</p>
  </div>
  </div>
  <div class="container">
    <img src="..." class="image">
    <p>Spiced Rum Tea</p>
  </div>
  </div>
  <div class="container">
    <img src="..." class="image">
    <p>Seasonal Donuts</p>
  </div>
  </div>
  <div class="container">
    <img src="..." class="image">
    <p>Myrtle Ave Tea</p>
  </div>
  </div>
  <div class="container">
    <img src="..." class="image">
    <p>Bedford Bizarre Tea</p>
  </div>
</div>
<!-- URL of images is correct -->

/* CSS */
.parent {
display: flex;
flex-wrap: wrap;
justify-content: center;
width: 1000px;
margin: 0 auto;
}
.headline {
display: block;
width: 100%;
}
.container {
margin: 0px 10px;
}
.image {
width: 300px;
height: 200px;
}

我想divs会在下一行结束。但总是有3个div在第一线和2个div在第二线。

共有1个答案

吴刚毅
2023-03-14

您的HTML包含一些无效的闭包标记,请验证您的HTML,您可以签出:https://validator.w3.org/

还删除了1000px的固定宽度,您希望有一个fluid父级,因此它的大小根据设备或浏览器的宽度。

null

/* CSS */

.parent {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  margin: 0 auto;
  /* changed */
  width: 100%;
}

.headline {
  display: block;
  width: 100%;
}

.container {
  margin: 0px 10px;
}

.image {
  width: 300px;
  height: 200px;
}
<!-- HTML -->
<div class="parent">
  <div class="headline">
    <h2>Tea of the Month</h2>
    <h4>What's Stepping at The Tea Cozy?</h4>
  </div>
  <div class="container">
    <img src="https://placehold.it/300x300" class="image">
    <p>Fall Berry Blitz Tea</p>
  </div>
  <!-- </div> REMOVED -->
  <div class="container">
    <img src="https://placehold.it/300x300" class="image">
    <p>Spiced Rum Tea</p>
  </div>
  <!-- </div> REMOVED -->
  <div class="container">
    <img src="https://placehold.it/300x300" class="image">
    <p>Seasonal Donuts</p>
  </div>
  <!-- </div> REMOVED -->
  <div class="container">
    <img src="https://placehold.it/300x300" class="image">
    <p>Myrtle Ave Tea</p>
  </div>
  <!-- </div> REMOVED -->
  <div class="container">
    <img src="https://placehold.it/300x300" class="image">
    <p>Bedford Bizarre Tea</p>
  </div>
  <div class="container">
    <img src="https://placehold.it/300x300" class="image">
    <p>Bedford Bizarre Tea</p>
  </div>
  <div class="container">
    <img src="https://placehold.it/300x300" class="image">
    <p>Bedford Bizarre Tea</p>
  </div>
</div>
 类似资料:
  • 我是HTML和CSS的新手。 在第一个div中,我想显示元素,在第二个div中,我想在背景图像上显示文本。但在结果元素上显示的是背景图像。我想显示元素,在下面一行我想显示背景图像。如何实现这一点? 下面是我的代码。我正在使用HTML和CSS。 null null

  • div元素可以把文档分割为独立的、不同的区域,每个区域就相当于一个块级容器,其中可以放置段落、标题、表格、图片、乃至任何HTML元素。 事实上,div元素本身并没有任何特定的语义,它的真正目的是把页面进行分块,然后通过CSS对它们进行格式化,来实现页面布局,也就是传说中的 DIV + CSS 布局。因此,可以说 div元素是一个通用容器,一个没有任何语义的容器。 如,使用 div元素把页面划分为

  • 在div中有一个和可点击的图像,称为(不幸的是,我不知道在哪里添加相关的图像。抱歉)我想像我做的那样将它们分开。我想知道有没有更简单、更好的解决方案来缩短CSS代码。谢谢。 null null

  • 我正在编写一个基本的HTML CSS代码来尝试一些东西。在css中样式化一个div后,该div就从网页中消失了。 请帮帮忙。 下面是代码。代码非常基本。 谢谢! null null

  • 问题内容: 如何在 jQuery中 创建元素? 问题答案: 您可以使用(在父级的最后一个位置添加)或(在父级的第一个位置添加): 或者,您可以使用或

  • 问题内容: 我在页面上存在一个,我需要进行设置,以便当用户在该元素之外单击时它将被隐藏,但是如果用户在该元素内的某个位置单击,则它应该保留。 我尝试使用 和 将其添加到该特定DIV的click事件中,但这没有用。 谢谢! 问题答案: 在弹出式鼠标悬停时切换 标志 : 注: 如果页面上的某个地方,你有一个元素 阻止 的冒泡DOM树达(以注册),您可能希望 创建一个全屏幕 (就像一个页面叠加) 弹出包