有没有像min-height这样的css属性,但是用于top的?在下面的例子中,当我隐藏div 1(通过javascript)时,我希望div 2的top:50。否则,将放在div 1下面。
<html>
<head>
<style>
#div1
{
height:100px;
}
#div2{
//min-top:50px;
}
</style>
</head>
<body>
<div id='div1'>This div may be hidden</div>
<div id='div2'>This div must not be placed above 50px</div>
</body>
</html>
编辑:正如我下面的回答
当div 1没有隐藏时,我希望div 2正好低于div 1。假设div 1是一个树视图,可以有任何高度(甚至可以隐藏),div 2是一个段落,应该始终低于50 px
8条答案
按热度按时间brccelvz1#
我想出了这个解决方案,利用顶部:0底部:0黑客.
我们创建一个容器的高度是它的相对父(如果有的话)-然后我们给予它一个最小高度(例如你的最小顶部)
然后,我们将实际元素绝对定位到该容器的底部。
CSS:
超文本:
6ojccjat2#
“有CSS迷你顶房吗?”没有,但是...
...您可以使用数学函数来实现类似min-top的效果:
https://developer.mozilla.org/en-US/docs/Web/CSS/max
sycxhyv73#
不,没有比
min-top
更好的了你可以用is
对于您展示的示例,
visibility: hidden;
最适合这里,因为它将保留隐藏的div
的空间5tmbdcev4#
我猜想这对你来说会有用,但我相信这不是一个很好的实践:
演示:http://jsfiddle.net/pavloschris/tbbvU/
(只需注解/取消注解
display:none
即可查看其工作情况。)uqcuzwp85#
我看到这个问题还有很多意见,大家还在评论,因为这个问题没有完全回答,所以我决定把完整的答案写在这里:
http://jsfiddle.net/vVsAn/5051/
mspsb9vt6#
tpxzln5u7#
使用边距的解决方案
另请参见使用
position:sticky
的解决方案。下面的解决方案使用css3 selector“,其前面紧跟”“或”“,后面紧跟”“,并且通过在前面的元素上切换预定义的类(在本例中为
.hidden
)来工作。x一个一个一个一个x一个一个二个一个x一个一个三个一个
zlwx9yxi8#
使用
position: sticky
的解决方案另请参见使用边距的解决方案。
为了达到类似的效果,你可以使用
position: sticky
,它和top-min并不完全一样,但是它可以和父样式一起巧妙地调整以达到你的目的。position:sticky
元素的父元素也必须具有非默认position
集。*这样做的目的是,当元素通过滚动、降低视区高度或更改布局向上移动时,它将停留在定义的位置,直到父元素本身越过边界并将元素推到一边(如下图动画所示)。
x一个一个一个一个x一个一个二个一个x一个一个三个一个