object-fit,overscroll-behavior

131 阅读2分钟

object-fit

它指定元素的内容应该如何去适应指定容器的高度与宽度。一般用于图片和视频标签,对这些标签内容进行原始内容比例的裁切和拉伸,缩放。它的属性值和background-size类似。

object-fit: fill|contain|cover|scale-down|none|initial|inherit;

fill也是默认值,他会让使得原图片无法保持原有比例

描述
fill默认,不保证保持原有的比例,内容拉伸填充整个内容容器。
contain保持原有尺寸比例。内容被缩放。
cover保持原有尺寸比例。但部分内容可能被剪切。
none保留原有元素内容的长度和宽度,也就是说内容不会被重置。
scale-down保持原有尺寸比例。内容的尺寸与 none 或 contain 中的一个相同,取决于它们两个之间谁得到的对象尺寸会更小一些。
initial设置为默认值,关于initial
inherit从该元素的父元素继承属性。 关于inherit
image.png

可看具体效果,img标签是100*200的

兼容性

对ie不太兼容,但是在github有对应的polyfill

overscroll-behavior

css3的新属性,由于不太使用,所以不太熟悉,今天来看一下,它是控制默认滚动链(scroll chaining)行为的属性方法。一般见于移动端

overscroll-behavior: auto|contain|none
  1. auto - 默认。元素的滚动会传播给祖先元素。
  2. contain - 阻止滚动链接。滚动不会传播给祖先,但会显示元素内的原生效果。例如,Android 上的炫光效果或 iOS 上的回弹效果,当用户触摸滚动边界时会通知用户。注意:overscroll-behavior: contain 在 html 元素上使用可防止滚动导航操作
  3. none - 和 contain 一样,但它也可以防止节点本身的滚动效果(例如 Android 炫光或 iOS 回弹)。## scroll chaining 当滚动一个元素到底时,继续往下滚,此时我们期望是不再滚动,但是浏览器默认会让我们滚动元素之外或者上层的元素,这就是滚动链接

用途

  1. 去除移动端讨厌的容器自带回弹效果
  2. 防止滚动链接​ 参考: css3 object-fit详解 菜鸟教程 overscroll-behavior详解