html - 为什么我不能在下面的方案中对齐div/为什么最后一个容器不可见?

标签 html css web css-position box-sizing

我想在另一个父容器中对齐七个 div,所有的高度(与父容器)和宽度都应该相同,除了第一个和最后一个。

我试过类似的东西:

HTML

<div id="weatherBar">
  <div class="arrow"></div>
  <div class="table-wrapper">
    <div>1</div>
  </div>
  <div class="table-wrapper">
    <div>2</div>
  </div>
  <div class="table-wrapper">
    <div>3</div>
  </div>
  <div class="table-wrapper">
    <div>4</div>
  </div>
  <div class="table-wrapper">
    <div>5</div>
  </div>
  <div class="arrow"></div>
</div>

CSS

div#weatherBar {
  position: relative;
  width: 60vw;
  max-width: 60vw;
  height: 10vh;
  left: 50%;
  transform: translateX(-50%);
  background-color: rgb(255, 255, 255);
  overflow: hidden;
  margin-top: 10vh;
}

div#weatherBar div.table-wrapper {
  min-height: 10vh;
  max-height: 10vh;
  min-width: 10vw;
  max-width: 10vw;
  border: solid 0.5px blue;
  float: left;
  overflow: hidden;
}

div#weatherBar div.arrow {
  min-height: 10vh;
  max-height: 10vh;
  min-width: 5vw;
  max-width: 5vw;
  float: left;
  overflow: hidden;
  background-color: red;
}

但是发生的是最后一个 div 没有出现(我附上了一张图片),我不知道为什么。你能帮帮我吗?

提前致谢! :-)

Attached image

最佳答案

默认情况下,元素的 border 不包含在元素的 width 中,因为 box-sizingcontent-box 默认情况下。

将其更改为 border-box 以便边框 包含width 中使用:

* {
  box-sizing: border-box;
}

请看下面的演示:

* {
  box-sizing: border-box;
}
div#weatherBar {
  position: relative;
  width: 60vw;
  max-width: 60vw;
  height: 10vh;
  left: 50%;
  transform: translateX(-50%);
  background-color: rgb(255, 255, 255);
  overflow: hidden;
  margin-top: 10vh;
}

div#weatherBar div.table-wrapper {
  min-height: 10vh;
  max-height: 10vh;
  min-width: 10vw;
  max-width: 10vw;
  border: solid 0.5px blue;
  float: left;
  overflow: hidden;
}

div#weatherBar div.arrow {
  min-height: 10vh;
  max-height: 10vh;
  min-width: 5vw;
  max-width: 5vw;
  float: left;
  overflow: hidden;
  background-color: red;
}
<div id="weatherBar">
  <div class="arrow"></div>
  <div class="table-wrapper">
    <div>1</div>
  </div>
  <div class="table-wrapper">
    <div>2</div>
  </div>
  <div class="table-wrapper">
    <div>3</div>
  </div>
  <div class="table-wrapper">
    <div>4</div>
  </div>
  <div class="table-wrapper">
    <div>5</div>
  </div>
  <div class="arrow"></div>
</div>

关于html - 为什么我不能在下面的方案中对齐div/为什么最后一个容器不可见?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46256779/

相关文章:

javascript - 通过操作 URL 设置单选按钮值

javascript - JSON 文件内容未在 HTML 中加载

html - 对齐列表编号

jquery - 为什么这个 jquery 和 css 在 html 表中不一致?

javascript - 每次刷新时更改数字?

java - 在同一个 glassfish 实例中保持多个 session

android - 如何通过触摸按钮在android中添加网站链接

jquery - 表格脱离 div

javascript - 无法让 HTML5 Canvas 与 Twitter Bootstrap 一起使用

javascript - 使用 jQuery 将所有 <audio> 元素静音