<?xml version="1.0" encoding="UTF-8"?><rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>Arquivos vidro fosco - Web-Zoneware</title>
	<atom:link href="https://webzoneware.com/tag/vidro-fosco/feed/" rel="self" type="application/rss+xml" />
	<link>https://webzoneware.com/tag/vidro-fosco/</link>
	<description>Mais do que apenas uma academia web.</description>
	<lastBuildDate>Thu, 22 Oct 2026 03:55:12 +0000</lastBuildDate>
	<language>pt-BR</language>
	<sy:updatePeriod>
	hourly	</sy:updatePeriod>
	<sy:updateFrequency>
	1	</sy:updateFrequency>
	

<image>
	<url>https://webzoneware.com/wp-content/uploads/icon-webzoneware-150x150.png</url>
	<title>Arquivos vidro fosco - Web-Zoneware</title>
	<link>https://webzoneware.com/tag/vidro-fosco/</link>
	<width>32</width>
	<height>32</height>
</image> 
	<item>
		<title>Filtros e Glassmorphism Modernos no CSS &#124; Web Academy</title>
		<link>https://webzoneware.com/web-academy/curso-css/filtros-css-backdrop-filter-glassmorphism/</link>
					<comments>https://webzoneware.com/web-academy/curso-css/filtros-css-backdrop-filter-glassmorphism/#respond</comments>
		
		<dc:creator><![CDATA[Web-Zoneware]]></dc:creator>
		<pubDate>Thu, 22 Oct 2026 03:55:12 +0000</pubDate>
				<category><![CDATA[Curso de CSS e CSS3]]></category>
		<category><![CDATA[backdrop-filter]]></category>
		<category><![CDATA[curso css3 completo]]></category>
		<category><![CDATA[design system moderno]]></category>
		<category><![CDATA[filter css]]></category>
		<category><![CDATA[filtros css]]></category>
		<category><![CDATA[glassmorphism]]></category>
		<category><![CDATA[vidro fosco]]></category>
		<guid isPermaLink="false">https://webzoneware.com/?p=29471</guid>

					<description><![CDATA[<p>A estética visual dos sistemas operacionais contemporâneos — como o macOS da Apple e o Windows 11 — é fortemente inspirada no mundo físico: materiais translúcidos, placas de acrílico e vidros foscos que revelam suavemente o que está por trás da interface. No passado, para criar um desfoque realista ou transformar uma imagem em preto [&#8230;]</p>
<p>O post <a href="https://webzoneware.com/web-academy/curso-css/filtros-css-backdrop-filter-glassmorphism/">Filtros e Glassmorphism Modernos no CSS | Web Academy</a> apareceu primeiro em <a href="https://webzoneware.com">Web-Zoneware</a>.</p>
]]></description>
										<content:encoded><![CDATA[<p class="wzw-lesson-lead">
  A estética visual dos sistemas operacionais contemporâneos — como o macOS da Apple e o Windows 11 — é fortemente inspirada no mundo físico: materiais translúcidos, placas de acrílico e vidros foscos que revelam suavemente o que está por trás da interface. No passado, para criar um desfoque realista ou transformar uma imagem em preto e branco, os designers precisavam recorrer a softwares como Photoshop ou Figma e exportar arquivos pesados. Hoje, o CSS possui um motor gráfico de pós-processamento completo com as propriedades <strong><code>filter</code></strong> e <strong><code>backdrop-filter</code></strong>, permitindo criar o famoso efeito <strong>Glassmorphism</strong> nativamente no navegador.
</p>
<h2>1. O Motor de Filtros Gráficos: A Propriedade <code>filter</code></h2>
<p>
  A propriedade <code>filter</code> processa a renderização de pixels do <strong>próprio elemento e de todos os seus filhos</strong>. Ela aceita uma série de funções visuais prontas:
</p>
<div class="wzw-table-responsive">
<table class="wzw-table">
<thead>
<tr>
<th>Função</th>
<th>Valores de Exemplo</th>
<th>Efeito Visual na Interface</th>
</tr>
</thead>
<tbody>
<tr>
<td><strong><code>blur()</code></strong></td>
<td><code>blur(8px)</code></td>
<td>Aplica um desfoque gaussiano suave sobre o elemento.</td>
</tr>
<tr>
<td><strong><code>brightness()</code></strong></td>
<td><code>brightness(1.3)</code> (30% mais claro)</td>
<td>Ajusta o ganho de luz (excelente para acender cards no <code>:hover</code>).</td>
</tr>
<tr>
<td><strong><code>contrast()</code></strong></td>
<td><code>contrast(150%)</code></td>
<td>Aumenta ou reduz a separação entre tons claros e escuros.</td>
</tr>
<tr>
<td><strong><code>grayscale()</code></strong></td>
<td><code>grayscale(100%)</code></td>
<td>Converte a imagem inteiramente para tons de cinza (preto e branco).</td>
</tr>
<tr>
<td><strong><code>drop-shadow()</code></strong></td>
<td><code>drop-shadow(0 4px 12px rgba(0,0,0,0.5))</code></td>
<td><strong>A Sombra com Canal Alfa:</strong> Projeta sombra ao longo do contorno real de PNGs e SVGs!</td>
</tr>
</tbody>
</table>
</div>
<h3>A Diferença Crucial: <code>box-shadow</code> vs. <code>filter: drop-shadow()</code></h3>
<div class="wzw-callout wzw-callout-info">
<p><strong>Dica Sênior de SVG e PNG:</strong> A propriedade <code>box-shadow</code> projeta uma sombra quadrada em torno da caixa física do elemento, mesmo que a imagem seja um círculo ou logotipo transparente. Já o <strong><code>filter: drop-shadow()</code></strong> analisa o canal de transparência (Alpha Channel) da imagem e contorna os traços reais do ícone ou foto recortada!</p>
</div>
<h2>2. <code>filter</code> vs. <code>backdrop-filter</code>: A Fronteira do Vidro</h2>
<p>
  A diferença entre essas duas propriedades é o ponto onde muitos desenvolvedores se perdem:
</p>
<ul>
<li><strong><code>filter</code>:</strong> Borra o próprio elemento e seu texto. Se você aplicar <code>filter: blur(10px)</code> em um card, todo o texto e botões dentro dele ficarão embaçados e impossíveis de ler!</li>
<li><strong><code>backdrop-filter</code>:</strong> Borra <strong>exclusivamente a área gráfica localizada ATRÁS do elemento</strong>! O texto, os botões e a borda da caixa permanecem com 100% de nitidez cristalina.</li>
</ul>
<h2>3. A Receita dos 4 Ingredientes do Glassmorphism Perfeito</h2>
<p>
  Para criar aquele visual futurista de placa de vidro translúcida sobreposta a elementos da página, você precisa combinar exatamente estes 4 passos:
</p>
<div class="wzw-code-wrapper">
    <div class="wzw-ide-card" id="wzw-code-90397" data-lang="css">
        <div class="wzw-ide-header">
            <div class="wzw-ide-dots" aria-hidden="true">
                <span class="wzw-dot wzw-dot-red"></span>
                <span class="wzw-dot wzw-dot-amber"></span>
                <span class="wzw-dot wzw-dot-green"></span>
            </div>
            <div class="wzw-ide-meta">
                <span class="wzw-ide-lang-badge">CSS3</span>
                                <span class="wzw-ide-lines-count">17 linhas</span>
            </div>
            <div class="wzw-ide-actions">
                <button type="button" class="wzw-ide-btn wzw-ide-wrap-btn" onclick="wzwToggleCodeWrap('wzw-code-90397', this)" title="Alternar quebra automática de linhas">
                    ⇄ Wrap
                </button>
                <button type="button" class="wzw-ide-btn wzw-ide-copy-btn" onclick="wzwCopyCodeBlock('wzw-code-90397', this)" aria-label="Copiar código para a área de transferência">
                    📋 <span class="wzw-copy-text">Copiar Código</span>
                </button>
            </div>
        </div>
        <div class="wzw-ide-body">
            <pre class="wzw-ide-pre" tabindex="0"><code class="wzw-ide-code"><span class="wzw-code-line">.card-glassmorphism {</span>
<span class="wzw-code-line">  <span class="wzw-tk-comment">/* 1. Fundo Semitransparente (Nunca use cor 100% sólida!) */</span></span>
<span class="wzw-code-line">  <span class="wzw-tk-attr">background</span>: rgba(255, 255, 255, 0.08);</span>
<span class="wzw-code-line">&nbsp;</span>
<span class="wzw-code-line">  <span class="wzw-tk-comment">/* 2. O Desfoque Gaussiano de Fundo (A magia do vidro fosco) */</span></span>
<span class="wzw-code-line">  <span class="wzw-tk-attr">backdrop-filter</span>: blur(<span class="wzw-tk-num">16px</span>);</span>
<span class="wzw-code-line">  <span class="wzw-tk-attr">-webkit-backdrop-filter</span>: blur(<span class="wzw-tk-num">16px</span>); /* Fallback para Safari antigo */</span>
<span class="wzw-code-line">&nbsp;</span>
<span class="wzw-code-line">  <span class="wzw-tk-comment">/* 3. Borda Translúcida (Simula o corte e bisel da quina do vidro) */</span></span>
<span class="wzw-code-line">  <span class="wzw-tk-attr">border</span>: <span class="wzw-tk-num">1px</span> solid rgba(255, 255, 255, 0.18);</span>
<span class="wzw-code-line">&nbsp;</span>
<span class="wzw-code-line">  <span class="wzw-tk-comment">/* 4. Sombra de Difusão Atmosférica Profunda */</span></span>
<span class="wzw-code-line">  <span class="wzw-tk-attr">box-shadow</span>: 0 <span class="wzw-tk-num">8px</span> <span class="wzw-tk-num">32px</span> 0 rgba(0, 0, 0, 0.37);</span>
<span class="wzw-code-line">&nbsp;</span>
<span class="wzw-code-line">  <span class="wzw-tk-attr">border-radius</span>: <span class="wzw-tk-num">16px</span>;</span>
<span class="wzw-code-line">  <span class="wzw-tk-attr">padding</span>: <span class="wzw-tk-num">24px</span>;</span>
<span class="wzw-code-line">}</span>
</code></pre>
            <textarea class="wzw-ide-raw" aria-hidden="true" tabindex="-1" readonly>.card-glassmorphism {
  /* 1. Fundo Semitransparente (Nunca use cor 100% sólida!) */
  background: rgba(255, 255, 255, 0.08);

  /* 2. O Desfoque Gaussiano de Fundo (A magia do vidro fosco) */
  backdrop-filter: blur(16px);
  -webkit-backdrop-filter: blur(16px); /* Fallback para Safari antigo */

  /* 3. Borda Translúcida (Simula o corte e bisel da quina do vidro) */
  border: 1px solid rgba(255, 255, 255, 0.18);

  /* 4. Sombra de Difusão Atmosférica Profunda */
  box-shadow: 0 8px 32px 0 rgba(0, 0, 0, 0.37);

  border-radius: 16px;
  padding: 24px;
}</textarea>
        </div>
    </div>
    
</div>
<h2>4. Acessibilidade e Contraste Legível (WCAG 2.2)</h2>
<div class="wzw-callout wzw-callout-warning">
<p><strong>O Perigo do Vidro Ilegível:</strong> O maior pecado do Glassmorphism é colocar um fundo translúcido quase invisível sobre um fundo cheio de detalhes coloridos, tornando o texto branco impossível de ser lido por pessoas com baixa acuidade visual. Para estar em conformidade com o Critério 1.4.3 da WCAG (Contraste Mínimo de 4.5:1):</p>
<ul>
<li>Mantenha a opacidade da cor de fundo (RGBA) entre <strong>15% e 25%</strong>.</li>
<li>Use sombras sutis no texto: <code>text-shadow: 0 2px 4px rgba(0,0,0,0.5);</code> para garantir contraste mesmo se o fundo de trás mudar de cor.</li>
</ul>
</div>
<h2>5. Suporte Defensivo com <code>@supports</code></h2>
<p>
  Dispositivos antigos ou navegadores operando em modo de economia de energia podem desativar o <code>backdrop-filter</code>. Garantimos a legibilidade com a regra-arroba <code>@supports</code>:
</p>
<div class="wzw-code-wrapper">
    <div class="wzw-ide-card" id="wzw-code-90273" data-lang="css">
        <div class="wzw-ide-header">
            <div class="wzw-ide-dots" aria-hidden="true">
                <span class="wzw-dot wzw-dot-red"></span>
                <span class="wzw-dot wzw-dot-amber"></span>
                <span class="wzw-dot wzw-dot-green"></span>
            </div>
            <div class="wzw-ide-meta">
                <span class="wzw-ide-lang-badge">CSS3</span>
                                <span class="wzw-ide-lines-count">13 linhas</span>
            </div>
            <div class="wzw-ide-actions">
                <button type="button" class="wzw-ide-btn wzw-ide-wrap-btn" onclick="wzwToggleCodeWrap('wzw-code-90273', this)" title="Alternar quebra automática de linhas">
                    ⇄ Wrap
                </button>
                <button type="button" class="wzw-ide-btn wzw-ide-copy-btn" onclick="wzwCopyCodeBlock('wzw-code-90273', this)" aria-label="Copiar código para a área de transferência">
                    📋 <span class="wzw-copy-text">Copiar Código</span>
                </button>
            </div>
        </div>
        <div class="wzw-ide-body">
            <pre class="wzw-ide-pre" tabindex="0"><code class="wzw-ide-code"><span class="wzw-code-line"><span class="wzw-tk-comment">/* Fallback padrão para navegadores sem suporte a blur */</span></span>
<span class="wzw-code-line">.card-glass {</span>
<span class="wzw-code-line">  <span class="wzw-tk-attr">background</span>: <span class="wzw-tk-num">#1e293b</span>; /* Fundo sólido seguro */</span>
<span class="wzw-code-line">}</span>
<span class="wzw-code-line">&nbsp;</span>
<span class="wzw-code-line"><span class="wzw-tk-comment">/* Se o navegador suportar backdrop-filter, ativa o vidro fosco */</span></span>
<span class="wzw-code-line"><span class="wzw-tk-kw">@supports</span> (backdrop-filter: blur(<span class="wzw-tk-num">10px</span>)) or (-webkit-backdrop-filter: blur(<span class="wzw-tk-num">10px</span>)) {</span>
<span class="wzw-code-line">  .card-glass {</span>
<span class="wzw-code-line">    <span class="wzw-tk-attr">background</span>: rgba(30, 41, 59, 0.7);</span>
<span class="wzw-code-line">    <span class="wzw-tk-attr">backdrop-filter</span>: blur(<span class="wzw-tk-num">14px</span>);</span>
<span class="wzw-code-line">    <span class="wzw-tk-attr">-webkit-backdrop-filter</span>: blur(<span class="wzw-tk-num">14px</span>);</span>
<span class="wzw-code-line">  }</span>
<span class="wzw-code-line">}</span>
</code></pre>
            <textarea class="wzw-ide-raw" aria-hidden="true" tabindex="-1" readonly>/* Fallback padrão para navegadores sem suporte a blur */
.card-glass {
  background: #1e293b; /* Fundo sólido seguro */
}

/* Se o navegador suportar backdrop-filter, ativa o vidro fosco */
@supports (backdrop-filter: blur(10px)) or (-webkit-backdrop-filter: blur(10px)) {
  .card-glass {
    background: rgba(30, 41, 59, 0.7);
    backdrop-filter: blur(14px);
    -webkit-backdrop-filter: blur(14px);
  }
}</textarea>
        </div>
    </div>
    
</div>
<h2>6. Laboratório Prático: Cartão Glassmorphic sobre Esferas Animadas</h2>
<p>
  No código interativo abaixo, criamos um cartão translúcido com <code>backdrop-filter: blur(16px)</code> flutuando sobre esferas coloridas de gradiente, acompanhado de logotipos tratados com <code>filter: grayscale</code>:
</p>
<div class="wzw-code-wrapper">
    <div class="wzw-ide-card" id="wzw-code-66067" data-lang="html">
        <div class="wzw-ide-header">
            <div class="wzw-ide-dots" aria-hidden="true">
                <span class="wzw-dot wzw-dot-red"></span>
                <span class="wzw-dot wzw-dot-amber"></span>
                <span class="wzw-dot wzw-dot-green"></span>
            </div>
            <div class="wzw-ide-meta">
                <span class="wzw-ide-lang-badge">HTML5</span>
                                <span class="wzw-ide-lines-count">117 linhas</span>
            </div>
            <div class="wzw-ide-actions">
                <button type="button" class="wzw-ide-btn wzw-ide-wrap-btn" onclick="wzwToggleCodeWrap('wzw-code-66067', this)" title="Alternar quebra automática de linhas">
                    ⇄ Wrap
                </button>
                <button type="button" class="wzw-ide-btn wzw-ide-copy-btn" onclick="wzwCopyCodeBlock('wzw-code-66067', this)" aria-label="Copiar código para a área de transferência">
                    📋 <span class="wzw-copy-text">Copiar Código</span>
                </button>
            </div>
        </div>
        <div class="wzw-ide-body">
            <pre class="wzw-ide-pre" tabindex="0"><code class="wzw-ide-code"><span class="wzw-code-line"><span class="wzw-tk-tag">&lt;!DOCTYPE</span><span class="wzw-tk-kw"> html</span><span class="wzw-tk-tag">&gt;</span></span>
<span class="wzw-code-line"><span class="wzw-tk-tag">&lt;html</span> <span class="wzw-tk-attr">lang</span>=<span class="wzw-tk-str">&quot;pt-BR&quot;</span><span class="wzw-tk-tag">&gt;</span></span>
<span class="wzw-code-line"><span class="wzw-tk-tag">&lt;head&gt;</span></span>
<span class="wzw-code-line">  <span class="wzw-tk-tag">&lt;meta</span> <span class="wzw-tk-attr">charset</span>=<span class="wzw-tk-str">&quot;UTF-8&quot;</span><span class="wzw-tk-tag">&gt;</span></span>
<span class="wzw-code-line">  <span class="wzw-tk-tag">&lt;title&gt;</span>Laboratório de Glassmorphism e Filtros CSS<span class="wzw-tk-tag">&lt;/title&gt;</span></span>
<span class="wzw-code-line">  <span class="wzw-tk-tag">&lt;style&gt;</span></span>
<span class="wzw-code-line">    body {</span>
<span class="wzw-code-line">      font-family: &#039;Inter&#039;, system-ui, sans-serif;</span>
<span class="wzw-code-line">      background: #030712;</span>
<span class="wzw-code-line">      color: #f8fafc;</span>
<span class="wzw-code-line">      min-height: 100vh;</span>
<span class="wzw-code-line">      display: flex;</span>
<span class="wzw-code-line">      flex-direction: column;</span>
<span class="wzw-code-line">      align-items: center;</span>
<span class="wzw-code-line">      justify-content: center;</span>
<span class="wzw-code-line">      margin: 0;</span>
<span class="wzw-code-line">      position: relative;</span>
<span class="wzw-code-line">      overflow: hidden;</span>
<span class="wzw-code-line">    }</span>
<span class="wzw-code-line">&nbsp;</span>
<span class="wzw-code-line">    <span class="wzw-tk-comment">/* ESFERAS COLORIDAS NO FUNDO PARA TESTAR O DESFOQUE */</span></span>
<span class="wzw-code-line">    .esfera-fundo-1 {</span>
<span class="wzw-code-line">      position: absolute;</span>
<span class="wzw-code-line">      top: 15%;</span>
<span class="wzw-code-line">      left: 20%;</span>
<span class="wzw-code-line">      width: 260px;</span>
<span class="wzw-code-line">      height: 260px;</span>
<span class="wzw-code-line">      border-radius: 50%;</span>
<span class="wzw-code-line">      background: linear-gradient(135deg, #3b82f6, #8b5cf6);</span>
<span class="wzw-code-line">      filter: blur(40px);</span>
<span class="wzw-code-line">      z-index: 1;</span>
<span class="wzw-code-line">    }</span>
<span class="wzw-code-line">&nbsp;</span>
<span class="wzw-code-line">    .esfera-fundo-2 {</span>
<span class="wzw-code-line">      position: absolute;</span>
<span class="wzw-code-line">      bottom: 20%;</span>
<span class="wzw-code-line">      right: 25%;</span>
<span class="wzw-code-line">      width: 220px;</span>
<span class="wzw-code-line">      height: 220px;</span>
<span class="wzw-code-line">      border-radius: 50%;</span>
<span class="wzw-code-line">      background: linear-gradient(135deg, #10b981, #06b6d4);</span>
<span class="wzw-code-line">      filter: blur(35px);</span>
<span class="wzw-code-line">      z-index: 1;</span>
<span class="wzw-code-line">    }</span>
<span class="wzw-code-line">&nbsp;</span>
<span class="wzw-code-line">    <span class="wzw-tk-comment">/* O CARTÃO GLASSMORPHISM AUTÊNTICO */</span></span>
<span class="wzw-code-line">    .card-vidro {</span>
<span class="wzw-code-line">      position: relative;</span>
<span class="wzw-code-line">      z-index: 2; /* Fica acima das esferas */</span>
<span class="wzw-code-line">      max-width: 440px;</span>
<span class="wzw-code-line">      background: rgba(255, 255, 255, 0.05); /* 1. Fundo semitransparente */</span>
<span class="wzw-code-line">      backdrop-filter: blur(16px);            /* 2. Desfoque atrás do vidro */</span>
<span class="wzw-code-line">      -webkit-backdrop-filter: blur(16px);</span>
<span class="wzw-code-line">      border: 1px solid rgba(255, 255, 255, 0.15); /* 3. Borda translúcida */</span>
<span class="wzw-code-line">      box-shadow: 0 16px 40px rgba(0, 0, 0, 0.5);   /* 4. Sombra profunda */</span>
<span class="wzw-code-line">      border-radius: 20px;</span>
<span class="wzw-code-line">      padding: 32px;</span>
<span class="wzw-code-line">    }</span>
<span class="wzw-code-line">&nbsp;</span>
<span class="wzw-code-line">    .card-vidro h3 {</span>
<span class="wzw-code-line">      margin: 0 0 12px 0;</span>
<span class="wzw-code-line">      color: #fff;</span>
<span class="wzw-code-line">      font-size: 1.4rem;</span>
<span class="wzw-code-line">      text-shadow: 0 2px 8px rgba(0,0,0,0.5);</span>
<span class="wzw-code-line">    }</span>
<span class="wzw-code-line">&nbsp;</span>
<span class="wzw-code-line">    .card-vidro p {</span>
<span class="wzw-code-line">      color: #cbd5e1;</span>
<span class="wzw-code-line">      font-size: 0.95rem;</span>
<span class="wzw-code-line">      line-height: 1.6;</span>
<span class="wzw-code-line">      margin: 0 0 24px 0;</span>
<span class="wzw-code-line">    }</span>
<span class="wzw-code-line">&nbsp;</span>
<span class="wzw-code-line">    <span class="wzw-tk-comment">/* BARRA DE PARCEIROS COM FILTER: GRAYSCALE */</span></span>
<span class="wzw-code-line">    .parceiros-box {</span>
<span class="wzw-code-line">      display: flex;</span>
<span class="wzw-code-line">      gap: 16px;</span>
<span class="wzw-code-line">      align-items: center;</span>
<span class="wzw-code-line">      border-top: 1px solid rgba(255,255,255,0.1);</span>
<span class="wzw-code-line">      padding-top: 16px;</span>
<span class="wzw-code-line">    }</span>
<span class="wzw-code-line">&nbsp;</span>
<span class="wzw-code-line">    .logo-parceiro {</span>
<span class="wzw-code-line">      font-size: 0.85rem;</span>
<span class="wzw-code-line">      font-weight: 700;</span>
<span class="wzw-code-line">      color: #38bdf8;</span>
<span class="wzw-code-line">      filter: grayscale(100%) opacity(0.6);</span>
<span class="wzw-code-line">      transition: filter 0.3s ease;</span>
<span class="wzw-code-line">      cursor: pointer;</span>
<span class="wzw-code-line">    }</span>
<span class="wzw-code-line">&nbsp;</span>
<span class="wzw-code-line">    .logo-parceiro:hover {</span>
<span class="wzw-code-line">      filter: grayscale(0%) opacity(1); /* Ganha cor total no hover! */</span>
<span class="wzw-code-line">    }</span>
<span class="wzw-code-line">  <span class="wzw-tk-tag">&lt;/style&gt;</span></span>
<span class="wzw-code-line"><span class="wzw-tk-tag">&lt;/head&gt;</span></span>
<span class="wzw-code-line"><span class="wzw-tk-tag">&lt;body&gt;</span></span>
<span class="wzw-code-line">  <span class="wzw-tk-comment">&lt;!-- Elementos gráficos luminosos que serão desfocados pelo vidro --&gt;</span></span>
<span class="wzw-code-line">  <span class="wzw-tk-tag">&lt;div</span> <span class="wzw-tk-attr">class</span>=<span class="wzw-tk-str">&quot;esfera-fundo-1&quot;</span><span class="wzw-tk-tag">&gt;</span><span class="wzw-tk-tag">&lt;/div&gt;</span></span>
<span class="wzw-code-line">  <span class="wzw-tk-tag">&lt;div</span> <span class="wzw-tk-attr">class</span>=<span class="wzw-tk-str">&quot;esfera-fundo-2&quot;</span><span class="wzw-tk-tag">&gt;</span><span class="wzw-tk-tag">&lt;/div&gt;</span></span>
<span class="wzw-code-line">&nbsp;</span>
<span class="wzw-code-line">  <span class="wzw-tk-comment">&lt;!-- O Cartão com Backdrop Filter --&gt;</span></span>
<span class="wzw-code-line">  <span class="wzw-tk-tag">&lt;div</span> <span class="wzw-tk-attr">class</span>=<span class="wzw-tk-str">&quot;card-vidro&quot;</span><span class="wzw-tk-tag">&gt;</span></span>
<span class="wzw-code-line">    <span class="wzw-tk-tag">&lt;h3&gt;</span>⚡ Economaster Glass UI<span class="wzw-tk-tag">&lt;/h3&gt;</span></span>
<span class="wzw-code-line">    <span class="wzw-tk-tag">&lt;p&gt;</span></span>
<span class="wzw-code-line">      Observe a textura translúcida de vidro fosco: as esferas coloridas de fundo são desfocadas pelo <span class="wzw-tk-tag">&lt;code&gt;</span>backdrop-filter: blur(16px)<span class="wzw-tk-tag">&lt;/code&gt;</span>, enquanto esta tipografia permanece perfeitamente legível e nítida.</span>
<span class="wzw-code-line">    <span class="wzw-tk-tag">&lt;/p&gt;</span></span>
<span class="wzw-code-line">&nbsp;</span>
<span class="wzw-code-line">    <span class="wzw-tk-tag">&lt;div</span> <span class="wzw-tk-attr">class</span>=<span class="wzw-tk-str">&quot;parceiros-box&quot;</span><span class="wzw-tk-tag">&gt;</span></span>
<span class="wzw-code-line">      <span class="wzw-tk-tag">&lt;span</span> <span class="wzw-tk-attr">style</span>=<span class="wzw-tk-str">&quot;font-size:0.75rem; color:#64748b;&quot;</span><span class="wzw-tk-tag">&gt;</span>Parceiros (Passe o mouse):<span class="wzw-tk-tag">&lt;/span&gt;</span></span>
<span class="wzw-code-line">      <span class="wzw-tk-tag">&lt;span</span> <span class="wzw-tk-attr">class</span>=<span class="wzw-tk-str">&quot;logo-parceiro&quot;</span><span class="wzw-tk-tag">&gt;</span>Chrome<span class="wzw-tk-tag">&lt;/span&gt;</span></span>
<span class="wzw-code-line">      <span class="wzw-tk-tag">&lt;span</span> <span class="wzw-tk-attr">class</span>=<span class="wzw-tk-str">&quot;logo-parceiro&quot;</span><span class="wzw-tk-tag">&gt;</span>Firefox<span class="wzw-tk-tag">&lt;/span&gt;</span></span>
<span class="wzw-code-line">      <span class="wzw-tk-tag">&lt;span</span> <span class="wzw-tk-attr">class</span>=<span class="wzw-tk-str">&quot;logo-parceiro&quot;</span><span class="wzw-tk-tag">&gt;</span>WebKit<span class="wzw-tk-tag">&lt;/span&gt;</span></span>
<span class="wzw-code-line">    <span class="wzw-tk-tag">&lt;/div&gt;</span></span>
<span class="wzw-code-line">  <span class="wzw-tk-tag">&lt;/div&gt;</span></span>
<span class="wzw-code-line"><span class="wzw-tk-tag">&lt;/body&gt;</span></span>
<span class="wzw-code-line"><span class="wzw-tk-tag">&lt;/html&gt;</span></span>
</code></pre>
            <textarea class="wzw-ide-raw" aria-hidden="true" tabindex="-1" readonly>&lt;!DOCTYPE html&gt;
&lt;html lang=&quot;pt-BR&quot;&gt;
&lt;head&gt;
  &lt;meta charset=&quot;UTF-8&quot;&gt;
  &lt;title&gt;Laboratório de Glassmorphism e Filtros CSS&lt;/title&gt;
  &lt;style&gt;
    body {
      font-family: &#039;Inter&#039;, system-ui, sans-serif;
      background: #030712;
      color: #f8fafc;
      min-height: 100vh;
      display: flex;
      flex-direction: column;
      align-items: center;
      justify-content: center;
      margin: 0;
      position: relative;
      overflow: hidden;
    }

    /* ESFERAS COLORIDAS NO FUNDO PARA TESTAR O DESFOQUE */
    .esfera-fundo-1 {
      position: absolute;
      top: 15%;
      left: 20%;
      width: 260px;
      height: 260px;
      border-radius: 50%;
      background: linear-gradient(135deg, #3b82f6, #8b5cf6);
      filter: blur(40px);
      z-index: 1;
    }

    .esfera-fundo-2 {
      position: absolute;
      bottom: 20%;
      right: 25%;
      width: 220px;
      height: 220px;
      border-radius: 50%;
      background: linear-gradient(135deg, #10b981, #06b6d4);
      filter: blur(35px);
      z-index: 1;
    }

    /* O CARTÃO GLASSMORPHISM AUTÊNTICO */
    .card-vidro {
      position: relative;
      z-index: 2; /* Fica acima das esferas */
      max-width: 440px;
      background: rgba(255, 255, 255, 0.05); /* 1. Fundo semitransparente */
      backdrop-filter: blur(16px);            /* 2. Desfoque atrás do vidro */
      -webkit-backdrop-filter: blur(16px);
      border: 1px solid rgba(255, 255, 255, 0.15); /* 3. Borda translúcida */
      box-shadow: 0 16px 40px rgba(0, 0, 0, 0.5);   /* 4. Sombra profunda */
      border-radius: 20px;
      padding: 32px;
    }

    .card-vidro h3 {
      margin: 0 0 12px 0;
      color: #fff;
      font-size: 1.4rem;
      text-shadow: 0 2px 8px rgba(0,0,0,0.5);
    }

    .card-vidro p {
      color: #cbd5e1;
      font-size: 0.95rem;
      line-height: 1.6;
      margin: 0 0 24px 0;
    }

    /* BARRA DE PARCEIROS COM FILTER: GRAYSCALE */
    .parceiros-box {
      display: flex;
      gap: 16px;
      align-items: center;
      border-top: 1px solid rgba(255,255,255,0.1);
      padding-top: 16px;
    }

    .logo-parceiro {
      font-size: 0.85rem;
      font-weight: 700;
      color: #38bdf8;
      filter: grayscale(100%) opacity(0.6);
      transition: filter 0.3s ease;
      cursor: pointer;
    }

    .logo-parceiro:hover {
      filter: grayscale(0%) opacity(1); /* Ganha cor total no hover! */
    }
  &lt;/style&gt;
&lt;/head&gt;
&lt;body&gt;
  &lt;!-- Elementos gráficos luminosos que serão desfocados pelo vidro --&gt;
  &lt;div class=&quot;esfera-fundo-1&quot;&gt;&lt;/div&gt;
  &lt;div class=&quot;esfera-fundo-2&quot;&gt;&lt;/div&gt;

  &lt;!-- O Cartão com Backdrop Filter --&gt;
  &lt;div class=&quot;card-vidro&quot;&gt;
    &lt;h3&gt;⚡ Economaster Glass UI&lt;/h3&gt;
    &lt;p&gt;
      Observe a textura translúcida de vidro fosco: as esferas coloridas de fundo são desfocadas pelo &lt;code&gt;backdrop-filter: blur(16px)&lt;/code&gt;, enquanto esta tipografia permanece perfeitamente legível e nítida.
    &lt;/p&gt;

    &lt;div class=&quot;parceiros-box&quot;&gt;
      &lt;span style=&quot;font-size:0.75rem; color:#64748b;&quot;&gt;Parceiros (Passe o mouse):&lt;/span&gt;
      &lt;span class=&quot;logo-parceiro&quot;&gt;Chrome&lt;/span&gt;
      &lt;span class=&quot;logo-parceiro&quot;&gt;Firefox&lt;/span&gt;
      &lt;span class=&quot;logo-parceiro&quot;&gt;WebKit&lt;/span&gt;
    &lt;/div&gt;
  &lt;/div&gt;
&lt;/body&gt;
&lt;/html&gt;</textarea>
        </div>
    </div>
    
</div>
<p>
  Abra este laboratório no Playground IDE e teste passar o mouse sobre os parceiros para ver o <code>filter: grayscale</code> se transformar, e altere o valor do desfoque no <code>backdrop-filter</code> para conferir a difusão da luz em tempo real:
</p>
<p style="text-align: center; margin: 35px 0;">
  <a href="https://webzoneware.com/web-academy/playground-web/" class="wzw-btn-playground" target="_blank" rel="noopener">⚡ Abrir no Playground IDE &rarr;</a>
</p>
<h2>7. Resumo e Próximos Passos</h2>
<ul>
<li><code>filter</code> aplica pós-processamento de imagem no elemento e em todos os seus filhos.</li>
<li><code>filter: drop-shadow()</code> projeta sombras respeitando a transparência real de ícones SVG e fotos PNG.</li>
<li><code>backdrop-filter</code> aplica desfoque exclusivamente à área que está <strong>atrás</strong> da caixa, preservando a nitidez do texto.</li>
<li>O Glassmorphism autêntico exige 4 ingredientes: fundo RGBA semitransparente, <code>backdrop-filter: blur()</code>, borda translúcida fina e sombras multicamadas.</li>
<li>Sempre certifique-se de que o contraste das cores atenda ao piso de 4.5:1 da WCAG para evitar textos ilegíveis em vidros transparentes.</li>
</ul>
<div class="wzw-callout wzw-callout-success">
<p><strong>Próximo Passo:</strong> O CSS moderno evoluiu para além do que muitos imaginavam ser possível. E se você pudesse selecionar um elemento pai com base nos filhos que ele possui (o Santo Graal do seletor de pai <code>:has()</code>) ou criar componentes responsivos com base no tamanho do seu próprio contêiner em vez da janela com <code>@container</code>? Na <strong>Lição 47</strong>, desvendaremos os <strong>Seletores Modernos (:is, :where, :has &#038; @container queries)</strong>!</p>
</div>
<p>O post <a href="https://webzoneware.com/web-academy/curso-css/filtros-css-backdrop-filter-glassmorphism/">Filtros e Glassmorphism Modernos no CSS | Web Academy</a> apareceu primeiro em <a href="https://webzoneware.com">Web-Zoneware</a>.</p>
]]></content:encoded>
					
					<wfw:commentRss>https://webzoneware.com/web-academy/curso-css/filtros-css-backdrop-filter-glassmorphism/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
	</channel>
</rss>
