Div仍有高度:0px

时间:2015-07-14 15:17:34

标签: html css

我有一个包含内容的div,但它仍然有height:0px;,在示例中您可以看到" index-slideshow"有height:0px;我需要"职位:绝对;"因为jQuery幻灯片显示的照片必须一个在另一个之上。

这个div有内容,但没有任何高度。问题是什么?

JSFIDDLE DEMO



#index-slideshow {
  margin: 0px;
  position: relative;
  width: 100%;
  padding: 0px;
  max-width: 100%;
  box-sizing: border-box;
  z-index: -1;
}
#index-slideshow > img {
  position: absolute;
  top: 0px;
  left: 0px;
  width: 100%;
  max-width: 100%;
  margin: auto;
  box-sizing: border-box;
}
.wrap {
  margin: 0 auto;
  width: 950px;
  max-width: 93%;
  border: 0px;
  padding: 0px 10px 10px 10px;
  background-color: blue;
  color: white;
}

<div id="index-slideshow">
  <img src="http://lorempixel.com/400/200">
  <img src="http://lorempixel.com/g/400/200">
</div>
<div class="wrap">
  <p>Lorem ipsum dolor sit amet, consectetur adipiscing elit. Pellentesque suscipit magna ...

  </p>
</div>
&#13;
&#13;
&#13;

3 个答案:

答案 0 :(得分:1)

这是因为<div>内的两个图片都有position: absolute;。绝对定位的元素不会占用空间。

请在此处查看此示例:

&#13;
&#13;
.border {border: 1px solid #999; margin-bottom: 100px;}
.abs {position: absolute; height: 50px; width: 50px; background-color: #ccc;}
&#13;
<div class="border">
  <div class="abs">I am absolute!</div>
</div>
<div class="border">
  Hi
  <div class="abs">I am absolute!</div>
</div>
&#13;
&#13;
&#13;

使用CSS计算绝对定位元素的高度是不可能的,因为它们不在布局中。

将图片的position设为static或提供min-height

答案 1 :(得分:0)

你的图像div在你的包裹div上。

尝试以下方法之一:

卸下:

position: relative;

JSFiddle是here

或者
删除:

z-index: -1;

JSFiddle是here

答案 2 :(得分:0)

position: absolute;更改为position: relativeLike this.

#index-slideshow > img {
position: relative;
top: 0px;
left: 0px;
width:100%;
max-width:100%;
margin:auto;
box-sizing:border-box;

}

原因是当元素定位时元素将会正常流动。例如固定,绝对。 Out正常流意味着元素不会在页面中占用任何空间,但仍然可见。