0

有没有办法用CSS实现这一点?
元素高度 = 100% 减去前一个元素高度

请不要提供 JavaScript 答案,因为我已经有了:

CSS:

.mydiv{
    height:100%;
}

JavaScript (jQuery):

$('.mydiv').each(function(){
    $(this).css('height', $(this).height() - $(this).prev().height());
});

实际上,我想仅使用 CSS重现此演示的第二个效果。
谢谢

编辑:
我到底想要实现什么:我希望两个元素垂直适合它们的父元素,而不指定第一个元素的高度

4

4 回答 4

1

您可以在不进行数学运算的情况下同时使用topbottom

http://jsfiddle.net/UNnGP/

于 2012-05-31T13:34:06.127 回答
1

使用display:tabledisplay:table-row通过 CSS 实现这一点

有demo

于 2012-05-31T13:38:15.127 回答
0

不,有两个原因:

  1. CSS 没有“以前”的概念。有一些选择器会在之后使用元素(例如“+”、“~”),而不是之前。
  2. 我在想可能有一些巧妙的方法可以利用 CSS 的继承能力,但我认为这也行不通。您可以将高度设置为其父级的 50%,但您会覆盖其原始高度,因此会破坏执行某类操作的机会this.height - prev.height

简单的答案是否定的。

于 2012-05-31T13:27:19.487 回答
0

是的你可以。但是你必须溢出:隐藏在你的容器上。这是一个链接。http://jsfiddle.net/UNnGP/4/

于 2012-05-31T13:47:39.537 回答