CSS: How to force background image to stretch/compress to fit div, without keeping aspect ratio

后端 未结 3 1445
梦毁少年i
梦毁少年i 2021-01-21 01:43

I\'m having a frustrating issue, and would love some help.

I\'ve written a script to allow me to resize a div on screen for an application I\'m building for a client, b

相关标签:
3条回答
  • 2021-01-21 02:17

    In CSS, the background-size property can transform the way the background image proportions itself to the element.

    background-size: cover
    

    Edit:

    If you want to keep the structure, you can use CSS object-fit properties https://developer.mozilla.org/en-US/docs/Web/CSS/object-fit

    0 讨论(0)
  • 2021-01-21 02:19

    You can use background-size: 100% 100% for this:

    div {
      margin-bottom: 1em;
      width: 300px;
      height: 200px;
      border: 3px solid black;
      background: url(https://unsplash.it/100x100);
      background-repeat: no-repeat;
      background-size: 100% 100%;
    }
    
    div:nth-of-type(2) {
      width: 100px;
      height: 400px;
    }
    
    div:nth-of-type(3) {
      width: 500px;
      height: 200px;
    }
    <div></div>
    <div></div>
    <div></div>

    0 讨论(0)
  • 2021-01-21 02:22

    Here's a re-sizeable example using background:

    div{
      resize:both;
      overflow:hidden;
      width:200px;
      height:300px;
      background:url(https://picsum.photos/200/300)no-repeat 0 0;
      background-size:100% 100%;
    }
    <div></div>

    Here's another using img:

    div{
      resize:both;
      overflow:hidden;
      height:300px;
      width:200px;
    }
    img{
      width:100%;
      height:100%;
    }
    <div>
      <img src="https://picsum.photos/200/300"/>
    </div>

    0 讨论(0)
提交回复
热议问题