强制图像div容器在自定义图像框布局内拉伸

时间:2015-10-14 07:27:01

标签: javascript html css

我开发了自定义图像框html控件,其中包含图像区域以及位于主图像底部,顶部,左侧或右侧的小图像缩略图集合。 问题是主图像div容器没有拉伸以填充主框架div中的剩余区域。

这是我的代码

.wvIBoxFrameDiv {
    width: 300px;
    height: 300px;
    background: red;
 }

.wvIBoxMainImageDiv {
    background: green;
}

.wvIBoxThumbContainerDiv{
    background: black;
    overflow: hidden; 
    white-space: nowrap;
}

.wvIBoxThumbImagesContainerDiv{
    background: blue; 
    display: inline-block; 
}

.wvIBoxThumbNavigationDiv{
    background: purple;
    display: inline-block;
    height: 30px;
    width: 30px;
}

.wvIBoxThumbImageDiv{
    background: orange;  
    display: inline-block;
    height: 40px;
    width: 40px;
}
<div class="wvIBoxFrameDiv">
    <div class="wvIBoxMainImageDiv">
    </div>
    <div class="wvIBoxThumbContainerDiv">
        <div class="wvIBoxThumbNavigationDiv"></div>
        <div class="wvIBoxThumbImagesContainerDiv">
            <div class="wvIBoxThumbImageDiv"></div>
            <div class="wvIBoxThumbImageDiv"></div>
            <div class="wvIBoxThumbImageDiv"></div>
            <div class="wvIBoxThumbImageDiv"></div>
            <div class="wvIBoxThumbImageDiv"></div>
            <div class="wvIBoxThumbImageDiv"></div>
        </div>
        <div class="wvIBoxThumbNavigationDiv"></div>
    </div>
</div>

这里我需要将缩略图div容器(带黑色背景)放置在主(红色)框架div的底部,而主要图像div(带绿色背景)应拉伸以填充剩余区域。

我做错了什么?

2 个答案:

答案 0 :(得分:2)

heightwidth作为100%提交给.wvIBoxMainImageDiv

&#13;
&#13;
.wvIBoxFrameDiv {
    width: 300px;
    height: 300px;
    background: red;
 }

.wvIBoxMainImageDiv {
    background: green;
    height:100%; /*this here*/
    width:100%; /*and here*/
}

.wvIBoxThumbContainerDiv{
    background: black;
    overflow: hidden; 
    white-space: nowrap;
}

.wvIBoxThumbImagesContainerDiv{
    background: blue; 
    display: inline-block; 
}

.wvIBoxThumbNavigationDiv{
    background: purple;
    display: inline-block;
    height: 30px;
    width: 30px;
}

.wvIBoxThumbImageDiv{
    background: orange;  
    display: inline-block;
    height: 40px;
    width: 40px;
}
&#13;
<div class="wvIBoxFrameDiv">
    <div class="wvIBoxMainImageDiv">
    </div>
    <div class="wvIBoxThumbContainerDiv">
        <div class="wvIBoxThumbNavigationDiv"></div>
        <div class="wvIBoxThumbImagesContainerDiv">
            <div class="wvIBoxThumbImageDiv"></div>
            <div class="wvIBoxThumbImageDiv"></div>
            <div class="wvIBoxThumbImageDiv"></div>
            <div class="wvIBoxThumbImageDiv"></div>
            <div class="wvIBoxThumbImageDiv"></div>
            <div class="wvIBoxThumbImageDiv"></div>
        </div>
        <div class="wvIBoxThumbNavigationDiv"></div>
    </div>
</div>
&#13;
&#13;
&#13;

答案 1 :(得分:0)

你也可以使用flex,(使用自动前缀):

<div class="fullGallery">
  <div class="mainImage">
  </div>
  <div class="bottomImages">
    <div class="navigationButton">
    </div>
    <div class="imageContainer">
      <div class="oneImage"></div>
      <div class="oneImage"></div>
      <div class="oneImage"></div>
    </div>
    <div class="navigationButton">
    </div>
  </div>
</div>


.fullGallery {
  width: 300px;
  height: 300px;
  background-color: red;
  display: flex;
  flex-direction: column;
}
.mainImage {
  width: 100%;
  flex: 1;
  background-color: yellow;
}
.bottomImages {
  width: 100%;
  height: 70px;
  background-color: green;
  display: flex;
}
.navigationButton {
  width: 40px;
  height: 100%;
  background-color: pink;
}
.imageContainer {
  flex: 1;
  display: flex;
  justify-content: space-around;
}

.oneImage {
  background-color: blue;
  width: 26%;
}

http://codepen.io/anon/pen/JYrdQJ

我更喜欢