【问题标题】:Second child div height fill parent height第二个子div高度填充父高度
【发布时间】:2013-07-24 04:03:43
【问题描述】:

我有一个 div(文章),它有两个孩子(标题和#content_outer)。标题有一个正确的高度,我希望#content_outer 有一个高度(不给出具体数字,例如:200px),这样标题高度 + #content_outer 高度 = 文章高度。

这是一个小提琴:http://jsfiddle.net/fyNX4/

(在小提琴中#content_outer不应超过底部的文章div)

我希望解决方案仅使用 css。

非常感谢。

编辑:

更具体地说,这是我想要的解决方案:http://jsfiddle.net/fyNX4/5/

我给了#content_outer --> height:240px;

但我想用 % 或其他解决方案给出一个高度,如果标题有更多的文本(并且有更多的高度)。 (http://jsfiddle.net/fyNX4/8/)

【问题讨论】:

    标签: css height parent


    【解决方案1】:

    http://jsfiddle.net/fyNX4/9/

    我不得不通过添加一些不必要的标记来修改你的结构:

    table:   table-row:       table-cell:       cell's content:
    article  header           span
    article  div#content-row  div#content-cell  div#content: overflow:auto;
    
    • table-rows 是必要的,因为它们是垂直排列表格单元格的唯一方法
    • table-cells 是必需的,因为table-rows 不接受填充或高度。
    • 内部包装 div 是必要的,因为 table-cells 忽略 overflow

    【讨论】:

    • 非常感谢。很好的答案'
    • “当然”它不适用于 IE 6/7,因此如果需要,您必须找到一些替代方案。
    • 用户 Stefan 的评论:“此解决方案目前仅适用于 Google Chrome 浏览器,而不适用于当前版本的 Internet Explorer 或 Firefox。内容 div 不会滚动,但适合它的内部文本高度并与外部 div 重叠。”
    【解决方案2】:

    你想要这样的东西:

    这里是更新的小提琴:http://jsfiddle.net/fyNX4/6/

    #main { width: 300px; height:300px;  background:Khaki; overflow:auto;}
    #content_outer { background: GoldenRod;  height:100%; } 
    

    【讨论】:

    • 不,#main 应该具有给定的高度:300px;并且应该在#content_outer中出现一个滚动
    猜你喜欢
    • 2019-07-14
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-07-27
    • 1970-01-01
    • 2015-02-15
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多