【发布时间】:2016-12-02 07:16:14
【问题描述】:
这是我尝试做的:
当用户点击图片时(见下面的屏幕截图),我希望与该图片相关的一些文本显示在图片行(圆圈)下方。我一直在尝试为此使用过渡。我最初的测试是创建一个位置设置为相对的 div(绿色)和一个位置设置为绝对的子 div(红色)。然后我为子 div 的 top 属性设置了动画。这工作正常。
.parent { position: relative; }
.child { position: absolute; top: -100; transition: top 1s linear; }
.child:target { top: 0; }
问题是我在此文本下有更多 div,我希望在文本向下滑动时推动它们(我的示例中的“测试”文本)。但是这不起作用,因为正如您所知,当子 div 的位置设置为绝对时,父 div 的高度(绿色)不会扩展。
因此,我的问题是:有没有办法做到这一点?
感谢您的想法。
PS:在下面的截图中,绿色盒子的高度大于红色盒子的高度,因为第一个下面其实还有一个红色的div,但是它的不透明度设置为0。
【问题讨论】:
-
我已经重读了三次你的问题,但我仍然无法弄清楚你想做什么......:S据我所知,不需要任何绝对定位,但是我可能一定是弄错了。据我所知,没有单位的最高值 -100 甚至没有任何意义......
-
是的,可能解释得不是很好。我会尝试改写它。为什么使用绝对位置时 top 属性不可能为负值。它不是元素相对于其父元素的顶部位置吗?
-
因为它需要像
px、em甚至%这样的单位。如果不是所有浏览器,它在大多数浏览器中都是ignored。 -
默认情况下,它需要 px,至少在好的浏览器中是这样;-)