首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >CSS前一个元素

问CSS前一个元素
EN

Stack Overflow用户
提问于 2012-05-31 13:13:32
回答 4查看 1.3K关注 0票数 0

有没有办法用CSS来实现这一点?

元素高度= 100%减去以前的元素高度

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

CSS:

代码语言:javascript
复制
.mydiv{
    height:100%;
}

JavaScript (jQuery):

代码语言:javascript
复制
$('.mydiv').each(function(){
    $(this).css('height', $(this).height() - $(this).prev().height());
});

实际上,我只想用CSS来再现这个演示的第二个效果。

谢谢

编辑:

我真正想要实现的是:我希望两个元素垂直地安装在它们的父元素中,而不指定第一个元素高度。

EN

回答 4

Stack Overflow用户

回答已采纳

发布于 2012-05-31 13:38:15

通过CSS使用display:table和display:table-row来实现这一目标。

这是演示

票数 1
EN

Stack Overflow用户

发布于 2012-05-31 13:34:06

您可以在不使用top和bottom的情况下完成布局。

http://jsfiddle.net/UNnGP/

票数 1
EN

Stack Overflow用户

发布于 2012-05-31 13:27:19

不,有两个原因:

  1. CSS没有“以前”的概念。有几个选择器会在后面使用元素(例如"+“、"~"),但不使用之前。
  2. 我想可能有一些聪明的方法利用CSS的继承能力,但我不认为这也是可行的。您可能可以将一个高度设置为其父级的50%,但是您将超过它的原始高度,从而破坏执行this.height - prev.height类型的事情的机会。

简单的回答是不。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/10834369

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档