html - 有没有办法通过相对定位将元素放在其父元素的底部

标签 html css

我找不到将子元素定位到其父元素右下角的理想解决方案。

https://jsfiddle.net/oq4hycdt/1/

HTML

#border {
  border: 5px solid #101010;
  background-color: white;
  position: relative;
  margin: auto;
  width: 700px;
  padding: 0px 15px 0px 15px;
}

.block {
  position: relative;
  border: 1px solid black;
  border-style: none none solid none;
  padding: 0px 0px 10px 0px;
  overflow-x: hidden;
  overflow-y: auto;
}

.stuff {
  border: 2px solid black;
  position: relative;
  margin: 0% 0% 0% 0%;
  float: right;
  right: 10px;
  bottom: 0;
  line-height: 0;
}

form {
  margin: 0% 0% 5px 0%;
  border: 2px solid black;
  float: left;
}
<div id="border">

  <div class="block">
    <h3>header1</h3>
    <form>
      <input name="A" type="radio">1<br>
      <input name="A" type="radio">2<br>
      <input name="A" type="radio">3
    </form>
    <div class="stuff">
      <h4>stuff</h4>
      <input type="range" min="0" max="100" value="50">
      <input type="checkbox">Check
    </div>
  </div>

  <div class="block">
    <h3>header2</h3>
    <form>
      <input name="B" type="radio">1<br>
      <input name="B" type="radio">2<br>
      <input name="B" type="radio">3<br>
      <input name="B" type="radio">4<br>
      <input name="B" type="radio">5
    </form>
    <div class="stuff">
      <h4>stuff</h4>
      <input type="range" min="0" max="100" value="50">
      <input type="checkbox">Check
    </div>
  </div>

  <div class="block">
    <h3>header3</h3>
    <form>
      <input name="C" type="radio">this is a really really really really really really really really really really really long line
    </form>
    <div class="stuff">
      <h4>stuff</h4>
      <input type="range" min="0" max="100" value="50">
      <input type="checkbox">Check
    </div>
  </div>

</div>

我试图让 stuff 类元素移动到其父 block 元素的右下角,并在没有空间的情况下扩展父元素的高度。 如果我对 stuff 类使用绝对定位,则在 radio 输入的文本和 stuff 元素的内容之间会出现重叠。 如果我使用相对定位,那么 stuff 元素似乎不遵守 bottom 属性。

最佳答案

您可以通过将此添加到您的 css 来实现我认为您正在寻找的布局:

h3 {width: 100%};

.block {
  display: flex;
  flex-wrap: wrap; 
}

.stuff {
  align-self: flex-end;
  margin-left: auto;
}

工作 fiddle :https://jsfiddle.net/75nv0we4/

关于html - 有没有办法通过相对定位将元素放在其父元素的底部,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54207496/

相关文章:

css - 仅使用 CSS 的侧面板

javascript - IE DIV悬停区域不一样。直到我添加背景颜色

javascript - 使用居中导航栏居中导航栏品牌形象

html - 通过类或从父 CSS/HTML 开始为元素设置样式更快

javascript - Meteor 创建一个可滚动的 div

jquery - 淡入淡出 CSS 类

javascript - 在 chrome 中缩小到 25% 时,div 中的元素超出范围(不在 div 内)

html - 如何使图像调整大小以适合div

html - 位置固定在页面的底 Angular 而不是 div 的底 Angular

java - REST Jersey 导致 HTTP 状态 500 - 内部服务器错误