<?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: Sourav Pan</title>
    <description>The latest articles on DEV Community by Sourav Pan (@sourav_pan_f2abeb51def1e4).</description>
    <link>https://dev.to/sourav_pan_f2abeb51def1e4</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%2F1211870%2F8e7e1bb1-8511-4076-885d-1974f6862ae0.png</url>
      <title>DEV Community: Sourav Pan</title>
      <link>https://dev.to/sourav_pan_f2abeb51def1e4</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://dev.to/feed/sourav_pan_f2abeb51def1e4"/>
    <language>en</language>
    <item>
      <title>Add Shiny Button using Pure CSS and html</title>
      <dc:creator>Sourav Pan</dc:creator>
      <pubDate>Sat, 19 Jul 2025 06:32:49 +0000</pubDate>
      <link>https://dev.to/sourav_pan_f2abeb51def1e4/add-shiny-button-using-pure-css-and-html-5665</link>
      <guid>https://dev.to/sourav_pan_f2abeb51def1e4/add-shiny-button-using-pure-css-and-html-5665</guid>
      <description>&lt;p&gt;*&lt;em&gt;Step 1 - Understand What This Effect Does&lt;br&gt;
*&lt;/em&gt;&lt;br&gt;
adds a shiny gliding animation over any button using a pseudo-element (::before)&lt;/p&gt;

&lt;p&gt;when hovered, animation stops&lt;/p&gt;

&lt;p&gt;useful for call-to-action or modern visual style&lt;/p&gt;

&lt;p&gt;*&lt;em&gt;Step 2 - Add the CSS to Your Stylesheet or  Tag&amp;lt;br&amp;gt;
*&amp;lt;/em&amp;gt;&amp;lt;br&amp;gt;
copy the CSS code block exactly as it is&amp;lt;/p&amp;gt;

&amp;lt;p&amp;gt;you can put it inside your page’s &amp;lt;head&amp;gt; inside a &amp;lt;style&amp;gt; tag, or inside your CSS file&amp;lt;br&amp;gt;
&amp;lt;/p&amp;gt;
&amp;lt;div class="highlight"&amp;gt;&amp;lt;pre class="highlight plaintext"&amp;gt;&amp;lt;code&amp;gt;&amp;amp;lt;style&amp;amp;gt;
  .bt-btn-shiny {
    position: relative;
    overflow: hidden;
  }

  .bt-btn-shiny::before {
    content: '';
    position: absolute;
    width: 100px;
    height: 100%;
    background-image: linear-gradient(120deg, rgba(255, 255, 255, 0) 30%, rgb(255 255 255 / 30%), rgba(255, 255, 255, 0) 101%);
    top: 0;
    left: -100px;
    animation: bt-shine 2.8s linear infinite;
  }

  .bt-btn-shiny:hover::before {
    animation: none;
  }

  @keyframes bt-shine {
    0% { left: -100px }
    20% { left: 100% }
    100% { left: 100% }
  }
&amp;amp;lt;/style&amp;amp;gt;

&amp;lt;/code&amp;gt;&amp;lt;/pre&amp;gt;&amp;lt;/div&amp;gt;
&amp;lt;p&amp;gt;&amp;lt;/p&amp;gt;

&amp;lt;p&amp;gt;*&amp;lt;em&amp;gt;Step 3 - Apply the Class to Any Button You Want&amp;lt;br&amp;gt;
*&amp;lt;/em&amp;gt;&amp;lt;br&amp;gt;
add bt-btn-shiny class to your &amp;lt;button&amp;gt; or &amp;lt;a&amp;gt; tag&amp;lt;/p&amp;gt;

&amp;lt;p&amp;gt;it should be combined with your existing button classes if needed&amp;lt;br&amp;gt;
&amp;lt;/p&amp;gt;
&amp;lt;div class="highlight"&amp;gt;&amp;lt;pre class="highlight plaintext"&amp;gt;&amp;lt;code&amp;gt;&amp;amp;lt;button class="bt-btn-shiny"&amp;amp;gt;Click Me&amp;amp;lt;/button&amp;amp;gt;

&amp;lt;/code&amp;gt;&amp;lt;/pre&amp;gt;&amp;lt;/div&amp;gt;
&amp;lt;p&amp;gt;&amp;lt;/p&amp;gt;

&amp;lt;p&amp;gt;*&amp;lt;em&amp;gt;Step 4 - Customize If Needed&amp;lt;br&amp;gt;
*&amp;lt;/em&amp;gt;&amp;lt;br&amp;gt;
adjust width: 100px in ::before for wider/narrower shine&amp;lt;/p&amp;gt;

&amp;lt;p&amp;gt;tweak animation-duration: 2.8s for faster or slower shine&amp;lt;/p&amp;gt;

&amp;lt;p&amp;gt;edit background-image gradient stops to change shine look&amp;lt;/p&amp;gt;

&amp;lt;p&amp;gt;to change shine direction, play with linear-gradient() angle&amp;lt;/p&amp;gt;

&amp;lt;p&amp;gt;Step 5 - Add Extra Styles to Match Your Theme&amp;lt;/p&amp;gt;

&amp;lt;p&amp;gt;style the button itself with colors, padding, border-radius, etc&amp;lt;br&amp;gt;
&amp;lt;/p&amp;gt;
&amp;lt;div class="highlight"&amp;gt;&amp;lt;pre class="highlight plaintext"&amp;gt;&amp;lt;code&amp;gt;&amp;amp;lt;style&amp;amp;gt;
  .bt-btn-shiny {
    position: relative;
    overflow: hidden;
    padding: 12px 24px;
    background: #007bff;
    color: white;
    font-weight: 600;
    border: none;
    border-radius: 6px;
    cursor: pointer;
  }
&amp;amp;lt;/style&amp;amp;gt;

&amp;lt;/code&amp;gt;&amp;lt;/pre&amp;gt;&amp;lt;/div&amp;gt;
&amp;lt;p&amp;gt;&amp;lt;/p&amp;gt;

&amp;lt;p&amp;gt;*&amp;lt;em&amp;gt;Step 6 - Done. Now Test It&amp;lt;br&amp;gt;
*&amp;lt;/em&amp;gt;&amp;lt;br&amp;gt;
load your webpage&amp;lt;/p&amp;gt;

&amp;lt;p&amp;gt;you should see the shining effect move from left to right on your button&amp;lt;/p&amp;gt;

&amp;lt;p&amp;gt;hover on the button — animation should pause&amp;lt;/p&amp;gt;

&amp;lt;p&amp;gt;Optional - Apply to Anchor Tag Also&amp;lt;/p&amp;gt;

&amp;lt;p&amp;gt;works the same on &amp;lt;a&amp;gt; elements&amp;lt;br&amp;gt;
&amp;lt;/p&amp;gt;
&amp;lt;div class="highlight"&amp;gt;&amp;lt;pre class="highlight plaintext"&amp;gt;&amp;lt;code&amp;gt;&amp;amp;lt;a href="#" class="bt-btn-shiny"&amp;amp;gt;Get Started&amp;amp;lt;/a&amp;amp;gt;

&amp;lt;/code&amp;gt;&amp;lt;/pre&amp;gt;&amp;lt;/div&amp;gt;
&amp;lt;p&amp;gt;&amp;lt;/p&amp;gt;

&amp;lt;p&amp;gt;*&amp;lt;em&amp;gt;Optional - Make It Work With Tailwind/Other Frameworks&amp;lt;br&amp;gt;
*&amp;lt;/em&amp;gt;&amp;lt;br&amp;gt;
just include bt-btn-shiny alongside your framework’s button classes&amp;lt;/p&amp;gt;

&amp;lt;p&amp;gt;example: &amp;lt;button class="bt-btn-shiny px-4 py-2 bg-green-600 text-white"&amp;gt;Shiny Tailwind&amp;lt;/button&amp;gt;&amp;lt;/p&amp;gt;

&amp;lt;p&amp;gt;that&amp;amp;#39;s it. you don’t need JS for this, pure CSS does the magic.&amp;lt;/p&amp;gt;
&lt;/em&gt;&lt;/p&gt;

</description>
      <category>html</category>
      <category>css</category>
      <category>shiny</category>
      <category>ui</category>
    </item>
  </channel>
</rss>
