将孩子放在父级的底部,直到动态同级填充父级

时间:2019-02-20 12:13:01

标签: html css html5 css3 css-position

我有一个元素是动态填充的<ul>的同胞

<div>
    <ul>
    </ul>
    <p>hello</p>
</div>

我希望将<p>固定在屏幕底部,直到动态<li>要求将其向下推到视图下方为止。

我尝试了以下操作,但无法获得所需的结果。

该元素在底部的正确位置,然后被向下推,但最终被其兄弟姐妹消耗。

for(var i =0; i < 50; i++){
  var value = document.querySelector('input').value

  var node = document.createElement("LI");                 // Create a <li> node
  var textnode = document.createTextNode("Water");         // Create a text node
  node.appendChild(textnode);                              // Append the text to <li>
  document.querySelector("ul").appendChild(node);
}
div {
  height: auto;
  min-height: 90vh;
  position: relative;
}
p {
  position: absolute;
  bottom: 0;
}
<!DOCTYPE html>
<html>
<head>
  <meta charset="utf-8">
  <meta name="viewport" content="width=device-width">
  <title>JS Bin</title>
</head>
<body>
<div>
  <input type='text' value='dsaf'/>
  <ul>
  </ul>
  <p>hello</p>
</div>
</body>
</html>

请注意,在代码段中,子段落如何被其同级下推,然后与之重叠。

1 个答案:

答案 0 :(得分:0)

这是吗?

我将padding-bottom:30px;添加到了div

for(var i =0; i < 25; i++){
  var value = document.querySelector('input').value

  var node = document.createElement("LI");                 // Create a <li> node
  var textnode = document.createTextNode("Water");         // Create a text node
  node.appendChild(textnode);                              // Append the text to <li>
  document.querySelector("ul").appendChild(node);
}
div {
  height: auto;
  min-height: 90vh;
  position: relative;
  padding-bottom:30px;
}
p {
  position: absolute;
  bottom: 0;
}
<!DOCTYPE html>
<html>
<head>
  <meta charset="utf-8">
  <meta name="viewport" content="width=device-width">
  <title>JS Bin</title>
</head>
<body>
<div>
  <input type='text' value='dsaf'/>
  <ul>
  </ul>
  <p>hello</p>
</div>
</body>
</html>