zoukankan      html  css  js  c++  java
  • background-size:contain 和cover-----------------------------------------background-attachment

    background-size:contain 和cover

    相同点: 都是将图片以**相同宽高比**缩放以适应整个容器的宽高。

    不同点:
    1.  在no-repeat情况下,如果容器宽高比与图片宽高比不同,

      cover:图片宽高比不变、铺满整个容器的宽高,而图片多出的部分则会被截掉;(图片不完整)

      contain:图片自身的宽高比不变,缩放至图片自身能完全显示出来,所以容器会有留白区域;(图片是完整的)


    2.  在repeat情况下:cover:与上述相同;contain:容器内至少有一张完整的图,容器留白区域则平铺背景图,铺不下的再裁掉。

    兼容问题:(ie7)

    在css中添加:

     filter: progid:DXImageTransform.Microsoft.AlphaImageLoader(src='../img/justice.jpg',sizingMethod='scale');

    参数解释:

    src="图片路径",可以是相对,也可以是绝对;

    sizingMethod:“scale|crop(修剪)|image” 可选项。字符串(String)。设置或检索滤镜作用的对象的图片在对象容器边界内的显示方式。

       crop:剪切图片以适应对象尺寸。 
      image:默认值。增大或减小对象的尺寸边界以适应图片的尺寸。 
      scale:缩放图片以适应对象的尺寸边界。

    *:如果设置了background-attachment:fixed;会是background-size属性失效

      background-attachment:设置背景图像是否固定或者随着页面的其余部分滚动

    取值:

    scroll:默认值,背景随页面滚动而移动,即背景和内容绑定。

               设置background-attachment:scroll,背景图是相对于元素自身固定,内容动时背景图也动。附加到元素的border。

               注意:对于可以滚动的元素(设置为overflow:scroll的元素)。当background-attachment设置为scroll时,背景图不会随元素内容的滚动而滚动。

    fixed:背景图相对于视口固定,所以随页面滚动背景不动,相当于背景被设置在了body上。

            (背景图片相对于视口固定,就算元素有了滚动条,背景图也不随内容移动。)

    local:背景图相对于元素内容固定,背景图片随滚动元素滚动

              因为背景图是相对于元素自身内容定位,开始固定,元素出现滚动条后背景图随内容而滚动。

              对于可以滚动的元素(设置为overflow:scroll的元素),设置background-attachment:local,则背景会随内容的滚动而滚动。

    inhert:继承父元素

    该属性可以应用于任何元素。

    也可以为多个背景图设置background-attachment

    body {  background-image: url("img1.png"), url("img2.png");  background-attachment: scroll, fixed;}

     

  • 相关阅读:
    React Native 使用 react-native-webview 渲染 HTML
    如何对 React 函数式组件进行优化?
    如何在前端中使用protobuf?
    Grunt之预处理
    基于Hooks 的 Redux 速成课
    AssemblyScript 入门指南
    webpack常用构建优化总览
    如何在前端中使用protobuf(node篇)
    哪种编程语言最适合区块链?
    hdu 相遇周期
  • 原文地址:https://www.cnblogs.com/luxiaoxiao/p/6400233.html
Copyright © 2011-2022 走看看