【问题标题】:Align the bottom of a div对齐 div 的底部
【发布时间】:2017-12-13 13:01:46
【问题描述】:

我想知道css中是否有办法从底部对齐div。

我在复选框旁边有一个 div,该 div 的左上角在复选框的右上角旁边。但我希望 div 的左下角靠近复选框的右上角。

.ToolTip {
  position: absolute;
  display: inline-block;
  background: #fff;
  border: 2px solid black;
}
<span class="checkbox" style="display: inline-block">
  <input id="checkbox1" value="true" type="checkbox">
</span>
<span class="ToolTip">
  <div class="BlockLevelDiv">
    There is a table in the div
  </div>
</span>

如果我的问题不清楚,请问我一些问题,我的英语不流利。

谢谢。

【问题讨论】:

  • 请添加您目前尝试过的代码
  • 问题是html是从Java框架生成的。我正在写一个例子。
  • 代码如何生成无关紧要。我们需要查看发送到浏览器的输出 - 它只是 html/css。
  • 无论标记是如何生成和/或处理的,都希望提供一个最小、完整和可验证的示例,以准确地重现和演示所描述的问题。看看:stackoverflow.com/help/mcve
  • 我只是想说它会生成一些不是很干净且不稳定的 html 代码,但我同意你的观点并尝试编写一个示例。

标签: javascript css web


【解决方案1】:

您有 x2 种方法可以在这里探索:

1) vertical-align: superposition: relative

  1. 将元素 .ToolTip 上的 position 属性值更改为 relativevertical-align 属性中受益;
  2. 现在元素回到正常的文档流,并且由于 有问题的元素已经是一个内联块,声明 vertical-align: super

示例:

.ToolTip {
  position: relative;
  display: inline-block;
  background: #fff;
  border: 2px solid black;
  /* additional */
  vertical-align: super;
}

代码片段演示:

.ToolTip {
  position: relative;
  display: inline-block;
  background: #fff;
  border: 2px solid black;
  /* additional */
  vertical-align: super;
}
<span class="checkbox" style="display: inline-block">
  <input id="checkbox1" value="true" type="checkbox">
</span>
<span class="ToolTip">
  <div class="BlockLevelDiv">
    There is a table in the div
  </div>
</span>

2) 保留position: absolute 并使用bottom 属性进行偏移

  1. .ToolTip上保留position属性值为absolute,元素位置可以通过bottom属性偏移;
  2. 作为上述解决方案的要求,包含元素(绝对定位元素的)必须定位在relative 以保持定位相对 -否则,绝对定位的元素将相对于窗口定位

示例:

.ToolTip {
  position: absolute;
  display: inline-block;
  background: #fff;
  border: 2px solid black;
  /* additional */
  bottom: 5px;
}

代码片段演示:

.ToolTip {
  position: absolute;
  display: inline-block;
  background: #fff;
  border: 2px solid black;
  /* additional */
  bottom: 5px;
}

.relative-container {
  position: relative;
}
<div class="relative-container">
  <span class="checkbox" style="display: inline-block">
    <input id="checkbox1" value="true" type="checkbox">
  </span>
  <span class="ToolTip">
    <div class="BlockLevelDiv">
      There is a table in the div
    </div>
  </span>
</div>

【讨论】:

  • 非常感谢您的完整回复!我学到了很多,我不能使用第一个解决方案,因为我的 div 必须保持原位:absolute 否则它会在我的页面上移动很多东西,但第二个解决方案非常完美,我永远不会想到这个。再次感谢,祝您有美好的一天
  • @G.Sabathier 没问题,很高兴能帮到你。
猜你喜欢
  • 2017-11-25
  • 1970-01-01
  • 2013-07-24
  • 1970-01-01
  • 2014-08-05
  • 1970-01-01
  • 1970-01-01
  • 2015-09-02
  • 1970-01-01
相关资源
最近更新 更多