object-fit
==========

La propiedad CSS **`object-fit`** indica cómo el contenido de un elemento reemplazado, por ejemplo un `<img>` o `<video>`, debería redimensionarse para ajustarse a su contenedor.

Se puede alterar la alineación del contenido del elemento reemplazado utilizando la propiedad `object-position`.

Pruébalo
--------

Sintaxis
--------

La propiedad `object-fit` se especifica con una de las palabras claves elegidas de la siguiente lista de valores.

### Valores

`contain`

El contenido reemplazado está dimensionado para mantener su relación de aspecto mientras se ajusta dentro del cuadro de contenido del elemento: su tamaño de objeto concreto se resuelve como una restricción de contenido contra el ancho y la altura utilizados del elemento.

`cover`

El contenido reemplazado se dimensiona para mantener su relación de aspecto mientras llena el cuadro de contenido completo del elemento. Si la relación de aspecto del objeto no coincide con la relación de aspecto de su caja, entonces el objeto se recortará para que se ajuste.

`fill`

Modifica el tamaño del elemento remplazado para llenar el cuadro de contenido. El objeto completo ocupará todo el espacio de la caja. Si el tamaño del elemento no concuerda con el de su caja, se estirará para llenarlo.

`none`

El contenido reemplazado no se redimensiona.

`scale-down`

El contenido se dimensiona como si `none` o `contain` estuvieran especificados, lo que resultaría en un tamaño de objeto concreto más pequeño.

### Sintaxis formal
```

object-fit =   
  fill        |  
  contain     |  
  cover       |  
  none        |  
  scale-down    
  
```

Ejemplo
-------

### HTML


```html
<section>
  <h2>object-fit: fill</h2>
  <img class="fill" src="mdn\_logo\_only\_color.png" alt="MDN Logo" />

  <img class="fill narrow" src="mdn\_logo\_only\_color.png" alt="MDN Logo" />

  <h2>object-fit: contain</h2>
  <img class="contain" src="mdn\_logo\_only\_color.png" alt="MDN Logo" />

  <img class="contain narrow" src="mdn\_logo\_only\_color.png" alt="MDN Logo" />

  <h2>object-fit: cover</h2>
  <img class="cover" src="mdn\_logo\_only\_color.png" alt="MDN Logo" />

  <img class="cover narrow" src="mdn\_logo\_only\_color.png" alt="MDN Logo" />

  <h2>object-fit: none</h2>
  <img class="none" src="mdn\_logo\_only\_color.png" alt="MDN Logo" />

  <img class="none narrow" src="mdn\_logo\_only\_color.png" alt="MDN Logo" />

  <h2>object-fit: scale-down</h2>
  <img class="scale-down" src="mdn\_logo\_only\_color.png" alt="MDN Logo" />

  <img class="scale-down narrow" src="mdn\_logo\_only\_color.png" alt="MDN Logo" />
</section>
```

### CSS


```css
h2 {
  font-family:
    Courier New,
    monospace;
  font-size: 1em;
  margin: 1em 0 0.3em;
}

div {
  display: flex;
  flex-direction: column;
  flex-wrap: wrap;
  align-items: flex-start;
  height: 940px;
}

img {
  width: 150px;
  height: 100px;
  border: 1px solid #000;
}

.narrow {
  width: 100px;
  height: 150px;
  margin-top: 10px;
}

.fill {
  object-fit: fill;
}

.contain {
  object-fit: contain;
}

.cover {
  object-fit: cover;
}

.none {
  object-fit: none;
}

.scale-down {
  object-fit: scale-down;
}
```

### Resultado

Especificaciones
----------------

| Specification |
| --- |
| CSS Images Module Level 3 # the-object-fit |

Compatibilidad con navegadores
------------------------------

BCD tables only load in the browser with JavaScript enabled. Enable JavaScript to view data.

Ver también
-----------

* Otras propiedades CSS relacionadas con imágenes: `object-position`, `image-orientation` (en-US), `image-rendering`, `image-resolution` (en-US).
* `background-size`