如何使子div占用父div高度

时间:2013-10-07 12:14:07

标签: html css

我想知道子div如何占用父div高度。

以下代码是我的html:

<div class="container">
        <div class="header width100p">
            <h2>
                Header
            </h2>
        </div>
        <div class="content width100p">
            <div class="width29p npv">
                <div class="width100p inner">

                        <p>
                            navigation
                        </p>
                        <p>
                            Lorem Ipsum is simply dummy text of the printing and typesetting industry. Lorem Ipsum has been the industry's standard dummy text ever since the 1500s
                        </p>

                </div>

            </div>
            <div class="rtb">
                <div class="width100p ql">
                    <p>
                        div one
                    </p>
                    <p>
                        Lorem Ipsum is simply dummy text of the printing and typesetting industry. Lorem Ipsum has been the industry's standard dummy text ever since the 1500s
                    </p>
                </div>
                <div class="width100p mtbs">
                    <p>
                        div two
                    </p>
                    <p>
                        Lorem Ipsum is simply dummy text of the printing and typesetting industry. Lorem Ipsum has been the industry's standard dummy text ever since the 1500s
                    </p>
                </div>
                <div class="floatL width100p widdiv">
                    <div class="floatL width100p">
                        <div class="floatL width40p incont">
                            <p>
                            Lorem Ipsum is simply dummy text of the printing and typesetting industry. Lorem Ipsum has been the     industry's standard dummy text ever since the 1500s
                            </p>
                            <p>
                            Lorem Ipsum is simply dummy text of the printing and typesetting industry. Lorem Ipsum has been the     industry's standard dummy text ever since the 1500s
                            </p>
                            <p>
                            Lorem Ipsum is simply dummy text of the printing and typesetting industry. Lorem Ipsum has been the     industry's standard dummy text ever since the 1500s
                            </p>
                            <p>
                            Lorem Ipsum is simply dummy text of the printing and typesetting industry. Lorem Ipsum has been the     industry's standard dummy text ever since the 1500s
                            </p>
                        </div>
                        <div class="floatL width40p incont">
                            <p>
                            Lorem Ipsum is simply dummy text of the printing and typesetting industry. Lorem Ipsum has been the     industry's standard dummy text ever since the 1500s
                            </p>
                        </div>
                    </div>
                    <div class="floatL width100p">
                        <div class="floatL width40p incont">
                            <p>
                            Lorem Ipsum is simply dummy text of the printing and typesetting industry. Lorem Ipsum has been the     industry's standard dummy text ever since the 1500s
                            </p>
                        </div>

                        <div class="floatL width40p incont">
                            <p>
                            Lorem Ipsum is simply dummy text of the printing and typesetting industry. Lorem Ipsum has been the     industry's standard dummy text ever since the 1500s
                            </p>
                            <p>
                            Lorem Ipsum is simply dummy text of the printing and typesetting industry. Lorem Ipsum has been the     industry's standard dummy text ever since the 1500s
                            </p>
                            <p>
                            Lorem Ipsum is simply dummy text of the printing and typesetting industry. Lorem Ipsum has been the     industry's standard dummy text ever since the 1500s
                            </p>
                            <p>
                            Lorem Ipsum is simply dummy text of the printing and typesetting industry. Lorem Ipsum has been the     industry's standard dummy text ever since the 1500s
                            </p>
                        </div>

                    </div>
                </div>
                <div class="clear"></div>
            </div>


        </div>
        <div class="footer width100p">
            <h2>
                Footer
            </h2>
        </div>

    </div>

各自的风格是:

<style>
        *,html{
            margin: 0;
            padding: 0;
        }
        html{
            height: 100%;
        }
        .container{
            width:960px;
            margin:20px auto;
        }
        .header h2,.footer h2{
            text-align: center;
        }
        .floatL{
            float: left;
        }
        .floatR{
            float: right;
        }
        .clear{
            clear:both;
        }
        .width100p{
            width: 100%;
        }
        .width29p{
            width: 29%;
        }
        .width70p{
            width: 70.8%;

        }
        .header,.footer,.content{
            border:1px solid #000;
        }
        .npv{
            border-right: 1px solid #000;


        }
        .ql,.mtbs{
            border-bottom: 1px solid #000;
        }
        .content{
            display: table;


        }
        .npv, .rtb{
            display: table-cell; 



        }
        .width40p{
            width: 40%;
        }

        .incont{
            margin: 4%;
            background: #ccc;
            border:1px solid red;

        }

    </style>

我想知道(.inner)子div如何占据其父div(.npv)的高度。 我已经尝试应用高度:100%!重要的.inner和.npv但仍然无法解决子div占用父div高度的问题。 占领问题

3 个答案:

答案 0 :(得分:1)

标记

<html>
  <body>
    <div class="outer">
      <div class="inner">
    </div>
  </body>
</html>

css

html, body {
  height: 100%;
width: 100%;
}
    .outer {
       height: 100%; // or set height and width in pixels
       width: 100%;
    }

    .outer .inner {
       height: 100%;
       width: 100%;
    }

对于工作的百分比高度,

你需要在其层次结构中设置每个父母的高度。

包括html和body标签。

答案 1 :(得分:0)

将高度和宽度设置为100%:

.width100p{
   height: 100%; // or set height and width in pixels
   width: 100%;
}

.width100p .inner {
   height: 100%;
   width: 100%;
}

或者在html中指定大小,并将其显示为块:

.width100p {
  display:block;
.width100p .inner {
  display:block;
}

答案 2 :(得分:0)

在“Increase the height of a nested(child) div to the occupy the height of its parent div”上有类似的示例,您可以将其用作参考。

建议:
  - 对于父div设置位置:绝对
  - 对于子div设置 position:absolute;身高:100%;
职位:绝对;顶部:0;底部:0;