美文网首页
css 父元素高度不定 position子元素高度自适应

css 父元素高度不定 position子元素高度自适应

作者: 南土酱 | 来源:发表于2023-04-13 16:16 被阅读0次

😒今天写页面,有两个子元素因为 position 绝对定位重合在一起,用了z-index 分层做一个翻转div效果。
大致代码🌮🌮:

精简后的html:
<div class="flip-card"> 
<div id="login-box">
 <input type="text" placeholder="手机号/邮箱" />
 <input type="password" placeholder="密码" />
</div>

<div id="register-box">
<input type="text" placeholder="用户名" />
 <input type="text" placeholder="手机号/邮箱" />
 <input type="password" placeholder="密码" />
 <input type="text" placeholder="验证码" />
</div>
</div>
精简后的css:
#login-box,
#register-box {
  padding: 40px;
  position: absolute;
  top: 0;
  left: 0;
  bottom: 0;
  right: 0;
  margin: auto;
}
.flip-card {
  width: 350px;
  height: 500px;
  position: relative;
  border-radius: 13px;
  overflow: hidden;
  background-color: rgba($color: #000000, $alpha: 0.4);
}

很明显,login和register 会继承 父元素的高度 500px.这就造成loginbox下边还有一大片空白,而registerbox过多的input会超过500px
但是我两个子元素一个是 注册一个是登录,他们包含的input肯定不同。只要子元素高度自适应的,父元素不要高度固定即可解决。

第一步: 父元素不要高度固定

.flip-card {
  width: 350px;
//  height: 500px;
//  position: relative;
  border-radius: 13px;
  overflow: hidden;
  background-color: rgba($color: #000000, $alpha: 0.4);
}

第二步: 子元素高度自适应


用relative
显然,部分人可能也不清楚 relative 原来不会被移出正常文档流。
故而这里我尝试将 absolute 改为 relative 
#register-box {
  position: relative;
  top: 0;
  left: 0;
  bottom: 0;
  right: 0;
  margin: auto;
}

没想到成功了.去搜索一堆资料还不如自己一试😆😆
这样一个 既可以基于定位,又能在父元素无固定高度时,子元素自适应高度就完成了。


image.png
image.png

相关文章

  • 清除浮动的几种常用方法

    父元素自适应宽高度,子元素浮动导致高度塌陷 高度塌陷: 示例图: HTML: CSS: 第一种解决方案: 通过给父...

  • 做笔记

    原来父元素高度自适应的情况下,子元素使用position:relative+top:50%,这段代码在谷歌可以正常...

  • 父元素不能自适应宽高

    子元素float,使得父元素不能自适应高度 父元素的高度变窄:不能在包含浮动子元素的高度,而变窄了,变窄的部分也刚...

  • css样式里面计算元素长宽 ——calc()函数

    前言 开发过程中,写元素的长宽,往往是父元素设置了自适应高度100%,而其子元素的高度应该设置为父元素高度减去10...

  • 子元素浮动导致父元素高度塌陷解决方案

    高度塌陷是指父元素在未指定高度的情况下(高度自适应子元素高度),其内部的子元素因为设置了浮动属性,脱离文档流,导致...

  • CSS几种居中方式

    使用 标签 HTML代码 CSS代码 父元素的高度确定,子元素无高度且内容依据父元素垂直居中。 使用100% ...

  • 问题记录

    父元素A高度等于子元素B高度,子元素B有三个子元素且高度相加等于子元素高度

  • 子元素浮动导致父元素高度不够问题的解决方案

    1.子元素浮动导致父元素高度(父元素坍塌) 未设置高度的父元素中,如果有子元素浮动(float),由于子元素不占据...

  • 粘性定位 sticky

    该元素在父元素中必须能滚动,父元素 overflow 属性为 auto、scroll,且子元素高度超过父元素高度;...

  • 父元素高度不定,子元素如何撑满父元素

    如图该布局分为左右结构,父元素未设置高度,整个父元素的高度完全由左边的元素高度撑起,我们想要右边元素的高度和左边的一样。

网友评论

      本文标题:css 父元素高度不定 position子元素高度自适应

      本文链接:https://www.haomeiwen.com/subject/doiaddtx.html