html - 如何对 flex-children 进行分组并向不同的方向展示它们?

标签 html css flexbox media-queries

我是 flexbox 的新手,我找不到解决我的问题的方法。 我在一个段落中有一个标签、一个图像、一个输入和一个图像。我将 display:flex 添加到我的段落中,这使我的图像与输入非常好地对齐。

<p style='display:flex'><label>
    <image><input><image>
</p>

当我的分辨率很小时,我想将我的内容居中并将标签放在我的输入上方,如下所示:

<p><label>
<MINUS-image><input><PLUS-image></p>

当我的分辨率低于 600 像素时,我将 flex-direction: column 添加到我的段落中(并对我的标签做了一些居中处理)。但随后一切都在一列中。

<p><label>
<MINUS-image>
<input>
<PLUS-image></p>

有没有办法对我的图像和输入进行分组,使它们保持在一行中?

最佳答案

不要更改column,而是使用flex-wrap: wrap 并将label 的宽度设置为100%。

使用媒体查询,在较窄的屏幕上,这将使 label 占据其父元素 p 的整个宽度,并将其他元素推到第二个行,而不是像 column 那样将它们全部垂直堆叠。

堆栈片段

p {
  display:flex;
}

@media (max-width: 600px) {
  p {
    flex-wrap: wrap;
  }
  p label {
    width: 100%;
  }
}
<p>
  <label>Label</label>
  <span>image</span>
  <input>
  <span>image</span>
</p>

关于html - 如何对 flex-children 进行分组并向不同的方向展示它们?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47554137/

相关文章:

javascript - 为什么 CSS 在最后一个按钮上不起作用?

html - 更改双列表框中单击选项的背景颜色

css - 尝试使用 CSS (flexbox) 垂直对齐文本

css - 如何在不同形状的背景图像上制作双倾斜

html - Flex grow 1 不允许正确滚动

javascript - 如何在带有文本的 Html 框中创建建议框(Javascript 中的提示框)

javascript - WebStorm 链接到 HTML 中的 .js 文件

css - 如何使用 css 在 div 中设置 <p> 样式

javascript - 这里我想在ajax中加载数据 hide show div

html - 固定 div、底部和顶部设置,但需要动态高度