backdrop-filter
===============

A propriedade CSS **`backdrop-filter`** permite que você aplique efeitos gráficos, como desfoque ou mudança de cores, na área ao fundo de um elemento. Como ela se aplica a tudo que fica *atrás* do elemento, é preciso deixá-lo (ou o seu plando de fundo) ao menos parcialmente transparente para poder ver o efeito em ação.


```css
/\* Valor de palavra-chave \*/
backdrop-filter: none;

/\* Filtro com URL para SVG \*/
backdrop-filter: url(commonfilters.svg#filter);

/\* Valores <filter-function> \*/
backdrop-filter: blur(2px);
backdrop-filter: brightness(60%);
backdrop-filter: contrast(40%);
backdrop-filter: drop-shadow(4px 4px 10px blue);
backdrop-filter: grayscale(30%);
backdrop-filter: hue-rotate(120deg);
backdrop-filter: invert(70%);
backdrop-filter: opacity(20%);
backdrop-filter: sepia(90%);
backdrop-filter: saturate(80%);

/\* Vários filtros \*/
backdrop-filter: url(filters.svg#filter) blur(4px) saturate(150%);

/\* Valores globais \*/
backdrop-filter: inherit;
backdrop-filter: initial;
backdrop-filter: unset;
```

Sintaxe
-------

### Valores

`none`

Nenhum filtro é aplicado ao plano de fundo.

`<filter-function-list>`

Uma lista de `<filter-function>` (en-US)s separadas por espaços ou um filtro SVG que será aplicado ao plano de fundo.

Definição formal
----------------

|  |  |
| --- | --- |
| Initial value | `none` |
| Aplica-se a | all elements; In SVG, it applies to container elements excluding the `defs` element and all graphics elements |
| Inherited | não |
| Computed value | as specified |
| Animation type | a filter function list |

### Sintaxe formal
```

backdrop-filter =   
  none                 | (en-US)  
  <filter-value-list>    
  
<filter-value-list> =   
  [ (en-US) <filter-function> | (en-US) <url> ] (en-US)+ (en-US)    
  
<filter-function> =   
  <blur()>         | (en-US)  
  <brightness()>   | (en-US)  
  <contrast()>     | (en-US)  
  <drop-shadow()>  | (en-US)  
  <grayscale()>    | (en-US)  
  <hue-rotate()>   | (en-US)  
  <invert()>       | (en-US)  
  <opacity()>      | (en-US)  
  <sepia()>        | (en-US)  
  <saturate()>       
  
<url> =   
  <url()>  | (en-US)  
  <src()>    
  
<blur()> =   
  blur( <length> (en-US)? (en-US) )    
  
<brightness()> =   
  brightness( [ (en-US) <number> | (en-US) <percentage> (en-US) ] (en-US)? (en-US) )    
  
<contrast()> =   
  contrast( [ (en-US) <number> | (en-US) <percentage> (en-US) ] (en-US)? (en-US) )    
  
<drop-shadow()> =   
  drop-shadow( [ (en-US) <color>? (en-US) && (en-US) <length> (en-US){2,3} (en-US) ] (en-US) )    
  
<grayscale()> =   
  grayscale( [ (en-US) <number> | (en-US) <percentage> (en-US) ] (en-US)? (en-US) )    
  
<hue-rotate()> =   
  hue-rotate( [ (en-US) <angle> (en-US) | (en-US) <zero> ] (en-US)? (en-US) )    
  
<invert()> =   
  invert( [ (en-US) <number> | (en-US) <percentage> (en-US) ] (en-US)? (en-US) )    
  
<opacity()> =   
  opacity( [ (en-US) <number> | (en-US) <percentage> (en-US) ] (en-US)? (en-US) )    
  
<sepia()> =   
  sepia( [ (en-US) <number> | (en-US) <percentage> (en-US) ] (en-US)? (en-US) )    
  
<saturate()> =   
  saturate( [ (en-US) <number> | (en-US) <percentage> (en-US) ] (en-US)? (en-US) )    
  
<url()> =   
  url( <string> (en-US) <url-modifier>\* (en-US) )  | (en-US)  
  <url-token>                        
  
<src()> =   
  src( <string> (en-US) <url-modifier>\* (en-US) )    
  
```

Exemplo
-------

### CSS


```css
.box {
  background-color: rgba(255, 255, 255, 0.3);
  border-radius: 5px;
  font-family: sans-serif;
  text-align: center;
  line-height: 1;
  -webkit-backdrop-filter: blur(10px);
  backdrop-filter: blur(10px);
  max-width: 50%;
  max-height: 50%;
  padding: 20px 40px;
}

html,
body {
  height: 100%;
  width: 100%;
}

body {
  background-image: url(https://picsum.photos/id/1080/6858/4574);
  background-position: center center;
  background-repeat: no-repeat;
  background-size: cover;
}

.container {
  align-items: center;
  display: flex;
  justify-content: center;
  height: 100%;
  width: 100%;
}
```

### HTML


```html
<div class="container">
  <div class="box">
    <p>backdrop-filter: blur(10px)</p>
  </div>
</div>
```

### Resultado

Especificações
--------------

| Specification |
| --- |
| Filter Effects Module Level 2 # BackdropFilterProperty |

Compatibilidade com navegadores
-------------------------------

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

Veja também
-----------

* `filter` (en-US)