html - 在没有包装的情况下将一些 float 元素堆叠在一起

标签 html css css-float

我有一个响应式网站,其中包含一些具有 float: left CSS 的元素。对于较小的屏幕,我想将第二个元素移动到第一个元素的下方。

HTML:

<div>A</div>
<div>B</div>
<div>C</div>

CSS:

div {
    float: left;
}

图片:红线上方是当前布局,下方是小屏幕所需的布局。 div 的大小或对齐方式不需要更改。

desired behaviour

我可以在不将 div A 和 B 包装在新的 div 中的情况下实现这种效果吗?

最佳答案

更新:您可以在 div B 上使用 clear:left 然后使用 translate-Y 让 C div 位于顶部;

body {
  width: 100%;
  height: 100%;
  background-color: honeydew;  
}

div {
  display: inline-block;
  padding: 36px;  
}

#a {
  float: left;
  background-color: tomato;  
}

#b {  
  float: left;
  clear:left;
  background-color: gold;  
}

#c {  
  float: left;
  background-color: skyblue; 
  -webkit-transform: translateY(-100%);
  -ms-transform: translateY(-100%);
  transform: translateY(-100%);
}
<div id=a>1.</div>
<div id=b>2.</div>
<div id=c>3.</div>

关于html - 在没有包装的情况下将一些 float 元素堆叠在一起,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35794907/

相关文章:

css - 三列 CSS 布局 - 固定/最大/可变宽度

html - 如果我使用 bootstrap,为什么会出现对齐错误?

html - 具有可变宽度的 float CSS 容器的问题

javascript - 如何改进我的 "random words cloud"函数?

javascript - 如何在html中定义和分配变量

html - Zurb Foundation topbar downdown 截止/裁剪

css - 如何使用 gulp 连接 js/css 文件并在 html 中替换?

javascript - 将两个 URL 合二为一

java - Vaadin 14 应用程序中的背景图像无法加载

css - 如何重置HTML5按钮元素的所有默认样式