视频1 视频21 视频41 视频61 视频文章1 视频文章21 视频文章41 视频文章61 推荐1 推荐3 推荐5 推荐7 推荐9 推荐11 推荐13 推荐15 推荐17 推荐19 推荐21 推荐23 推荐25 推荐27 推荐29 推荐31 推荐33 推荐35 推荐37 推荐39 推荐41 推荐43 推荐45 推荐47 推荐49 关键词1 关键词101 关键词201 关键词301 关键词401 关键词501 关键词601 关键词701 关键词801 关键词901 关键词1001 关键词1101 关键词1201 关键词1301 关键词1401 关键词1501 关键词1601 关键词1701 关键词1801 关键词1901 视频扩展1 视频扩展6 视频扩展11 视频扩展16 文章1 文章201 文章401 文章601 文章801 文章1001 资讯1 资讯501 资讯1001 资讯1501 标签1 标签501 标签1001 关键词1 关键词501 关键词1001 关键词1501 专题2001
object-fit:炒鸡方便的图片居中方法_html/css_WEB-ITnose
2020-11-27 16:29:20 责编:小采
文档

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

先看预览:

查看详细demo

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

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

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

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

    .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
  • 囧~~,写完了才发现大神 张鑫旭之前写过一篇 。。

    下载本文
    显示全文
    专题