img 标签的 object-fit 属性

设置图片固定尺寸后,可以通过 object-fit 属性调整图片展示的形式

object-fit: contain;

  • 图片的长宽比不变,相应调整大小。

object-fit: cover;

  • 当图片的长宽比与容器的长宽比不一致时,会被裁切。

object-fit: fill;

  • 图片不再锁定长宽比,完全适应盒子容易得长宽,被拉抻填充满盒子。

object-fit: none;

  • 以图片原尺寸居中展示到盒子中,不被拉伸压缩。多余部分被剪切。

DEMO 代码

html 复制代码
 <div class="validateForm">
  <el-select v-model="imgObjectFit" placeholder="请选择属性" value-key="key">
    <el-option
      v-for="item in selectDict"
      :key="item.key"
      :label="item.label"
      :value="item"
    >
    </el-option>
  </el-select>
  <p>属性 object-fit: {{ imgObjectFit.label }}</p>
  <div class="imgContainer" :class="'imgContainer' + imgObjectFit.key">
    <img :src="imgSrc" alt="" />
  </div>
  <p>原图</p>
  <img :src="imgSrc" alt="" />
</div>
<script>
export default {
  name: "dataEdit",
  components: {},
  data() {
    return {
      selectDict: [
        { label: "contain", key: 1 },
        { label: "cover", key: 2 },
        { label: "fill", key: 3 },
        { label: "none", key: 4 },
      ],
      imgObjectFit: {},
      imgSrc: require("../../../assets/image/testImg.png"),
    };
  },
  mounted() {},
  methods: {},
};
</script>
<style lang="less" scoped>
.validateForm {
  width: 100%;
  max-width: 800px;
  height: 100%;
  padding: 32px;
  background: #fff;
  .imgContainer {
    width: 200px;
    height: 200px;
    background: #000;
    border: 3px solid red;
    &.imgContainer1 {
      img {
        object-fit: contain;
      }
    }
    &.imgContainer2 {
      img {
        object-fit: cover;
      }
    }
    &.imgContainer3 {
      img {
        object-fit: fill;
      }
    }
    &.imgContainer4 {
      img {
        object-fit: none;
      }
    }
    img {
      width: 100%;
      height: 100%;
    }
  }
}
</style> 
相关推荐
敲敲了个代码1 天前
CSS 像素≠物理像素:0.5px 效果的核心密码是什么?
前端·javascript·css·学习·面试
少云清1 天前
【软件测试】5_基础知识 _CSS
前端·css·tensorflow
西洼工作室2 天前
CSS响应式布局全攻略
前端·css·响应式布局·栅格系统
鹤归时起雾.2 天前
CSS属性继承与元素隐藏全解析
前端·css
合作小小程序员小小店2 天前
web网页开发,在线%物流配送管理%系统,基于Idea,html,css,jQuery,java,ssh,mysql。
java·前端·css·数据库·jdk·html·intellij-idea
华仔啊2 天前
20个CSS实用技巧,10分钟从小白变大神!
前端·css
昔人'2 天前
grid: auto-fit 和 auto-fill区别
css·grid
小白每天学一点2 天前
微信小程序开发学习-8
javascript·css·微信小程序·小程序·html
合作小小程序员小小店2 天前
web网页开发,在线%人力资源管理%系统,基于Idea,html,css,jQuery,java,jsp,ssh,mysql。
java·前端·css·数据库·mysql·html·intellij-idea
这个一个非常哈2 天前
VUE篇之推送+瀑布流
css·vue.js·css3