Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/css/34.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Css 具有绝对位置的子级具有完整的父级高度_Css_Flexbox - Fatal编程技术网

Css 具有绝对位置的子级具有完整的父级高度

Css 具有绝对位置的子级具有完整的父级高度,css,flexbox,Css,Flexbox,正在尝试重新创建此布局: 问题是黑盒子上面的白盒子。我不知道黑匣子的高度。如何在其他框的顶部创建白色框 这是我的代码: HTML 我必须绝对定位.formbox,使其不会干扰flex container.container中的其他flex项。但结果是它没有高度 我怎样才能给登录覆盖提供其父级的完整高度?我可以将100%+50px边距-25px的高度添加到formbox class a中,这是您获得的x 2。您可以使用calc函数执行此操作: 当“位置”为“绝对”时,顶部、底部、右侧和左侧属性相对

正在尝试重新创建此布局:

问题是黑盒子上面的白盒子。我不知道黑匣子的高度。如何在其他框的顶部创建白色框

这是我的代码:

HTML

我必须绝对定位.formbox,使其不会干扰flex container.container中的其他flex项。但结果是它没有高度


我怎样才能给登录覆盖提供其父级的完整高度?

我可以将100%+50px边距-25px的高度添加到formbox class a中,这是您获得的x 2。您可以使用calc函数执行此操作:


当“位置”为“绝对”时,顶部、底部、右侧和左侧属性相对于第一个父级使用“位置:相对”

所以,你不需要真正的页边顶部:-25px或页边左侧:-50px,你只需要添加页边顶部:-25px;底部:-25px;左:-25px到.formbox,您就完成了。如果您需要将其向右移动,只需添加right:XXpx并删除left或设置一个正值,如left:50%

排名:0;底部:0;
<div class="container">
  <div class="formbox">[login form markup here...]</div>
  <div class="box">
    <h1>Don't have an account</h1>
    <p>Lorem ipsum dolor sit amet consectetur adipisicing elit. Accusamus dicta cumque harum.</p>
    <button>SIGN UP</button>
  </div>
  <div class="box">
    <h1>Have an account</h1>
    <p>Lorem ipsum dolor sit amet consectetur adipisicing elit. Accusamus dicta cumque harum.</p>
    <button>LOGIN</button>
  </div>
</div>
// reset
h1, h2, h3, h4, h5, h6, p, button, div {
  margin: 0;
  padding: 0;
  line-height: 1;
}

// font
@import url('https://fonts.googleapis.com/css?family=Roboto');

// colors
$white: rgba(255,255,255,.8);

:root {
  font-size: 16px;
}

body {
  background-image: url(
https://picsum.photos/1200/800?);
  display: flex;
  justify-content: center;
  align-items: center;
  font-family: 'Roboto', sans-serif;
  color: $white;
}

.container {
  width: 900px;
  margin: 50px auto;
  background: rgba(0,0,0,.5);
  position: relative;
  display: flex;
}
.box {
  padding: 5rem 3rem;
  float: left;

  h1, p {
    margin-bottom: 1rem;
  }

  button {
    padding: 1rem 2rem;
    background: transparent;
    border: 2px solid $white;
    border-radius: 6px;
    color: $white;
    text-align: center;
    font-size: 1rem;   
    cursor: pointer;
    text-transform: uppercase;
  }
}

.formbox {
  width: 500px;
  background: white;
  margin-left: -50px;
  margin-top: -25px;
  box-shadow: 0 0 50px black;
  display: block;
  position: absolute;
}
.formbox {
    width: 500px;
    background: white;
    margin-left: -50px;
    margin-top: -25px;
    box-shadow: 0 0 50px black;
    display: block;
    position: absolute;
    height: calc(100% + 50px);
}