拉伸侧边栏至100%高度

时间:2015-05-19 01:39:40

标签: html css height stretch

如果没有指定父高度,如何将侧边栏div拉伸到100%高度?

不能使用父高度的原因是内容区域是动态的。使用高度只会剪切我的div内容。

这是我做的:

.left {
  width: 70%;
  float: right;
  background: green;
  padding-right:5px;
  box-sizing: border-box;
}

.right {
  width: 30%;
  float: right;
  background: yellow;
  height:100%;/*doesn't stretch*/
}

http://codepen.io/vincentccw/pen/mJEKZe

5 个答案:

答案 0 :(得分:1)

您可以将left和right的父级设置为position:relative,并将右侧元素设置为absolute absolute。

.outer {
    position: relative;
    ...
}
.right {
    position: absolute;
    right: 0;
    top: 0;
    height: 100%;
    right: 30%;
    background: yellow;
}
.left {
    width: 70%;
    background: green;
    padding-right:5px;
    box-sizing: border-box;
}

jsfiddle:http://jsfiddle.net/zhouxiaoping/jnde5eod/ 你可以详细修改它,我希望它可以帮到你。

答案 1 :(得分:1)

我有你需要的jQuery解决方案。获取左侧容器的outerHeight并将其作为正确容器的CSS height传递。

试试这个fiddle

jQuery的:

$(document).ready(function(){
    var mainH = $('.left').outerHeight();

    $('.right').css("height" , mainH);
});

希望这会有所帮助:)快乐编码。

答案 2 :(得分:0)

https://css-tricks.com/fluid-width-equal-height-columns/

我建议您查看这些技巧是否适合您。

答案 3 :(得分:0)

如果.left.right都是内容div的子元素,并且它们的高度设置为100%或任何百分比,那么无论父元素是什么,它们的高度都是相等的高度是。它可以是动态的,没有任何问题。

答案 4 :(得分:0)

根据您的要求,您可以使用position: fixed

.right {
    background: yellow;
    bottom: 0;
    position: fixed;
    right: 0;
    top: 0;
    width: 30%; /* Was this supposed to be width: 30%? (right was defined twice) */
}