Floated div, 100% height

2019-02-19 07:05发布

问题:

t

***** {

    -webkit-tap-highlight-color: rgba(0, 0, 0, 0);
    margin: 0;
    padding: 0;
    list-style: none;
}

#footer-gradient {

    position: relative;
    width: 100%;
    overflow: hidden;
    padding: 0 18px;
    margin-left: -18px;
    background: -moz-linear-gradient(top,  rgba(214,212,200,0.5) 0%, rgba(214,212,200,0.75) 25%, rgba(214,212,200,1) 50%, rgba(214,212,200,0.75) 75%, rgba(214,212,200,0.5) 100%); /* FF3.6+ */
    background: -webkit-gradient(linear, left top, left bottom, color-stop(0%,rgba(214,212,200,0.5)), color-stop(25%,rgba(214,212,200,0.75)), color-stop(50%,rgba(214,212,200,1)), color-stop(75%,rgba(214,212,200,0.75)), color-stop(100%,rgba(214,212,200,0.5))); /* Chrome,Safari4+ */
    background: -webkit-linear-gradient(top,  rgba(214,212,200,0.5) 0%,rgba(214,212,200,0.75) 25%,rgba(214,212,200,1) 50%,rgba(214,212,200,0.75) 75%,rgba(214,212,200,0.5) 100%); /* Chrome10+,Safari5.1+ */
    background: -o-linear-gradient(top,  rgba(214,212,200,0.5) 0%,rgba(214,212,200,0.75) 25%,rgba(214,212,200,1) 50%,rgba(214,212,200,0.75) 75%,rgba(214,212,200,0.5) 100%); /* Opera 11.10+ */
    background: -ms-linear-gradient(top,  rgba(214,212,200,0.5) 0%,rgba(214,212,200,0.75) 25%,rgba(214,212,200,1) 50%,rgba(214,212,200,0.75) 75%,rgba(214,212,200,0.5) 100%); /* IE10+ */
    background: linear-gradient(to bottom,  rgba(214,212,200,0.5) 0%,rgba(214,212,200,0.75) 25%,rgba(214,212,200,1) 50%,rgba(214,212,200,0.75) 75%,rgba(214,212,200,0.5) 100%); /* W3C */
    filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#80d4d2c6', endColorstr='#80d4d2c6',GradientType=0 ); /* IE6-9 */
    -moz-box-shadow:    inset 0 0 98px #a9a798;
    -webkit-box-shadow: inset 0 0 98px #a9a798;
    box-shadow:         inset 0 0 98px #a9a798;

}

.col {

    margin-left: 0;
    float: left;
}

.col:first-child {

    margin-left: 0;
}

.footer {

    width: 33%;
    *width: expression(Math.floor(0.33 * (this.parentNode.offsetWidth - parseFloat(this.parentNode.currentStyle.paddingLeft) - parseFloat(this.parentNode.currentStyle.paddingRight))) + "px");
}

.footer-left {

    background-color: red;
    height: 100% !important;
    min-height: 100% !important;
}

.footer {

    background-color: red;
    height: 100% !important;
    min-height: 100% !important;
}

I would like to make the div.col stretched to 100% height. I've tried few things but none of them fixed the problem. I'm counting on your help.

Thanks in advance !

回答1:

  1. Set the three elements' container (#footer-gradient) display: table
  2. And set the elements themselves (.col) display: table-cell
  3. Remove the floating.
  4. Success.

#footer-gradient {
    display: table;
}
#footer-gradient .col {
    display: table-cell;
    float: none;
}


回答2:

Like this

demo

css

    .footer{
   display:table;
    width:100%;
}
.col1{
    background-color:red;
    display:table-cell;
}
.col2{
    background-color:red;
    display:table-cell;
    padding:0 10px;
}
.col3{
    background-color:red;
    display:table-cell;
}


回答3:

Why dont you use clear:both?

<div id="footer-gradient">
   ...
   <div class="clear"></div>             <!---- Inside footer-gradient div. -->
</div>

Css:

.clear{ clear:both; }


标签: css height