这是div结构:

<div id="wrapper">
    <div class="mainG mainGT">
        <div class="rawV">
            <div class="svs"></div>
            <div class="drgM"></div>
        </div>
    </div>
</div>


我正在将外部图像加载到drgM中。现在,我需要div svs的大小与drgM相同(高度和宽度)。因此,我将drgMsvs都包装在rawV中。我的问题是,如何使svs始终与drgM相同?因此,基本上,如果mainGT的高度发生变化,drgMsvs应该按比例缩放以保持其长宽比吗?

这是包含CSS的Fiddle

最佳答案

这可能接近您的需求。如果更改.mainG的宽度,则图像和覆盖层(.svs)将相应缩放。

可能可以通过更改高度来缩放,如果这很关键,请告诉我。



.wrapper {
  border: 1px dotted green;
}
.mainG {
  border: 1px solid yellow;
  width: 400px;
}
.rawV {
  border: 1px dotted blue;
  position: relative;
  display: inline-block;
  vertical-align: top;
  width: 100%;
}
.drgM img {
  display: block;
  width: 100%;
}
.svs {
  position: absolute;
  left: 0;
  right: 0;
  top: 0;
  bottom: 0;
  border: 1px dashed red;
}

<div class="wrapper">
    <div class="mainG mainGT">
        <div class="rawV">
            <div class="svs"></div>
            <div class="drgM"><img src="http://placehold.it/200x150"></div>
        </div>
    </div>
</div>

07-27 13:22