javascript - 有没有办法以某种方式同时拥有绝对位置(底部)和同一 div 的多个并排?

标签 javascript html css position absolute

我将 div 用作一种柱形图的构建 block 。每个 div 占屏幕的 1%,而且有很多。我希望它们都通过 bottom: 0px; 粘在父 div 的底部。并以某种方式使用 float:left; 将其中的多个并排放置;或显示:内联;

我得到的是相对位置和 float: left;工作

-----------------------
|IIIIIIIIIIIIIIIIIIIII|
|                     |
|                     |
|                     |
-----------------------

或者这个带有 bottom: 0px 的绝对位置;工作,当然所有 我的 Div 被绘制在彼此之上

-----------------------
|                     |
|                     |
|                     |
|I                    |
-----------------------

我想要的是这样的东西,这样我就可以更改我的 div 的大小并制作我的柱形图。

-----------------------
|                     |
|                     |
|                     |
|IIIIIIIIIIIIIIIIIIIII|
-----------------------

这当然可以通过单独设置样式或通过 JS 来实现,这可能是我最终要做的。但是是否有一种好的 HTML-CSS 方式来做到这一点?

.Column {
    float: left;
    position: absolute;
    bottom: 0;
    width: 1%;
}

.Graph {
    position: relative;
    margin: auto;
    width: 80%;
    height: 400px;
    border: 3px solid green;

}

最佳答案

您可以使用 flexbox 来实现这一点:

.container {
  display:flex;
  height:150px;
  border:1px solid;
  align-items:flex-end;
}
.container > span {
  width:10px;
  height:20px;
  background:red;
  margin:0 5px;
}
.container > span:nth-child(odd) {
  background:blue;
  height:30px;
}
<div class="container">
  <span></span>
  <span></span>
  <span></span>
  <span></span>
  <span></span>
  <span></span>
  <span></span>
  <span></span>
  <span></span>
  <span></span>
  <span></span>
</div>

或者一些内联 block 技巧:

.container {
  height:150px;
  border:1px solid;
}
.container:before {
  content:"";
  display:inline-block;
  height:100%;
}
.container > span {
  display:inline-block;
  width:10px;
  height:20px;
  background:red;
  margin:0 5px;
}
.container > span:nth-child(odd) {
  background:blue;
  height:30px;
}
<div class="container">
  <span></span>
  <span></span>
  <span></span>
  <span></span>
  <span></span>
  <span></span>
  <span></span>
  <span></span>
  <span></span>
  <span></span>
  <span></span>
</div>

关于javascript - 有没有办法以某种方式同时拥有绝对位置(底部)和同一 div 的多个并排?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58810815/

相关文章:

css - 可以选择第一个 child (当第一个元素通常不同时)

javascript - 如何设置 css 位置 'top' 相对于文档高度而不是视口(viewport)高度?

javascript - 如果选择了另一个 li,则设置字体粗细

html - 我如何*真正*证明 HTML+CSS 中的水平菜单合理?

html - Div 在屏幕调整大小时向左移动

javascript - 通用模式下 Javascript 中的 XML 解析

javascript - 使用 js 和 css 隐藏/显示 div 中的内容

javascript - 执行两个不同操作的表单

javascript - Jsplumb 使用端点以编程方式添加连接

javascript - ReactJS 当使用 HTML 属性被选中时,reactjs 不允许选择复选框