<?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: Sunny Heer</title>
    <description>The latest articles on DEV Community by Sunny Heer (@sunnyheer037).</description>
    <link>https://dev.to/sunnyheer037</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%2F2894503%2Faf102cd5-ef98-4330-aa45-4002cd6675c9.png</url>
      <title>DEV Community: Sunny Heer</title>
      <link>https://dev.to/sunnyheer037</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://dev.to/feed/sunnyheer037"/>
    <language>en</language>
    <item>
      <title>Animated Skills Bar in HTML &amp; CSS | Progress Bar</title>
      <dc:creator>Sunny Heer</dc:creator>
      <pubDate>Sat, 22 Feb 2025 13:28:09 +0000</pubDate>
      <link>https://dev.to/sunnyheer037/animated-skills-bar-in-html-css-progress-bar-2dh1</link>
      <guid>https://dev.to/sunnyheer037/animated-skills-bar-in-html-css-progress-bar-2dh1</guid>
      <description>&lt;p&gt;&lt;strong&gt;Source Code the following HTML CSS for an Animated Skills Bar&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;!DOCTYPE html&amp;gt;
&amp;lt;!-- Coding By Trendslr - https://www.trendslr.com --&amp;gt;
&amp;lt;html lang="en"&amp;gt;
&amp;lt;head&amp;gt;
    &amp;lt;meta charset="UTF-8"&amp;gt;
    &amp;lt;meta http-equiv="X-UA-Compatible" content="IE=edge"&amp;gt;
    &amp;lt;meta name="viewport" content="width=device-width, initial-scale=1.0"&amp;gt;

    &amp;lt;!----======== CSS ======== --&amp;gt;
    &amp;lt;link rel="stylesheet" href="style.css"&amp;gt;

   &amp;lt;title&amp;gt;Animated Skills Bar&amp;lt;/title&amp;gt;
&amp;lt;/head&amp;gt;
&amp;lt;body&amp;gt;
    &amp;lt;div class="container"&amp;gt;
        &amp;lt;div class="skill-box"&amp;gt;
            &amp;lt;span class="title"&amp;gt;HTML&amp;lt;/span&amp;gt;
            &amp;lt;div class="skill-bar"&amp;gt;
                &amp;lt;span class="skill-per html"&amp;gt;
                    &amp;lt;span class="tooltip"&amp;gt;90%&amp;lt;/span&amp;gt;
                &amp;lt;/span&amp;gt;
            &amp;lt;/div&amp;gt;
        &amp;lt;/div&amp;gt;
        &amp;lt;div class="skill-box"&amp;gt;
            &amp;lt;span class="title"&amp;gt;CSS&amp;lt;/span&amp;gt;
            &amp;lt;div class="skill-bar"&amp;gt;
                &amp;lt;span class="skill-per css"&amp;gt;
                    &amp;lt;span class="tooltip"&amp;gt;70%&amp;lt;/span&amp;gt;
                &amp;lt;/span&amp;gt;
            &amp;lt;/div&amp;gt;
        &amp;lt;/div&amp;gt;
        &amp;lt;div class="skill-box"&amp;gt;
            &amp;lt;span class="title"&amp;gt;JavaScript&amp;lt;/span&amp;gt;
            &amp;lt;div class="skill-bar"&amp;gt;
                &amp;lt;span class="skill-per javascript"&amp;gt;
                    &amp;lt;span class="tooltip"&amp;gt;50%&amp;lt;/span&amp;gt;
                &amp;lt;/span&amp;gt;
            &amp;lt;/div&amp;gt;
        &amp;lt;/div&amp;gt;
        &amp;lt;div class="skill-box"&amp;gt;
            &amp;lt;span class="title"&amp;gt;NodeJS&amp;lt;/span&amp;gt;
            &amp;lt;div class="skill-bar"&amp;gt;
                &amp;lt;span class="skill-per nodejs"&amp;gt;
                    &amp;lt;span class="tooltip"&amp;gt;30%&amp;lt;/span&amp;gt;
                &amp;lt;/span&amp;gt;
            &amp;lt;/div&amp;gt;
        &amp;lt;/div&amp;gt;
    &amp;lt;/div&amp;gt;

&amp;lt;/body&amp;gt;
&amp;lt;/html&amp;gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;&lt;code&gt;/* ===== Google Font Import - Poppins ===== */&lt;br&gt;
@import url('https://fonts.googleapis.com/css2?family=Poppins:wght@200;300;400;500;600&amp;amp;display=swap');&lt;br&gt;
*{&lt;br&gt;
    margin: 0;&lt;br&gt;
    padding: 0;&lt;br&gt;
    box-sizing: border-box;&lt;br&gt;
    font-family: 'Poppins', sans-serif;&lt;br&gt;
}&lt;br&gt;
body{&lt;br&gt;
    height: 100vh;&lt;br&gt;
    display: flex;&lt;br&gt;
    background: #4070f4;&lt;br&gt;
    align-items: center;&lt;br&gt;
    justify-content: center;&lt;br&gt;
}&lt;br&gt;
.container{&lt;br&gt;
    position: relative;&lt;br&gt;
    max-width: 500px;&lt;br&gt;
    width: 100%;&lt;br&gt;
    background: #fff;&lt;br&gt;
    margin: 0 15px;&lt;br&gt;
    padding: 10px 20px;&lt;br&gt;
    border-radius: 7px;&lt;br&gt;
}&lt;br&gt;
.container .skill-box{&lt;br&gt;
    width: 100%;&lt;br&gt;
    margin: 25px 0;&lt;br&gt;
}&lt;br&gt;
.skill-box .title{&lt;br&gt;
    display: block;&lt;br&gt;
    font-size: 14px;&lt;br&gt;
    font-weight: 600;&lt;br&gt;
    color: #333;&lt;br&gt;
}&lt;br&gt;
.skill-box .skill-bar{&lt;br&gt;
    height: 8px;&lt;br&gt;
    width: 100%;&lt;br&gt;
    border-radius: 6px;&lt;br&gt;
    margin-top: 6px;&lt;br&gt;
    background: rgba(0,0,0,0.1);&lt;br&gt;
}&lt;br&gt;
.skill-bar .skill-per{&lt;br&gt;
    position: relative;&lt;br&gt;
    display: block;&lt;br&gt;
    height: 100%;&lt;br&gt;
    width: 90%;&lt;br&gt;
    border-radius: 6px;&lt;br&gt;
    background: #4070f4;&lt;br&gt;
    animation: progress 0.4s ease-in-out forwards;&lt;br&gt;
    opacity: 0;&lt;br&gt;
}&lt;br&gt;
.skill-per.css{&lt;br&gt;
    width: 70%;&lt;br&gt;
    animation-delay: 0.1s;&lt;br&gt;
}&lt;br&gt;
.skill-per.javascript{&lt;br&gt;
    width: 50%;&lt;br&gt;
    animation-delay: 0.2s;&lt;br&gt;
}&lt;br&gt;
.skill-per.nodejs{&lt;br&gt;
    width: 30%;&lt;br&gt;
    animation-delay: 0.3s;&lt;br&gt;
}&lt;br&gt;
@keyframes progress {&lt;br&gt;
    0%{&lt;br&gt;
        width: 0;&lt;br&gt;
        opacity: 1;&lt;br&gt;
    }&lt;br&gt;
    100%{&lt;br&gt;
        opacity: 1;&lt;br&gt;
    }&lt;br&gt;
}&lt;br&gt;
.skill-per .tooltip{&lt;br&gt;
    position: absolute;&lt;br&gt;
    right: -14px;&lt;br&gt;
    top: -28px;&lt;br&gt;
    font-size: 9px;&lt;br&gt;
    font-weight: 500;&lt;br&gt;
    color: #fff;&lt;br&gt;
    padding: 2px 6px;&lt;br&gt;
    border-radius: 3px;&lt;br&gt;
    background: #4070f4;&lt;br&gt;
    z-index: 1;&lt;br&gt;
}&lt;br&gt;
.tooltip::before{&lt;br&gt;
    content: '';&lt;br&gt;
    position: absolute;&lt;br&gt;
    left: 50%;&lt;br&gt;
    bottom: -2px;&lt;br&gt;
    height: 10px;&lt;br&gt;
    width: 10px;&lt;br&gt;
    z-index: -1;&lt;br&gt;
    background-color: #4070f4;&lt;br&gt;
    transform: translateX(-50%) rotate(45deg);&lt;br&gt;
}&lt;/code&gt;`&lt;/p&gt;

</description>
    </item>
    <item>
      <title>Create a Chatbot with HTML CSS and JavaScript</title>
      <dc:creator>Sunny Heer</dc:creator>
      <pubDate>Sat, 22 Feb 2025 13:22:10 +0000</pubDate>
      <link>https://dev.to/sunnyheer037/create-a-chatbot-with-html-css-and-javascript-23i5</link>
      <guid>https://dev.to/sunnyheer037/create-a-chatbot-with-html-css-and-javascript-23i5</guid>
      <description>&lt;p&gt;&lt;strong&gt;Write Html Code&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;`&amp;lt;!DOCTYPE html&amp;gt;&lt;br&gt;
&lt;br&gt;
&lt;/p&gt;
&lt;br&gt;
    &lt;br&gt;
    &lt;br&gt;
    Chatbot | The Coding Hubs&lt;br&gt;
    &lt;br&gt;
    &lt;br&gt;
    &lt;br&gt;
    &lt;br&gt;
&lt;br&gt;
    &lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/chatbot.png" alt="buttonpng" width="" height=""&gt;&lt;br&gt;
    &lt;br&gt;
        &lt;br&gt;
            &lt;span&gt;Chatbot | &lt;a href="https://www.trendslr.com/" rel="noopener noreferrer"&gt;Trendslr&lt;/a&gt;&lt;/span&gt;&lt;br&gt;
            ×&lt;br&gt;
        &lt;br&gt;
        &lt;br&gt;
        &lt;br&gt;
            &lt;br&gt;
            Send&lt;br&gt;
        &lt;br&gt;
        &lt;br&gt;
            &lt;a href="https://www.trendslr.com/" rel="noopener noreferrer"&gt;Build By Trendslr © 2024&lt;/a&gt;&lt;br&gt;
        &lt;br&gt;
    



&lt;p&gt;&lt;br&gt;
`&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Write CSS code&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;body {&lt;br&gt;
    font-family: "Poppins", sans-serif;&lt;br&gt;
    margin: 0;&lt;br&gt;
    padding: 0;&lt;br&gt;
    background-color: #f9f9f9;&lt;br&gt;
    display: flex;&lt;br&gt;
    justify-content: center;&lt;br&gt;
    align-items: center;&lt;br&gt;
    height: 100vh;&lt;br&gt;
}&lt;/p&gt;

&lt;p&gt;.chat-header a{&lt;br&gt;
    text-decoration:none;&lt;br&gt;
    color: white;&lt;br&gt;
}&lt;/p&gt;

&lt;p&gt;.copyright{&lt;br&gt;
    font-size:12px;&lt;br&gt;
    text-align: center;&lt;br&gt;
}&lt;/p&gt;

&lt;p&gt;.copyright a {&lt;br&gt;
    text-decoration:none;&lt;br&gt;
    color: #343c41;&lt;br&gt;
}&lt;/p&gt;

&lt;h1&gt;
  
  
  chatbot-toggle-btn {
&lt;/h1&gt;

&lt;pre class="highlight plaintext"&gt;&lt;code&gt;position: fixed;
bottom: 20px;
right: 20px;
padding: 12px 15px;
border: none;
background-color: #1087FF;
color: #fff;
border-radius: 30px;
font-size: 16px;
cursor: pointer;
transition: all 0.3s ease;
z-index: 1001; /* Ensure the button is above the chatbot popup */
&lt;/code&gt;&lt;/pre&gt;

&lt;p&gt;}&lt;/p&gt;

&lt;h1&gt;
  
  
  chatbot-toggle-btn:hover {
&lt;/h1&gt;

&lt;pre class="highlight plaintext"&gt;&lt;code&gt;background-color: #0074CC;
&lt;/code&gt;&lt;/pre&gt;

&lt;p&gt;}&lt;/p&gt;

&lt;p&gt;.chatbot-popup {&lt;br&gt;
    display: none;&lt;br&gt;
    position: fixed;&lt;br&gt;
    bottom: 90px;&lt;br&gt;
    right: 20px;&lt;br&gt;
    background-color: #fff;&lt;br&gt;
    border-radius: 15px;&lt;br&gt;
    box-shadow: 0 2px 5px rgba(0, 0, 0, 0.2);&lt;br&gt;
    width: 350px;&lt;br&gt;
    max-width: 90%;&lt;br&gt;
    z-index: 1000;&lt;br&gt;
}&lt;/p&gt;

&lt;p&gt;.chat-header {&lt;br&gt;
    background-color: #1087FF;&lt;br&gt;
    color: #fff;&lt;br&gt;
    padding: 15px 20px;&lt;br&gt;
    border-top-left-radius: 15px;&lt;br&gt;
    border-top-right-radius: 15px;&lt;br&gt;
    display: flex;&lt;br&gt;
    justify-content: space-between;&lt;br&gt;
    align-items: center;&lt;br&gt;
}&lt;/p&gt;

&lt;h1&gt;
  
  
  close-btn {
&lt;/h1&gt;

&lt;pre class="highlight plaintext"&gt;&lt;code&gt;background-color: transparent;
border: none;
color: #fff;
font-size: 20px;
cursor: pointer;
&lt;/code&gt;&lt;/pre&gt;

&lt;p&gt;}&lt;/p&gt;

&lt;p&gt;.chat-box {&lt;br&gt;
    max-height: 350px;&lt;br&gt;
    overflow-y: auto;&lt;br&gt;
    padding: 15px 20px;&lt;br&gt;
}&lt;/p&gt;

&lt;p&gt;.chat-input {&lt;br&gt;
    display: flex;&lt;br&gt;
    align-items: center;&lt;br&gt;
    padding: 10px 20px;&lt;br&gt;
    border-top: 1px solid #ddd;&lt;br&gt;
}&lt;/p&gt;

&lt;h1&gt;
  
  
  user-input {
&lt;/h1&gt;

&lt;pre class="highlight plaintext"&gt;&lt;code&gt;font-family: "Poppins";
flex: 1;
padding: 10px;
border: 1px solid #ddd;
border-radius: 12px;
outline: none;
&lt;/code&gt;&lt;/pre&gt;

&lt;p&gt;}&lt;/p&gt;

&lt;h1&gt;
  
  
  send-btn {
&lt;/h1&gt;

&lt;pre class="highlight plaintext"&gt;&lt;code&gt;font-family: "Poppins", sans-serif;
padding: 10px 20px;
border: none;
background-color: #1087FF;
color: #fff;
border-radius: 12px;
margin-left: 10px;
cursor: pointer;
transition: background-color 0.3s ease;
&lt;/code&gt;&lt;/pre&gt;

&lt;p&gt;}&lt;/p&gt;

&lt;h1&gt;
  
  
  send-btn:hover {
&lt;/h1&gt;

&lt;pre class="highlight plaintext"&gt;&lt;code&gt;background-color: #0074CC;
&lt;/code&gt;&lt;/pre&gt;

&lt;p&gt;}&lt;/p&gt;

&lt;p&gt;.user-message {&lt;br&gt;
    background-color: #f3f3f3;&lt;br&gt;
    color: #333;&lt;br&gt;
    padding: 14px;&lt;br&gt;
    border-radius: 15px;&lt;br&gt;
    margin-bottom: 15px;&lt;br&gt;
    margin-top: 15px;&lt;br&gt;
    margin-left: 10px; /* Push user message to the left &lt;em&gt;/&lt;br&gt;
    position: relative;&lt;br&gt;
    display: flex;&lt;br&gt;
    align-items: center;&lt;br&gt;
    flex-direction: row-reverse; /&lt;/em&gt; Move user message to the right */&lt;br&gt;
}&lt;/p&gt;

&lt;p&gt;.user-message::before {&lt;br&gt;
    content: "\1F468"; /* Man emoji */&lt;br&gt;
    position: absolute;&lt;br&gt;
    bottom: -17px;&lt;br&gt;
    right: -20px;&lt;br&gt;
    margin-bottom: 7px;&lt;br&gt;
    font-size: 20px;&lt;br&gt;
    background-color: #1087FF;&lt;br&gt;
    color: #fff;&lt;br&gt;
    border-radius: 50%;&lt;br&gt;
    width: 30px;&lt;br&gt;
    height: 30px;&lt;br&gt;
    display: flex;&lt;br&gt;
    justify-content: center;&lt;br&gt;
    align-items: center;&lt;br&gt;
    box-shadow: 0 0 5px rgba(0, 0, 0, 0.3);&lt;br&gt;
}&lt;/p&gt;

&lt;p&gt;.bot-message {&lt;br&gt;
    background-color: #1087FF;&lt;br&gt;
    color: #fff;&lt;br&gt;
    padding: 14px;&lt;br&gt;
    border-radius: 15px;&lt;br&gt;
    margin-bottom: 10px;&lt;br&gt;
    margin-top: 15px;&lt;br&gt;
    align-self: flex-start; /* Move bot message to the left &lt;em&gt;/&lt;br&gt;
    margin-right: 10px; /&lt;/em&gt; Push bot message to the right &lt;em&gt;/&lt;br&gt;
    position: relative;&lt;br&gt;
    display: flex;&lt;br&gt;
    align-items: center;&lt;br&gt;
    flex-direction: column; /&lt;/em&gt; Adjust for button placement */&lt;br&gt;
}&lt;/p&gt;

&lt;p&gt;.bot-message::before {&lt;br&gt;
    content: "\1F916"; /* Robot emoji */&lt;br&gt;
    position: absolute;&lt;br&gt;
    bottom: -17px;&lt;br&gt;
    left: -14px;&lt;br&gt;
    margin-bottom: 4px;&lt;br&gt;
    font-size: 20px;&lt;br&gt;
    background-color: #1087FF;&lt;br&gt;
    color: #fff;&lt;br&gt;
    border-radius: 50%;&lt;br&gt;
    width: 30px;&lt;br&gt;
    height: 30px;&lt;br&gt;
    display: flex;&lt;br&gt;
    justify-content: center;&lt;br&gt;
    align-items: center;&lt;br&gt;
    box-shadow: 0 0 5px rgba(0, 0, 0, 0.3);&lt;br&gt;
}&lt;/p&gt;

&lt;p&gt;.button-container {&lt;br&gt;
    display: flex;&lt;br&gt;
    justify-content: space-around;&lt;br&gt;
    margin-top: 10px;&lt;br&gt;
}&lt;/p&gt;

&lt;p&gt;.button-container button {&lt;br&gt;
    padding: 10px 50px;&lt;br&gt;
    border: none;&lt;br&gt;
    background-color: #1087FF;&lt;br&gt;
    color: #fff;&lt;br&gt;
    border-radius: 10px;&lt;br&gt;
    cursor: pointer;&lt;br&gt;
    transition: background-color 0.3s ease;&lt;br&gt;
}&lt;/p&gt;

&lt;p&gt;.button-container button:hover {&lt;br&gt;
    background-color: #0074CC;&lt;br&gt;
}&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Write JavaScript Code&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;const responses = {&lt;br&gt;
    "hello": "Hi there! How can I assist you today?",&lt;br&gt;
    "coding hubs": "Here you will get Notes, Ebooks, project source Code, Interview questions. visit Coding Hubs.&lt;a href="https://www.trendslr.com" rel="noopener noreferrer"&gt;Visit Website&lt;/a&gt;",&lt;br&gt;
    "how are you": "I'm just a bot, but I'm here to help you!",&lt;br&gt;
    "need help": "How I can help you today?",&lt;br&gt;
    "bye": "Goodbye! Have a great day!",&lt;br&gt;
    "default": "I'm sorry, I didn't understand that. Want to connect with expert?",&lt;br&gt;
    "expert": "Great! Please wait a moment while we connect you with an expert.",&lt;br&gt;
    "no": "Okay, if you change your mind just let me know!"&lt;br&gt;
};&lt;/p&gt;

&lt;p&gt;document.getElementById('chatbot-toggle-btn').addEventListener('click', toggleChatbot);&lt;br&gt;
document.getElementById('close-btn').addEventListener('click', toggleChatbot);&lt;br&gt;
document.getElementById('send-btn').addEventListener('click', sendMessage);&lt;br&gt;
document.getElementById('user-input').addEventListener('keypress', function(e) {&lt;br&gt;
    if (e.key === 'Enter') {&lt;br&gt;
        sendMessage();&lt;br&gt;
    }&lt;br&gt;
});&lt;/p&gt;

&lt;p&gt;function toggleChatbot() {&lt;br&gt;
    const chatbotPopup = document.getElementById('chatbot-popup');&lt;br&gt;
    chatbotPopup.style.display = chatbotPopup.style.display === 'none' ? 'block' : 'none';&lt;br&gt;
}&lt;/p&gt;

&lt;p&gt;function sendMessage() {&lt;br&gt;
    const userInput = document.getElementById('user-input').value.trim();&lt;br&gt;
    if (userInput !== '') {&lt;br&gt;
        appendMessage('user', userInput);&lt;br&gt;
        respondToUser(userInput.toLowerCase());&lt;br&gt;
        document.getElementById('user-input').value = '';&lt;br&gt;
    }&lt;br&gt;
}&lt;/p&gt;

&lt;p&gt;function respondToUser(userInput) {&lt;br&gt;
    const response = responses[userInput] || responses["default"];&lt;br&gt;
    setTimeout(function() {&lt;br&gt;
        appendMessage('bot', response);&lt;br&gt;
    }, 500);&lt;br&gt;
}&lt;/p&gt;

&lt;p&gt;function appendMessage(sender, message) {&lt;br&gt;
    const chatBox = document.getElementById('chat-box');&lt;br&gt;
    const messageElement = document.createElement('div');&lt;br&gt;
    messageElement.classList.add(sender === 'user' ? 'user-message' : 'bot-message');&lt;br&gt;
    messageElement.innerHTML = message;&lt;br&gt;
    chatBox.appendChild(messageElement);&lt;br&gt;
    chatBox.scrollTop = chatBox.scrollHeight;&lt;br&gt;
    if (sender === 'bot' &amp;amp;&amp;amp; message === responses["default"]) {&lt;br&gt;
        const buttonYes = document.createElement('button');&lt;br&gt;
        buttonYes.textContent = '✔ Yes';&lt;br&gt;
        buttonYes.onclick = function() {&lt;br&gt;
            appendMessage('bot', responses["expert"]);&lt;br&gt;
        };&lt;br&gt;
        const buttonNo = document.createElement('button');&lt;br&gt;
        buttonNo.textContent = '✖ No';&lt;br&gt;
        buttonNo.onclick = function() {&lt;br&gt;
            appendMessage('bot', responses["no"]);&lt;br&gt;
        };&lt;br&gt;
        const buttonContainer = document.createElement('div');&lt;br&gt;
        buttonContainer.classList.add('button-container');&lt;br&gt;
        buttonContainer.appendChild(buttonYes);&lt;br&gt;
        buttonContainer.appendChild(buttonNo);&lt;br&gt;
        chatBox.appendChild(buttonContainer);&lt;br&gt;
    }&lt;br&gt;
}&lt;/p&gt;

&lt;p&gt;In this blog, I shared how to build a Chatbot with HTML CSS and JavaScript. I hope you enjoyed reading this blog and found the information provided on the Chatbot with HTML CSS and JavaScript helpful. if you have any questions you can ask me in the comment section&lt;/p&gt;

</description>
    </item>
  </channel>
</rss>
