<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:dc="http://purl.org/dc/elements/1.1/">
  <channel>
    <title>DEV Community: Isabelle de Souza</title>
    <description>The latest articles on DEV Community by Isabelle de Souza (@isabelledesouza).</description>
    <link>https://dev.to/isabelledesouza</link>
    <image>
      <url>https://media2.dev.to/dynamic/image/width=90,height=90,fit=cover,gravity=auto,format=auto/https:%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Fuser%2Fprofile_image%2F491218%2F212c374b-3e45-48f7-bc66-81585d347d57.png</url>
      <title>DEV Community: Isabelle de Souza</title>
      <link>https://dev.to/isabelledesouza</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://dev.to/feed/isabelledesouza"/>
    <language>en</language>
    <item>
      <title>ilusao de café sendo derramado em uma xícara☕ 🍫</title>
      <dc:creator>Isabelle de Souza</dc:creator>
      <pubDate>Mon, 24 Apr 2023 20:35:15 +0000</pubDate>
      <link>https://dev.to/isabelledesouza/ilusao-de-cafe-sendo-derramado-em-uma-xicara-pak</link>
      <guid>https://dev.to/isabelledesouza/ilusao-de-cafe-sendo-derramado-em-uma-xicara-pak</guid>
      <description>&lt;p&gt;Te ensino como fazer o café de todos os dias. ☕ 🍫 #css&lt;br&gt;&lt;br&gt;
&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--RC1-vs8J--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_66%2Cw_800/https://s11.gifyu.com/images/AnimationCoffee.gif" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--RC1-vs8J--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_66%2Cw_800/https://s11.gifyu.com/images/AnimationCoffee.gif" alt="cup animation" width="800" height="318"&gt;&lt;/a&gt;&lt;/p&gt;
&lt;h2&gt;
  
  
  Passo 1: Um contenedor para toda animacao.
&lt;/h2&gt;

&lt;p&gt;&lt;strong&gt;Html&lt;/strong&gt;&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;&amp;lt;div class="container-animation"&amp;gt;
  &amp;lt;div class="container-xicara"&amp;gt;
    &amp;lt;div class="chorro"&amp;gt;&amp;lt;/div&amp;gt;
    &amp;lt;div class="coffee-cont"&amp;gt;
      &amp;lt;div class="coffee-cup"&amp;gt;&amp;lt;/div&amp;gt;
      &amp;lt;div class="coffee-hand"&amp;gt;&amp;lt;/div&amp;gt;
    &amp;lt;/div&amp;gt;
  &amp;lt;/div&amp;gt;
&amp;lt;/div&amp;gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;&lt;strong&gt;CSS&lt;/strong&gt;&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;.container-animation {
  width:40vw;
  height: 100vh;
  margin: auto;
  position: relative;
}
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;h2&gt;
  
  
  Paso 2: Derramando o cafe 💧
&lt;/h2&gt;

&lt;p&gt;&lt;strong&gt;animation:&lt;/strong&gt; nome: "cafe-derramando" e tempo de 4 segundos.&lt;br&gt;
&lt;strong&gt;animation-fill-mode:&lt;/strong&gt; forwards, a animação manterá o último estado da animação depois que ela terminar, ou seja, o café derramado permanecerá na xícara após a animação ser concluída.&lt;br&gt;
&lt;strong&gt;animation-timing-function:&lt;/strong&gt; devagar e acelera à medida que a animação avança.&lt;br&gt;
&lt;strong&gt;animation-iteration-count:&lt;/strong&gt; quantas vezes a animação será executada.&lt;br&gt;
&lt;strong&gt;CSS&lt;/strong&gt;&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;.cafe-derramando {
  width: 10%;
  border-radius: 20%;
  position: absolute;
  top: 12%;
  left: 50%;
  transform: translatex(-50%);
  background: #84523f;
  z-index: 1;
  animation: cafe-derramando 4s;
  animation-fill-mode:forwards;
  animation-timing-function: ease-in;
  animation-iteration-count:2;
}
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;h2&gt;
  
  
  Paso 3: A xicara ☕
&lt;/h2&gt;

&lt;p&gt;Para dar forma à xícara, utilizamos a propriedade &lt;strong&gt;"border-radius&lt;/strong&gt;", que permite definir os cantos do elemento. Já para dar profundidade usamos a propriedade &lt;strong&gt;"box-shadow".&lt;/strong&gt;&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;.coffee-cup {
  position: relative;
  width: 280px;
  height: 190px;
  margin: 0 auto;
  background: #fff;
  );
  background-image: url("https://iili.io/H8C9muV.png");
  border-radius: 22% 22% 100px 100px;
  top: 50%;
 box-shadow: -30px 61px 42px -40px rgba(0,0,0,0.1);
}
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;h2&gt;
  
  
  Paso 4 Café
&lt;/h2&gt;

&lt;p&gt;Cria uma forma oval.&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;"".coffee-cup::before {
  content: " ";
  display: block;
  height: 35px;
  width: 240px;
  position: absolute;
  border-radius: 50%;
  background: rgb(171, 104, 80);
  background: linear-gradient(
    3deg,
    rgba(171, 104, 80, 0.9836309523809523) 38%,
    rgba(129, 80, 63, 1) 60%,
    rgba(136, 75, 52, 1) 86%
  );
  top: 10%;
  left: 50%;
  z-index: 9;
  transform-origin: 50%;
  animation: fill 3s;
  animation-fill-mode: both;
  animation-delay: 1.2s; /*solo pasa una vez*/
  transform: translate(-50%, 60%) scale(0);
  animation-iteration-count: infinite;
  animation-iteration-count: 2;
  z-index: 2;
}""
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;h2&gt;
  
  
  Paso 5 Alça💪
&lt;/h2&gt;



&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;"".coffee-cup::after {
  content: "";
  display: block;
  height: 50px;
  width: 275px;
  position: absolute;
  border-radius: 50%;
  background: rgb(180, 139, 127);
  background: linear-gradient(
    90deg,
    rgba(180, 139, 127, 1) 9%,
    rgba(224, 162, 144, 0.9668242296918768) 52%,
    rgba(255, 213, 201, 1) 76%
  );
  top: 9%;
  left: 50%;
  border: 4px solid #c74c29;
  transform: translate(-50%, -40%);
}""
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;h2&gt;
  
  
  Paso 6 : Finalmente as animações 🤹‍♀️
&lt;/h2&gt;

&lt;p&gt;A ilusão é criada modificando a altura.&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;""@keyframes cafe-derramando {
  0% {
    height: 0; /*  inicio antes que se execute;*/
  }
  10% {
    height: 41%;
  }
  75% {
    height: 41%;
  }
  100% {
    height: 0%;
  }
}
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;A parte complicada é fazer com que o café se mova para cima 🔝enquanto aumenta de tamanho. Para conseguir esse efeito, é possível utilizar a propriedade translateY com um valor negativo em conjunto com scale. Isso fará com que o elemento seja primeiro movido para cima aumentado de tamanho gradualmente.☕☕&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;@keyframes fill {
  0% {
    transform: translate(-50%, -6%) scale(1, 0);
  }
  100% {
    transform: translate(-50%, -45%) scale(1);
  }
}""
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Alguns links que podem ajudar &lt;/p&gt;

&lt;p&gt;&lt;a href="https://developer.mozilla.org/es/docs/Web/CSS/transform-origin"&gt;Transform origin&lt;/a&gt;;&lt;br&gt;
&lt;a href="https://developer.mozilla.org/es/docs/Web/CSS/transform-origin"&gt;Cafe&lt;/a&gt;;&lt;br&gt;
&lt;a href="https://imagecolorpicker.com/"&gt;Color Picker&lt;/a&gt;;&lt;br&gt;
&lt;a href="https://www.freecodecamp.org/espanol/news/centrar-en-html-div-con-css/"&gt;Como centrar qualquer coisa&lt;/a&gt;;&lt;/p&gt;

</description>
      <category>css</category>
      <category>animation</category>
      <category>tutorial</category>
      <category>frontend</category>
    </item>
  </channel>
</rss>
