代码之家  ›  专栏  ›  技术社区  ›  Martin Fric

使用变换时,Div容器仍保持原始图像大小的大小

  •  0
  • Martin Fric  · 技术社区  · 6 年前

    我有以下代码:

    <div style="text-align:center;">
       <img src="http://imgurl" style="transform: scale(0.5);"/>
       <div>img name</div>
    </div>
    

    问题是原始img大小为510x255px;

    变换图像大小调整后,div仍保持510x255。

    如何调整大小?

    谢谢

    1 回复  |  直到 6 年前
        1
  •  1
  •   Temani Afif    6 年前

    如果您的图像定义为固定高度/宽度,您可以尝试以下操作:

    .block {
      display:inline-block;
      vertical-align:top;
      border:1px solid red;
      text-align:center;
    }
    .block img {
      height:calc(200px * var(--s,1));
      width:calc(200px * var(--s,1));
      /*You can keep only one of the above and the other will be auto*/
    }
    <div class="block">
       <img src="https://lorempixel.com/200/200/">
       <div>img name</div>
    </div>
    
    <div class="block">
       <img src="https://lorempixel.com/200/200/" style="--s:0.5">
       <div>img name</div>
    </div>
    
    <div class="block">
       <img src="https://lorempixel.com/200/200/" style="--s:0.2">
       <div>img name</div>
    </div>

    您也可以这样做:

    .block {
      display:inline-block;
      vertical-align:top;
      border:1px solid red;
      text-align:center;
    }
    .block img {
      width:calc(100% * var(--s,1));
    }
    <div class=“block”>
    <img src=”https://lorempixel.com/200/200/“>
    <div>img名称(</div>
    </div>
    
    <div class=“block”>
    <img src=”https://lorempixel.com/200/200/“style=”--s:0.5“>
    <div>img名称(</div>
    </div>
    
    <div class=“block”>
    <img src=”https://lorempixel.com/200/200/“style=”--s:0.2“>
    <div>img名称(</div>
    </div>