CSS上一个元素

时间:2012-05-31 13:13:33

标签: html css

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

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

CSS:

.mydiv{
    height:100%;
}

JavaScript(jQuery):

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

实际上,我想仅使用CSS重现this demo的第二个效果 感谢

修改
我想要实现的目标:我希望两个元素垂直适合其父元素,而不指定第一个元素高度

4 个答案:

答案 0 :(得分:1)

您可以使用topbottom

进行布局而无需进行数学运算

http://jsfiddle.net/UNnGP/

答案 1 :(得分:1)

使用display:tabledisplay:table-row通过CSS实现此目的

There is the demo

答案 2 :(得分:0)

不,有两个原因:

  1. CSS没有“previous”的概念。有一些选择器会在之后使用元素(例如“+”,“〜”),但之前不会使用。
  2. 我在想可能有一些聪明的方式利用CSS的继承权力,但我认为这也不会有用。您可以将高度设置为其父级的50%,但是您将覆盖其原始高度,从而破坏了执行this.height - prev.height类型事物的机会。
  3. 简单的答案是否定的。

答案 3 :(得分:0)

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