css 保持宽高比缩放

原文链接: css 保持宽高比缩放

上一篇: 使用生成器模拟时间分片

下一篇: 使用DllPlugin 提取公用库

参考

关于html:用CSS保持div的宽高比

需求简介:

在大的div中放九个小div, 小div需要保持4:3的宽高比, 小div中会有图片, 图片按照4:3拉伸

下图效果是div1:1 , 图片宽度100%, 高度自适应

up-e5ece2e80ba83b74a3abf8451b2db555f9e.png

思路

1, 使用padding-bottom / padding-top 计算值时使用父元素的宽度来生成宽高比固定的div, 但此时该div高度为0

描述
length 规定以具体单位计的固定的下内边距值,比如像素、厘米等。默认值是 0px。
% 定义基于父元素宽度的百分比下内边距。此值不会如预期地那样工作于所有的浏览器中。
inherit

规定应该从父元素继承下内边距。

2, 使用绝对定位拉伸子元素宽高

3, 对于图片进行拉伸

<template>
  <div class="box-wrap">
    <div v-for="i in 9" class="box">
      <div class="img-wrap">
        <img src="./img.jpg" alt="" class="img">
      </div>
    </div>
  </div>
</template>

<script>
  export default {
    name: "app"
  }
</script>

<style scoped>
  .box-wrap {
    border: 1px solid black;
    margin: auto;
    display: flex;
    height: 60vh;
    width: 40vw;
    flex-wrap: wrap;
    padding: 2px;
    box-sizing: border-box;
    justify-content: center;
    align-items: center;
  }

  .box {
    width: 30%;
    height: 0;
    padding-bottom: 30%;
    box-sizing: border-box;
    margin: 2px;
    background: gray;
    position: relative;
  }

  .img-wrap{
    position: absolute;
    left: 0;
    right: 0;
    top:0;
    bottom: 0;
    display: flex;
    justify-content: center;
    align-items: center;

  }
  .img {
    width: 100%;
    margin: auto;
  }

</style>

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值