【问题标题】:how to make parent height relevant to children but also don't increase parent height when children height increases如何使父母身高与孩子相关,但当孩子身高增加时也不增加父母身高
【发布时间】:2019-06-22 23:55:47
【问题描述】:

正如标题所描述的,我有一个包含子 div 的父 div。

我不知道会有多少孩子,所以我不能给父母一个固定的高度。

悬停时子 div 的高度会增加。

我怎样才能让父母的身高与孩子的身高相关,但当他们的身高增加时也不会增加?

正如您在代码中看到的,“parent2”具有所需的功能,但它的高度是固定的,我无法使用。

PS 不使用 javascript

HTML

<div class="parent">
  <div class="child"></div>
  <div class="child"></div>
</div>
<div class="parent2">
  <div class="child"></div>
  <div class="child"></div>
</div>

CSS

.parent,
.parent2{
  display: inline-block;
  width: 200px;
  overflow: hidden;
}

.parent {
  height: auto;
  background-color: green;
  vertical-align: top;
}

.parent2 {
  height: 300px;
  background-color: steelblue;
  margin-left: 50px;
}

.child {
  height: 100px;
  width: 100px;
  background-color: orange;
  margin: 10px auto 10px auto;
  transition: height 0.5s ease;
}

.child:hover {
  height: 150px;
}

我的小提琴:https://jsfiddle.net/zuswrt23/

【问题讨论】:

  • 如果你知道你增加了多少高度,实际上以负边距减少它,否则 CSS 无法处理这个问题,请改用 javascript。jsfiddle.net/2scryzkd/1(css,不是 js)

标签: html css height


【解决方案1】:

父母的高度是固定的吗?您可以为父或子 div 添加最大高度吗? 作为100 days CSS challenge. 的一部分,我做了类似的事情,这是我的codepen 的链接

每个子 div 都有一个宽高。

  &:hover {
  font-size: 25px; 
  padding: 70px;
  transition: 0.8s;
    text-transform: uppercase;
}

在悬停时,我实际上是通过添加填充而不是增加高度来增加宽度(或者在你的情况下,它会是高度)。

父容器的宽度为 400px,并设置为显示 flex(以容纳可变的子 div)

display: flex;
flex-direction: row;
width: 400px;

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2020-05-09
    • 2022-07-15
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-10-16
    • 1970-01-01
    相关资源
    最近更新 更多