2016 年 6 月 16 日

object-fit: 方便的图片居中方法

今天在项目中遇到图片居中的问题,嗯,之前也有写过解决这个问题的文章,有n种方法。不过今天要说一个新的方案:object-fit ,嗯,这个才是真的方便的方案啊。

先看预览:

北京网站建设资讯 - object-fit: 方便的图片居中方法 - (1)

查看详细demo

object-fit 只能用于『可替换元素』(replaced element) 。所谓可替换元素,是指元素的内容和表现不是由CSS控制的,独立渲染的外部元素,比如: imgobjectvideo 和 表单元素,如textareainputaudiocanvas在一些特殊情况下,也可以作为可替换元素。

在使用 object-fit 时,一定要设定元素的size,也就是 widthheight

直入正题,object-fit 有五个可选值,分别是:

  • fill 默认值。填充,可替换元素填满整个内容区域,可能会改变长宽比。
  • contain 包含,保持长宽比,保证可替换元素完整显示,长宽比和内容区域的长宽比不一致时,内容区域会出现空白。
  • cover 覆盖,保持长宽比,保证内容区域被填满,所以可替换元素可能会被切掉一部分,从而不能完整展示。
  • none 顾名思义,就是什么都没有啦,当然不是什么都没有啦,而且千万不要以为和fill是一样的!实际效果是,保持可替换元素原尺寸和比例。
  • scale-down 等比缩小。效果类似 containnone

用法也超级简单:

.cover{
    object-fit: cover;
}
.contain{
    object-fit: contain;
}
.fill{
    object-fit: fill;
}
.scale-down{
    object-fit: scale-down;
}

one more thing

object-position

当元素被 object-fit 裁切的时候,你一定想知道如何控制裁切的位置。 嗯,顾名思义, object-position 就是为了解决这个问题的。

不过,object-position 不难理解,类似 background-position,不多说了。

浏览器兼容性

  • IE 全家不支持,包括最新的 EDGE
  • android 4.4.4+ 支持,Chrome 29+ 支持
  • Safari 7.1+ 和 iOS 8+ 支持 object-fit,不支持object-position

最新文章

  1. 网站优化效果不明显是为什么?可能是这些原因!
  2. 网站建设的过程中需要注意哪些方面的问题?
  3. 怎样判断网站优化是不是过度?
  4. 初学者在进行网站优化的时候需要注意什么
  5. 进行网站优化这6个小技巧一定要掌握
  6. 网站设计如何避免过度以及如何促进动画交互?
  7. 定制型网站建设为什么大受欢迎?费用包括哪些?
  8. 企业网站要如何才能做好优化工作?
  9. 网站设计如何才能得到用户的认可?
  10. 网站制作的主要组成部分及要考虑的要素