<?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>Forem: CodingNepal</title>
    <description>The latest articles on Forem by CodingNepal (@codingnepalweb).</description>
    <link>https://forem.com/codingnepalweb</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%2F413589%2F98a1eb66-04a4-4bd8-b24a-c390d5342cdd.png</url>
      <title>Forem: CodingNepal</title>
      <link>https://forem.com/codingnepalweb</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://forem.com/feed/codingnepalweb"/>
    <language>en</language>
    <item>
      <title>Download YouTube Video Thumbnail in PHP &amp; JavaScript</title>
      <dc:creator>CodingNepal</dc:creator>
      <pubDate>Wed, 09 Jun 2021 15:55:14 +0000</pubDate>
      <link>https://forem.com/codingnepalweb/download-youtube-video-thumbnail-in-php-javascript-5nl</link>
      <guid>https://forem.com/codingnepalweb/download-youtube-video-thumbnail-in-php-javascript-5nl</guid>
      <description>&lt;p&gt;Hey friends, today in this blog you’ll learn how to Save or Download YouTube Video Thumbnail or other Image Files using PHP cURL &amp;amp; JavaScript. In the earlier blog, I have shared a blog on how to create a URL Shortner Website using PHP and now it’s time to create a project to download YouTube video thumbnail using JavaScript &amp;amp; PHP.&lt;/p&gt;

&lt;p&gt;In this project [Download YouTube Video Thumbnail], as you can see in the image preview there is a white box or form with an input field, image preview area, and a download button. Download button is disabled until you paste a valid YouTube video URL or other image file URL.&lt;/p&gt;

&lt;p&gt;When you paste YouTube video URL immediately there is appears a preview of the thumbnail of that video and you can download it. This thumbnail downloader accepts all types of YouTube video URLs means long or short URLs of the videos. And it also accepts any other image file like .jpg, .jepg, .png, .gif, and .webp.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://www.youtube.com/watch?v=FucPPCPDd2Y"&gt;Click here&lt;/a&gt; to watch video tutorial of this project on YouTube&lt;/p&gt;

&lt;p&gt;To create this project [Download YouTube Video Thumbnail]. First, you need to create two Files... one PHP File, and one is CSS File. After creating these files just paste the following codes into your file. You can also download the source code files of this Download YouTube Video Thumbnail from this &lt;a href="https://www.codingnepalweb.com/download-youtube-video-thumbnail/"&gt;download link.&lt;/a&gt;&lt;/p&gt;

&lt;h6&gt;
  
  
  PHP CODE:
&lt;/h6&gt;



&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;&amp;lt;?php
  if(isset($_POST['button'])){
    $imgUrl = $_POST['imgurl'];
    $ch = curl_init($imgUrl);
    curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
    $downloadImg = curl_exec($ch);
    curl_close($ch);
    header('Content-type: image/jpg');
    header('Content-Disposition: attachment;filename="thumbnail.jpg"');
    echo $downloadImg;
  }
?&amp;gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;h6&gt;
  
  
  HTML Code
&lt;/h6&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 CodingNepal - youtube.com/codingnepal --&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 name="viewport" content="width=device-width, initial-scale=1.0"&amp;gt;
  &amp;lt;title&amp;gt;Download YouTube Video Thumbnail | CodingNepal&amp;lt;/title&amp;gt;
  &amp;lt;link rel="stylesheet" href="style.css"&amp;gt;
  &amp;lt;link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/5.15.3/css/all.min.css"/&amp;gt;
&amp;lt;/head&amp;gt;
&amp;lt;body&amp;gt;
  &amp;lt;form action="&amp;lt;?php echo $_SERVER['PHP_SELF']; ?&amp;gt;" method="POST"&amp;gt;
    &amp;lt;header&amp;gt;Download Thumbnail&amp;lt;/header&amp;gt;
    &amp;lt;div class="url-input"&amp;gt;
      &amp;lt;span class="title"&amp;gt;Paste video url:&amp;lt;/span&amp;gt;
      &amp;lt;div class="field"&amp;gt;
        &amp;lt;input type="text" placeholder="https://www.youtube.com/watch?v=lqwdD2ivIbM" required&amp;gt;
        &amp;lt;input class="hidden-input" type="hidden" name="imgurl"&amp;gt;
        &amp;lt;span class="bottom-line"&amp;gt;&amp;lt;/span&amp;gt;
      &amp;lt;/div&amp;gt;
    &amp;lt;/div&amp;gt;
    &amp;lt;div class="preview-area"&amp;gt;
      &amp;lt;img class="thumbnail" src="" alt=""&amp;gt;
      &amp;lt;i class="icon fas fa-cloud-download-alt"&amp;gt;&amp;lt;/i&amp;gt;
      &amp;lt;span&amp;gt;Paste video url to see preview&amp;lt;/span&amp;gt;
    &amp;lt;/div&amp;gt;
    &amp;lt;button class="download-btn" type="submit" name="button"&amp;gt;Download Thumbnail&amp;lt;/button&amp;gt;
  &amp;lt;/form&amp;gt;
  &amp;lt;script&amp;gt;
    const urlField = document.querySelector(".field input"),
    previewArea = document.querySelector(".preview-area"),
    imgTag = previewArea.querySelector(".thumbnail"),
    hiddenInput = document.querySelector(".hidden-input"),
    button = document.querySelector(".download-btn");
    urlField.onkeyup = ()=&amp;gt;{
      let imgUrl = urlField.value;
      previewArea.classList.add("active");
      button.style.pointerEvents = "auto";
      if(imgUrl.indexOf("https://www.youtube.com/watch?v=") != -1){
        let vidId = imgUrl.split('v=')[1].substring(0, 11);
        let ytImgUrl = `https://img.youtube.com/vi/${vidId}/maxresdefault.jpg`;
        imgTag.src = ytImgUrl;
      }else if(imgUrl.indexOf("https://youtu.be/") != -1){
        let vidId = imgUrl.split('be/')[1].substring(0, 11);
        let ytImgUrl = `https://img.youtube.com/vi/${vidId}/maxresdefault.jpg`;
        imgTag.src = ytImgUrl;
      }else if(imgUrl.match(/\.(jpe?g|png|gif|bmp|webp)$/i)){
        imgTag.src = imgUrl;
      }else{
        imgTag.src = "";
        button.style.pointerEvents = "none";
        previewArea.classList.remove("active");
      }
      hiddenInput.value = imgTag.src;
    }
  &amp;lt;/script&amp;gt;
&amp;lt;/body&amp;gt;
&amp;lt;/html&amp;gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;h6&gt;
  
  
  CSS CODE:
&lt;/h6&gt;



&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;/* Import Google font - Poppins &amp;amp; Noto */
@import url('https://fonts.googleapis.com/css2?family=Noto+Sans:wght@400;500;600;700&amp;amp;family=Poppins:wght@400;500;600&amp;amp;display=swap');
*{
  margin: 0;
  padding: 0;
  box-sizing: border-box;
  font-family: "Poppins", sans-serif;
}
body{
  display: flex;
  align-items: center;
  justify-content: center;
  min-height: 100vh;
  background: #7D2AE8;
}
::selection{
  color: #fff;
  background: #7D2AE8;
}
form{
  width: 450px;
  background: #fff;
  padding: 30px ;
  border-radius: 5px;
  box-shadow: 10px 10px 13px rgba(0,0,0,0.1);
}
form header{
  text-align: center;
  font-size: 28px;
  font-weight: 500;
  margin-top: 10px;
  color: #7D2AE8;
}
form .url-input{
  margin: 30px 0;
}
.url-input .title{
  font-size: 18px;
  color: #373737;
}
.url-input .field{
  margin-top: 5px;
  height: 50px;
  width: 100%;
  position: relative;
}
.url-input .field input{
  height: 100%;
  width: 100%;
  border: none;
  outline: none;
  padding: 0 15px;
  font-size: 15px;
  background: #F1F1F7;
  border-bottom: 2px solid #ccc;
  font-family: 'Noto Sans', sans-serif;
}
.url-input .field input::placeholder{
  color: #b3b3b3;
}
.url-input .field .bottom-line{
  position: absolute;
  left: 0;
  bottom: 0;
  height: 2px;
  width: 100%;
  background: #7D2AE8;
  transform: scale(0);
  transition: transform 0.3s ease;
}
.url-input .field input:focus ~ .bottom-line,
.url-input .field input:valid ~ .bottom-line{
  transform: scale(1);
}
form .preview-area{
  border-radius: 5px;
  height: 220px;
  display: flex;
  overflow: hidden;
  align-items: center;
  justify-content: center;
  flex-direction: column;
  border: 2px dashed #8e46ec;
}
.preview-area.active{
  border: none;
}
.preview-area .thumbnail{
  width: 100%;
  display: none;
  border-radius: 5px;
}
.preview-area.active .thumbnail{
  display: block;
}
.preview-area.active .icon,
.preview-area.active span{
  display: none;
}
.preview-area .icon{
  color: #8e46ec;
  font-size: 80px;
}
.preview-area span{
  color: #8e46ec;
  margin-top: 25px;
}
form .download-btn{
  color: #fff;
  height: 53px;
  width: 100%;
  outline: none;
  border: none;
  font-size: 17px;
  font-weight: 500;
  cursor: pointer;
  margin: 30px 0 20px 0;
  border-radius: 5px;
  background: #7D2AE8;
  pointer-events: none;
  transition: background 0.3s ease;
}
.download-btn:hover{
  background: #6616d0;
}
@media screen and (max-width: 460px){
  body{
    padding: 0 20px;
  }
  form header{
    font-size: 24px;
  }
  .url-input .field,
  form .download-btn{
    height: 45px;
  }
  form .download-btn{
    font-size: 15px;
  }
  form .preview-area{
    height: 130px;
  }
  .preview-area .icon{
    font-size: 50px;
  }
  .preview-area span{
    margin-top: 10px;
    font-size: 12px;
  }
}
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;For detailed explanation of these codes please visit the offical blog post - &lt;a href="https://www.codingnepalweb.com/download-youtube-video-thumbnail/"&gt;https://www.codingnepalweb.com/download-youtube-video-thumbnail/&lt;/a&gt;&lt;/p&gt;

</description>
      <category>php</category>
      <category>javascript</category>
      <category>saveimageinphp</category>
      <category>downloadimageinphp</category>
    </item>
    <item>
      <title>Login Form Validation in HTML CSS &amp; JavaScript</title>
      <dc:creator>CodingNepal</dc:creator>
      <pubDate>Fri, 04 Jun 2021 08:56:25 +0000</pubDate>
      <link>https://forem.com/codingnepalweb/login-form-validation-in-html-css-javascript-3akn</link>
      <guid>https://forem.com/codingnepalweb/login-form-validation-in-html-css-javascript-3akn</guid>
      <description>&lt;p&gt;Form Validation in HTML means to check that the user’s entered credential – Email, Username, Password is valid and correct or not. User will not get access to the restricted page until he/she entered a valid email and password. And, Shake Effect in this Login Form means when the user clicks on the login button without entering their email and password then the input boxes shake to inform the user that these fields can’t be blank.&lt;/p&gt;

&lt;p&gt;In our Login Form Validation in HTML &amp;amp; JavaScript, as you can see on the image preview, there is a login form that holds login text, two input fields, a login button, etc. at first those login errors are not shown but when the user clicks on the login button without entering their email &amp;amp; password then there is appear these errors with shake effect.&lt;/p&gt;

&lt;p&gt;To create this program [Form Validation in HTML &amp;amp; JavaScript]. First, you need to create three Files two HTML Files, and one JavaScript File. After creating these files just paste the following codes into your file. You can also download the source code files of this Form Validation in HTML from this &lt;a href="https://www.codingnepalweb.com/login-form-validation-in-html-javascript/"&gt;download link.&lt;/a&gt;&lt;/p&gt;

&lt;h6&gt;
  
  
  HTML CODE:
&lt;/h6&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 CodingNepal - youtube.com/codingnepal --&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 name="viewport" content="width=device-width, initial-scale=1.0"&amp;gt;
  &amp;lt;title&amp;gt;Login Form validation in HTML &amp;amp; CSS | CodingNepal&amp;lt;/title&amp;gt;
  &amp;lt;link rel="stylesheet" href="style.css"&amp;gt;
  &amp;lt;link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/5.15.3/css/all.min.css"/&amp;gt;
&amp;lt;/head&amp;gt;
&amp;lt;body&amp;gt;
  &amp;lt;div class="wrapper"&amp;gt;
    &amp;lt;header&amp;gt;Login Form&amp;lt;/header&amp;gt;
    &amp;lt;form action="#"&amp;gt;
      &amp;lt;div class="field email"&amp;gt;
        &amp;lt;div class="input-area"&amp;gt;
          &amp;lt;input type="text" placeholder="Email Address"&amp;gt;
          &amp;lt;i class="icon fas fa-envelope"&amp;gt;&amp;lt;/i&amp;gt;
          &amp;lt;i class="error error-icon fas fa-exclamation-circle"&amp;gt;&amp;lt;/i&amp;gt;
        &amp;lt;/div&amp;gt;
        &amp;lt;div class="error error-txt"&amp;gt;Email can't be blank&amp;lt;/div&amp;gt;
      &amp;lt;/div&amp;gt;
      &amp;lt;div class="field password"&amp;gt;
        &amp;lt;div class="input-area"&amp;gt;
          &amp;lt;input type="password" placeholder="Password"&amp;gt;
          &amp;lt;i class="icon fas fa-lock"&amp;gt;&amp;lt;/i&amp;gt;
          &amp;lt;i class="error error-icon fas fa-exclamation-circle"&amp;gt;&amp;lt;/i&amp;gt;
        &amp;lt;/div&amp;gt;
        &amp;lt;div class="error error-txt"&amp;gt;Password can't be blank&amp;lt;/div&amp;gt;
      &amp;lt;/div&amp;gt;
      &amp;lt;div class="pass-txt"&amp;gt;&amp;lt;a href="#"&amp;gt;Forgot password?&amp;lt;/a&amp;gt;&amp;lt;/div&amp;gt;
      &amp;lt;input type="submit" value="Login"&amp;gt;
    &amp;lt;/form&amp;gt;
    &amp;lt;div class="sign-txt"&amp;gt;Not yet member? &amp;lt;a href="#"&amp;gt;Signup now&amp;lt;/a&amp;gt;&amp;lt;/div&amp;gt;
  &amp;lt;/div&amp;gt;

  &amp;lt;script src="script.js"&amp;gt;&amp;lt;/script&amp;gt;

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

&lt;/div&gt;



&lt;h6&gt;
  
  
  CSS CODE:
&lt;/h6&gt;



&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;@import url('https://fonts.googleapis.com/css2?family=Poppins:wght@400;500;600&amp;amp;display=swap');
*{
  margin: 0;
  padding: 0;
  box-sizing: border-box;
  font-family: "Poppins", sans-serif;
}
body{
  width: 100%;
  height: 100vh;
  display: flex;
  align-items: center;
  justify-content: center;
  background: #5372F0;
}
::selection{
  color: #fff;
  background: #5372F0;
}
.wrapper{
  width: 380px;
  padding: 40px 30px 50px 30px;
  background: #fff;
  border-radius: 5px;
  text-align: center;
  box-shadow: 10px 10px 15px rgba(0,0,0,0.1);
}
.wrapper header{
  font-size: 35px;
  font-weight: 600;
}
.wrapper form{
  margin: 40px 0;
}
form .field{
  width: 100%;
  margin-bottom: 20px;
}
form .field.shake{
  animation: shake 0.3s ease-in-out;
}
@keyframes shake {
  0%, 100%{
    margin-left: 0px;
  }
  20%, 80%{
    margin-left: -12px;
  }
  40%, 60%{
    margin-left: 12px;
  }
}
form .field .input-area{
  height: 50px;
  width: 100%;
  position: relative;
}
form input{
  width: 100%;
  height: 100%;
  outline: none;
  padding: 0 45px;
  font-size: 18px;
  background: none;
  caret-color: #5372F0;
  border-radius: 5px;
  border: 1px solid #bfbfbf;
  border-bottom-width: 2px;
  transition: all 0.2s ease;
}
form .field input:focus,
form .field.valid input{
  border-color: #5372F0;
}
form .field.shake input,
form .field.error input{
  border-color: #dc3545;
}
.field .input-area i{
  position: absolute;
  top: 50%;
  font-size: 18px;
  pointer-events: none;
  transform: translateY(-50%);
}
.input-area .icon{
  left: 15px;
  color: #bfbfbf;
  transition: color 0.2s ease;
}
.input-area .error-icon{
  right: 15px;
  color: #dc3545;
}
form input:focus ~ .icon,
form .field.valid .icon{
  color: #5372F0;
}
form .field.shake input:focus ~ .icon,
form .field.error input:focus ~ .icon{
  color: #bfbfbf;
}
form input::placeholder{
  color: #bfbfbf;
  font-size: 17px;
}
form .field .error-txt{
  color: #dc3545;
  text-align: left;
  margin-top: 5px;
}
form .field .error{
  display: none;
}
form .field.shake .error,
form .field.error .error{
  display: block;
}
form .pass-txt{
  text-align: left;
  margin-top: -10px;
}
.wrapper a{
  color: #5372F0;
  text-decoration: none;
}
.wrapper a:hover{
  text-decoration: underline;
}
form input[type="submit"]{
  height: 50px;
  margin-top: 30px;
  color: #fff;
  padding: 0;
  border: none;
  background: #5372F0;
  cursor: pointer;
  border-bottom: 2px solid rgba(0,0,0,0.1);
  transition: all 0.3s ease;
}
form input[type="submit"]:hover{
  background: #2c52ed;
}
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;For JavaScript codes, please go to our original blog - &lt;a href="https://www.codingnepalweb.com/login-form-validation-in-html-javascript/"&gt;https://www.codingnepalweb.com/login-form-validation-in-html-javascript/&lt;/a&gt;&lt;/p&gt;

</description>
      <category>loginform</category>
      <category>javascript</category>
      <category>html</category>
      <category>validation</category>
    </item>
    <item>
      <title>Detect AdBlock using HTML CSS &amp; JavaScript</title>
      <dc:creator>CodingNepal</dc:creator>
      <pubDate>Tue, 25 May 2021 19:05:14 +0000</pubDate>
      <link>https://forem.com/codingnepalweb/detect-adblock-using-html-css-javascript-dkh</link>
      <guid>https://forem.com/codingnepalweb/detect-adblock-using-html-css-javascript-dkh</guid>
      <description>&lt;p&gt;Hey friends, today in this blog you’ll learn how to Detect AdBlock using JavaScript. In the earlier blog, I have shared &lt;a href="https://codingnepalweb.com/detect-internet-connection-javascript/"&gt;how to Detect Internet Connection Status using JavaScript&lt;/a&gt; and now it’s time to create a popup box using JavaScript that detects AdBlocker. If you’re new to this blog and it’s the first blog you’re viewing then click here to view playlists of our all JavaScript Projects on YouTube.&lt;/p&gt;

&lt;p&gt;In our program [Detect AdBlock using JavaScript], as you can see in the preview image there is a popup box with some text and a button to dismiss the popup. If the user has enabled AdBlocker then this popup will be displayed and if not then this popup will not be displayed.&lt;/p&gt;

&lt;p&gt;You've to create two files (HTML &amp;amp; CSS) and copy the given source codes and paste into your files.&lt;/p&gt;

&lt;h6&gt;
  
  
  HTML CODE:
&lt;/h6&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 CodingNepal - youtube.com/codingnepal --&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 name="viewport" content="width=device-width, initial-scale=1.0"&amp;gt;
  &amp;lt;title&amp;gt;Detect AdBlock using JavaScript | CodingNepal&amp;lt;/title&amp;gt;
  &amp;lt;link rel="stylesheet" href="style.css"&amp;gt;
  &amp;lt;link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/5.15.3/css/all.min.css"/&amp;gt;
&amp;lt;/head&amp;gt;
&amp;lt;body&amp;gt;
  &amp;lt;div id="detect"&amp;gt;&amp;lt;/div&amp;gt;
  &amp;lt;div class="wrapper"&amp;gt;
    &amp;lt;div class="content"&amp;gt;
      &amp;lt;div class="warn-icon"&amp;gt;
        &amp;lt;span class="icon"&amp;gt;&amp;lt;i class="fas fa-exclamation"&amp;gt;&amp;lt;/i&amp;gt;&amp;lt;/span&amp;gt;
      &amp;lt;/div&amp;gt;
      &amp;lt;h2&amp;gt;AdBlock Detected!&amp;lt;/h2&amp;gt;
      &amp;lt;p&amp;gt;Our website is made possible by displaying ads to our visitors. Please supporting us by whitelisting our website.&amp;lt;/p&amp;gt;
      &amp;lt;div class="btn"&amp;gt;
        &amp;lt;div class="bg-layer"&amp;gt;&amp;lt;/div&amp;gt;
        &amp;lt;button&amp;gt;Okay, I'll Whitelist&amp;lt;/button&amp;gt;
      &amp;lt;/div&amp;gt;
    &amp;lt;/div&amp;gt;
  &amp;lt;/div&amp;gt;

  &amp;lt;script&amp;gt;
    const detect = document.querySelector("#detect");
    const wrapper = document.querySelector(".wrapper");
    const button = wrapper.querySelector("button");

    let adClasses = ["ad", "ads", "adsbox", "doubleclick", "ad-placement", "ad-placeholder", "adbadge", "BannerAd"];
    for(let item of adClasses){
      detect.classList.add(item);
    }
    let getProperty = window.getComputedStyle(detect).getPropertyValue("display");
    if(!wrapper.classList.contains("show")){
      getProperty == "none" ? wrapper.classList.add("show") : wrapper.classList.remove("show");
    }
    button.addEventListener("click", ()=&amp;gt;{
      wrapper.classList.remove("show");
    });
  &amp;lt;/script&amp;gt;

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

&lt;/div&gt;



&lt;h6&gt;
  
  
  CSS CODE:
&lt;/h6&gt;



&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;@import url('https://fonts.googleapis.com/css2?family=Noto+Sans:wght@700&amp;amp;family=Poppins:wght@400;500;600&amp;amp;display=swap');
*{
  margin: 0;
  padding: 0;
  box-sizing: border-box;
  font-family: "Poppins", sans-serif;
}
body{
  width: 100%;
  height: 100vh;
  background: linear-gradient(135deg, #9b27ca 0%, #9927cf 0%, #d33639 100%, #f92121 100%);
}
::selection{
  color: #fff;
  background: #9b27ca;
}
.wrapper{
  position: absolute;
  max-width: 480px;
  top: 50%;
  left: 50%;
  width: 100%;
  padding: 40px 30px;
  background: #fff;
  border-radius: 15px;
  opacity: 0;
  pointer-events: none;
  transform: translate(-50%, -50%) scale(1.2);
  box-shadow: 10px 10px 15px rgba(0,0,0,0.06);
  transition: opacity 0.2s 0s ease-in-out,
              transform 0.2s 0s ease-in-out;
}
.wrapper.show{
  opacity: 1;
  pointer-events: auto;
  transform:translate(-50%, -50%) scale(1);
}
.wrapper .content,
.content .warn-icon,
.warn-icon .icon{
  display: flex;
  align-items: center;
  justify-content: center;
}
.wrapper .content{
  flex-direction: column;
}
.content .warn-icon{
  height: 115px;
  width: 115px;
  border-radius: 50%;
  background: linear-gradient(#9b27ca 0%, #9927cf 0%, #d33639 100%, #f92121 100%);
}
.warn-icon .icon{
  height: 100px;
  width: 100px;
  background: #fff;
  border-radius: inherit;
}
.warn-icon .icon i{
  background: linear-gradient(#9b27ca 0%, #9927cf 0%, #d33639 100%, #f92121 100%);
  background-clip: text;
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
  font-size: 50px;
}
.content h2{
  margin-top: 35px;
  font-size: 32px;
}
.content p{
  font-size: 19px;
  text-align: center;
  margin-top: 20px;
}
.btn{
  height: 57px;
  width: 223px;
  margin-top: 30px;
  border-radius: 50px;
  position: relative;
  overflow: hidden;
}
.btn .bg-layer{
  height: 100%;
  width: 300%;
  position: absolute;
  left: -100%;
  background: -webkit-linear-gradient(135deg, #9b27ca, #d33639, #9b27ca, #d33639);
  transition: all 0.4s ease;
}
.btn:hover .bg-layer{
  left: 0;
}
.content button{
  position: relative;
  z-index: 1;
  height: 100%;
  width: 100%;
  background: none;
  font-size: 18px;
  border: none;
  outline: none;
  color: #fff;
  cursor: pointer;
}
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;That’s all, now you’ve successfully created an AdBlock Detector using HTML CSS &amp;amp; JavaScript. If your code does not work or you’ve faced any error/problem then please download the source code files from the given download link. &lt;a href="https://codingnepalweb.com/detect-adblock-with-javascript/"&gt;Click here to download code files.&lt;/a&gt;&lt;/p&gt;

</description>
      <category>adblock</category>
      <category>adunblocker</category>
      <category>detectadblock</category>
      <category>javascript</category>
    </item>
    <item>
      <title>10 Best JavaScript Projects for Beginners [JavaScript Examples]</title>
      <dc:creator>CodingNepal</dc:creator>
      <pubDate>Sat, 15 May 2021 15:03:11 +0000</pubDate>
      <link>https://forem.com/codingnepalweb/create-custom-music-player-in-javascript-4c25</link>
      <guid>https://forem.com/codingnepalweb/create-custom-music-player-in-javascript-4c25</guid>
      <description>&lt;p&gt;View all JavaScript Projects here - &lt;a href="https://codingnepalweb.com/javascript-projects-for-beginners/"&gt;https://codingnepalweb.com/javascript-projects-for-beginners/&lt;/a&gt;&lt;/p&gt;

</description>
      <category>javascript</category>
      <category>javascriptprojects</category>
      <category>jsproject</category>
    </item>
    <item>
      <title>Create Custom Music Player in JavaScript</title>
      <dc:creator>CodingNepal</dc:creator>
      <pubDate>Sat, 15 May 2021 15:00:53 +0000</pubDate>
      <link>https://forem.com/codingnepalweb/create-custom-music-player-in-javascript-2367</link>
      <guid>https://forem.com/codingnepalweb/create-custom-music-player-in-javascript-2367</guid>
      <description>&lt;p&gt;Hey friends, today in this blog you’ll learn how to Create a Custom Music Player in JavaScript. We’ll use HTML CSS &amp;amp; Pure JavaScript to create this awesome music player. Earlier I have also shared a JavaScript Project which is about How to Check Network Status using JavaScript and now it’s time to create a beautiful music player in JavaScript.&lt;/p&gt;

&lt;p&gt;This project [Music Player in JavaScript] has several features like you can loop, repeat or shuffle a song, play/pause a song or play the next or previous song. You can view your songs list and also know which song is currently playing and you can also select the song from the list to play.&lt;/p&gt;

&lt;h4&gt;
  
  
  You might like this:
&lt;/h4&gt;

&lt;p&gt;&lt;a href="https://codingnepalweb.com/todo-list-app-javascript/"&gt;Todo App List using JavaScript&lt;/a&gt;&lt;br&gt;
&lt;a href="https://codingnepalweb.com/tic-tac-toe-game-javascript/"&gt;Tic Tac Toe using Pure JavaScript&lt;/a&gt;&lt;br&gt;
&lt;a href="https://codingnepalweb.com/detect-internet-connection-javascript/"&gt;Check Network Status in JavaScript&lt;/a&gt;&lt;br&gt;
&lt;a href="https://codingnepalweb.com/drag-drop-file-upload-feature-javascript/"&gt;Drag &amp;amp; Drop File or Browse Upload&lt;/a&gt;&lt;/p&gt;

&lt;h6&gt;
  
  
  HTML CODE:
&lt;/h6&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 CodingNepal - youtube.com/codingnepal --&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 name="viewport" content="width=device-width, initial-scale=1.0"&amp;gt;
  &amp;lt;title&amp;gt;Music Player | CodingNepal&amp;lt;/title&amp;gt;
  &amp;lt;link rel="stylesheet" href="style.css"&amp;gt;
  &amp;lt;link rel="stylesheet" href="https://fonts.googleapis.com/icon?family=Material+Icons"&amp;gt;
&amp;lt;/head&amp;gt;
&amp;lt;body&amp;gt;
  &amp;lt;div class="wrapper"&amp;gt;
    &amp;lt;div class="top-bar"&amp;gt;
      &amp;lt;i class="material-icons"&amp;gt;expand_more&amp;lt;/i&amp;gt;
      &amp;lt;span&amp;gt;Now Playing&amp;lt;/span&amp;gt;
      &amp;lt;i class="material-icons"&amp;gt;more_horiz&amp;lt;/i&amp;gt;
    &amp;lt;/div&amp;gt;
    &amp;lt;div class="img-area"&amp;gt;
      &amp;lt;img src="" alt=""&amp;gt;
    &amp;lt;/div&amp;gt;
    &amp;lt;div class="song-details"&amp;gt;
      &amp;lt;p class="name"&amp;gt;&amp;lt;/p&amp;gt;
      &amp;lt;p class="artist"&amp;gt;&amp;lt;/p&amp;gt;
    &amp;lt;/div&amp;gt;
    &amp;lt;div class="progress-area"&amp;gt;
      &amp;lt;div class="progress-bar"&amp;gt;
        &amp;lt;audio id="main-audio" src=""&amp;gt;&amp;lt;/audio&amp;gt;
      &amp;lt;/div&amp;gt;
      &amp;lt;div class="song-timer"&amp;gt;
        &amp;lt;span class="current-time"&amp;gt;0:00&amp;lt;/span&amp;gt;
        &amp;lt;span class="max-duration"&amp;gt;0:00&amp;lt;/span&amp;gt;
      &amp;lt;/div&amp;gt;
    &amp;lt;/div&amp;gt;
    &amp;lt;div class="controls"&amp;gt;
      &amp;lt;i id="repeat-plist" class="material-icons" title="Playlist looped"&amp;gt;repeat&amp;lt;/i&amp;gt;
      &amp;lt;i id="prev" class="material-icons"&amp;gt;skip_previous&amp;lt;/i&amp;gt;
      &amp;lt;div class="play-pause"&amp;gt;
        &amp;lt;i class="material-icons play"&amp;gt;play_arrow&amp;lt;/i&amp;gt;
      &amp;lt;/div&amp;gt;
      &amp;lt;i id="next" class="material-icons"&amp;gt;skip_next&amp;lt;/i&amp;gt;
      &amp;lt;i id="more-music" class="material-icons"&amp;gt;queue_music&amp;lt;/i&amp;gt;
    &amp;lt;/div&amp;gt;
    &amp;lt;div class="music-list"&amp;gt;
      &amp;lt;div class="header"&amp;gt;
        &amp;lt;div class="row"&amp;gt;
          &amp;lt;i class= "list material-icons"&amp;gt;queue_music&amp;lt;/i&amp;gt;
          &amp;lt;span&amp;gt;Music list&amp;lt;/span&amp;gt;
        &amp;lt;/div&amp;gt;
        &amp;lt;i id="close" class="material-icons"&amp;gt;close&amp;lt;/i&amp;gt;
      &amp;lt;/div&amp;gt;
      &amp;lt;ul&amp;gt;
        &amp;lt;!-- here li list are coming from js --&amp;gt;
      &amp;lt;/ul&amp;gt;
    &amp;lt;/div&amp;gt;
  &amp;lt;/div&amp;gt;

  &amp;lt;script src="js/music-list.js"&amp;gt;&amp;lt;/script&amp;gt;
  &amp;lt;script src="js/script.js"&amp;gt;&amp;lt;/script&amp;gt;

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

&lt;/div&gt;



&lt;h6&gt;
  
  
  CSS CODE:
&lt;/h6&gt;



&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;@import url('https://fonts.googleapis.com/css2?family=Poppins:wght@200;300;400;500;600;700&amp;amp;display=swap');
*{
  margin: 0;
  padding: 0;
  box-sizing: border-box;
  font-family: "Poppins", sans-serif;
}
*::before, *::after{
  padding: 0;
  margin: 0;
}
:root{
  --pink: #ff74a4;
  --violet: #9f6ea3;
  --lightblack: #515C6F;
  --white: #ffffff;
  --darkwhite: #cecaca;
  --pinkshadow: #ffcbdd;
  --lightbshadow: rgba(0,0,0,0.15);
}
body{
  display: flex;
  align-items: center;
  justify-content: center;
  min-height: 100vh;
  background: linear-gradient(var(--pink) 0%, var(--violet) 100%);
}
.wrapper{
  width: 380px;
  padding: 25px 30px;
  overflow: hidden;
  position: relative;
  border-radius: 15px;
  background: var(--white);
  box-shadow: 0px 6px 15px var(--lightbshadow);
}
.wrapper i{
  cursor: pointer;
}
.top-bar, .progress-area .song-timer, 
.controls, .music-list .header, .music-list ul li{
  display: flex;
  align-items: center;
  justify-content: space-between;
}
.top-bar i{
  font-size: 30px;
  color: var(--lightblack);
}
.top-bar i:first-child{
  margin-left: -7px;
}
.top-bar span{
  font-size: 18px;
  margin-left: -3px;
  color: var(--lightblack);
}
.img-area{
  width: 100%;
  height: 256px;
  overflow: hidden;
  margin-top: 25px;
  border-radius: 15px;
  box-shadow: 0px 6px 12px var(--lightbshadow);
}
.img-area img{
  width: 100%;
  height: 100%;
  object-fit: cover;
}
.song-details{
  text-align: center;
  margin: 30px 0;
}
.song-details p{
  color: var(--lightblack);
}
.song-details .name{
  font-size: 21px;
}
.song-details .artist{
  font-size: 18px;
  opacity: 0.9;
  line-height: 35px;
}
.progress-area{
  height: 6px;
  width: 100%;
  border-radius: 50px;
  background: #f0f0f0;
  cursor: pointer;
}
.progress-area .progress-bar{
  height: inherit;
  width: 0%;
  position: relative;
  border-radius: inherit;
  background: linear-gradient(90deg, var(--pink) 0%, var(--violet) 100%);
}
.progress-bar::before{
  content: "";
  position: absolute;
  height: 12px;
  width: 12px;
  border-radius: 50%;
  top: 50%;
  right: -5px;
  z-index: 2;
  opacity: 0;
  pointer-events: none;
  transform: translateY(-50%);
  background: inherit;
  transition: opacity 0.2s ease;
}
.progress-area:hover .progress-bar::before{
  opacity: 1;
  pointer-events: auto;
}
.progress-area .song-timer{
  margin-top: 2px;
}
.song-timer span{
  font-size: 13px;
  color: var(--lightblack);
}
.controls{
  margin: 40px 0 5px 0;
}
.controls i{
  font-size: 28px;
  user-select: none;
  background: linear-gradient(var(--pink) 0%, var(--violet) 100%);
  background-clip: text;
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
}
.controls i:nth-child(2),
.controls i:nth-child(4){
  font-size: 43px;
}
.controls #prev{
  margin-right: -13px;
}
.controls #next{
  margin-left: -13px;
}
.controls .play-pause{
  height: 54px;
  width: 54px;
  display: flex;
  cursor: pointer;
  align-items: center;
  justify-content: center;
  border-radius: 50%;
  background: linear-gradient(var(--white) 0%, var(--darkwhite) 100%);
  box-shadow: 0px 0px 5px var(--pink);
}
.play-pause::before{
  position: absolute;
  content: "";
  height: 43px;
  width: 43px;
  border-radius: inherit;
  background: linear-gradient(var(--pink) 0%, var(--violet) 100%);
}
.play-pause i{
  height: 43px;
  width: 43px;
  line-height: 43px;
  text-align: center;
  background: inherit;
  background-clip: text;
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
  position: absolute;
}

.music-list{
  position: absolute;
  background: var(--white);
  width: 100%;
  left: 0;
  bottom: -55%;
  opacity: 0;
  pointer-events: none;
  z-index: 5;
  padding: 15px 30px;
  border-radius: 15px;
  box-shadow: 0px -5px 10px rgba(0,0,0,0.1);
  transition: all 0.15s ease-out;
}
.music-list.show{
  bottom: 0;
  opacity: 1;
  pointer-events: auto;
}
.header .row{
  display: flex;
  align-items: center;
  font-size: 19px;
  color: var(--lightblack);
}
.header .row i{
  cursor: default;
}
.header .row span{
  margin-left: 5px;
}
.header #close{
  font-size: 22px;
  color: var(--lightblack);
}
.music-list ul{
  margin: 10px 0;
  max-height: 260px;
  overflow: auto;
}
.music-list ul::-webkit-scrollbar{
  width: 0px;
}
.music-list ul li{
  list-style: none;
  display: flex;
  cursor: pointer;
  padding-bottom: 10px;
  margin-bottom: 5px;
  color: var(--lightblack);
  border-bottom: 1px solid #E5E5E5;
}
.music-list ul li:last-child{
  border-bottom: 0px;
}
.music-list ul li .row span{
  font-size: 17px;
}
.music-list ul li .row p{
  opacity: 0.9;
}
ul li .audio-duration{
  font-size: 16px;
}
ul li.playing{
  pointer-events: none;
  color: var(--violet);
}
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;For JavaScript codes or source files please go to our blog post - &lt;a href="https://codingnepalweb.com/create-music-player-in-javascript/"&gt;https://codingnepalweb.com/create-music-player-in-javascript/&lt;/a&gt;&lt;/p&gt;

</description>
      <category>javascript</category>
      <category>musicplayer</category>
      <category>jsmusicplayer</category>
    </item>
    <item>
      <title>Twitter Tweet Box with Character Limit Highlighting in HTML CSS &amp; JavaScript</title>
      <dc:creator>CodingNepal</dc:creator>
      <pubDate>Tue, 13 Apr 2021 17:03:26 +0000</pubDate>
      <link>https://forem.com/codingnepalweb/twitter-tweet-box-with-character-limit-highlighting-in-html-css-javascript-2ai8</link>
      <guid>https://forem.com/codingnepalweb/twitter-tweet-box-with-character-limit-highlighting-in-html-css-javascript-2ai8</guid>
      <description>&lt;p&gt;Hey friends, today in this blog you'll learn how to create a Twitter Tweet Box with Character Limit Highlighting using HTML CSS &amp;amp; JavaScript. In the earlier blog, I have shared &lt;a href="https://www.codingnepalweb.com/2021/03/limit-input-characters-using-javascript.html"&gt;how to Easily Limit Input Characters in JavaScript&lt;/a&gt;, and in this blog, you'll also learn to limit input characters but it will be more advanced than the previous one because in this Twitter tweet box there is a feature of character limit highlighting which was not in the previous project.&lt;/p&gt;

&lt;p&gt;If you have a Twitter account then you definitely know what is tweet box and how it looks like. In this project [Twitter Post Share Box or Tweet Box], on the webpage, there is a tweet box as you can see in the preview image. In this box, there is a typing area, some media icons, a characters limit counter, and a tweet button. At first, the counter will be hidden and the tweet button also disabled but once you start typing then there is visible the counter and the button also active/clickable.&lt;/p&gt;

&lt;p&gt;In this tweet box, there is a limit of 100 characters which means you can type 1-100 length/numbers of characters. Once you crossed the limit then the over characters will start highlighting, the tweet button is again disabled and the counter color is also charged into red and it shows you how many characters that you have to remove to tweet or proceed.&lt;/p&gt;

&lt;h4&gt;
  
  
  Video Tutorial of Tweet Box with Character Limit Highlighting
&lt;/h4&gt;

&lt;p&gt;&lt;a href="https://www.youtube.com/watch?v=_pbuwzly6xA&amp;amp;ab_channel=CodingNepal"&gt;Click here to Watch Full Video on YouTube&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;You can copy the codes from the given boxes or download the code files from the given link but I recommend you download the source code files instead of copying codes. &lt;a href="https://www.codingnepalweb.com/2021/04/twitter-tweet-box-with-character-limit.html"&gt;Click here to download code files.&lt;/a&gt;&lt;/p&gt;

&lt;h6&gt;
  
  
  HTML CODE:
&lt;/h6&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;!-- Created By CodingNepal - www.codingnepalweb.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 name="viewport" content="width=device-width, initial-scale=1.0"&amp;gt;
  &amp;lt;title&amp;gt;Twitter Tweet Box UI Design | CodingNepal&amp;lt;/title&amp;gt;
  &amp;lt;link rel="stylesheet" href="style.css"&amp;gt;
  &amp;lt;link rel="stylesheet" href="https://unicons.iconscout.com/release/v3.0.6/css/line.css"&amp;gt;
  &amp;lt;link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/5.15.3/css/all.min.css"/&amp;gt;
&amp;lt;/head&amp;gt;
&amp;lt;body&amp;gt;
  &amp;lt;div class="wrapper"&amp;gt;
    &amp;lt;div class="input-box"&amp;gt;
      &amp;lt;div class="tweet-area"&amp;gt;
        &amp;lt;span class="placeholder"&amp;gt;What's happening?&amp;lt;/span&amp;gt;
        &amp;lt;div class="input editable" contenteditable="true" spellcheck="false"&amp;gt;&amp;lt;/div&amp;gt;
        &amp;lt;div class="input readonly" contenteditable="true" spellcheck="false"&amp;gt;&amp;lt;/div&amp;gt;
      &amp;lt;/div&amp;gt;
      &amp;lt;div class="privacy"&amp;gt;
        &amp;lt;i class="fas fa-globe-asia"&amp;gt;&amp;lt;/i&amp;gt;
        &amp;lt;span&amp;gt;Everyone can reply&amp;lt;/span&amp;gt;
      &amp;lt;/div&amp;gt;
    &amp;lt;/div&amp;gt;
    &amp;lt;div class="bottom"&amp;gt;
      &amp;lt;ul class="icons"&amp;gt;
        &amp;lt;li&amp;gt;&amp;lt;i class="uil uil-capture"&amp;gt;&amp;lt;/i&amp;gt;&amp;lt;/li&amp;gt;
        &amp;lt;li&amp;gt;&amp;lt;i class="far fa-file-image"&amp;gt;&amp;lt;/i&amp;gt;&amp;lt;/li&amp;gt;
        &amp;lt;li&amp;gt;&amp;lt;i class="fas fa-map-marker-alt"&amp;gt;&amp;lt;/i&amp;gt;&amp;lt;/li&amp;gt;
        &amp;lt;li&amp;gt;&amp;lt;i class="far fa-grin"&amp;gt;&amp;lt;/i&amp;gt;&amp;lt;/li&amp;gt;
        &amp;lt;li&amp;gt;&amp;lt;i class="far fa-user"&amp;gt;&amp;lt;/i&amp;gt;&amp;lt;/li&amp;gt;
      &amp;lt;/ul&amp;gt;
      &amp;lt;div class="content"&amp;gt;
        &amp;lt;span class="counter"&amp;gt;100&amp;lt;/span&amp;gt;
        &amp;lt;button&amp;gt;Tweet&amp;lt;/button&amp;gt;
      &amp;lt;/div&amp;gt;
    &amp;lt;/div&amp;gt;
  &amp;lt;/div&amp;gt;

  &amp;lt;script src="script.js"&amp;gt;&amp;lt;/script&amp;gt;

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

&lt;/div&gt;



&lt;h6&gt;
  
  
  CSS CODE
&lt;/h6&gt;



&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;@import url('https://fonts.googleapis.com/css2?family=Open+Sans:wght@400;600;700&amp;amp;display=swap');
*{
  margin: 0;
  padding: 0;
  box-sizing: border-box;
  font-family: 'Open Sans', sans-serif;
}
body{
  display: flex;
  align-items: center;
  justify-content: center;
  min-height: 100vh;
  background: #1da1f2;
}
::selection{
  color: #fff;
  background: #1da1f2;
}
.wrapper{
  background: #fff;
  max-width: 475px;
  width: 100%;
  border-radius: 15px;
  padding: 25px 25px 15px 25px;
  box-shadow: 0px 10px 15px rgba(0,0,0,0.1);
}
.input-box{
  padding-top: 10px;
  border-bottom: 1px solid #e6e6e6;
}
.input-box .tweet-area{
  position: relative;
  min-height: 130px;
  max-height: 170px;
  overflow-y: auto;
}
.tweet-area::-webkit-scrollbar{
  width: 0px;
}
.tweet-area .placeholder{
  position: absolute;
  margin-top: -3px;
  font-size: 22px;
  color: #98A5B1;
  pointer-events: none;
}
.tweet-area .input{
  outline: none;
  font-size: 17px;
  min-height: inherit;
  word-wrap: break-word;
  word-break: break-all;
}
.tweet-area .editable{
  position: relative;
  z-index: 5;
}
.tweet-area .readonly{
  position: absolute;
  top: 0;
  left: 0;
  z-index: -1;
  color: transparent;
  background: transparent;
}
.readonly .highlight{
  background: #fd9bb0;
}
.input-box .privacy{
  color: #1da1f2;
  margin: 15px 0;
  display: inline-flex;
  align-items: center;
  padding: 7px 10px;
  border-radius: 50px;
  cursor: pointer;
  transition: background 0.2s ease;
}
.privacy:hover, .icons li:hover{
  background: #e7f5fe;
}
.privacy i{
  font-size: 18px;
}
.privacy span{
  font-size: 15px;
  font-weight: 600;
  margin-left: 7px;
}
.bottom{
  display: flex;
  margin-top: 13px;
  align-items: center;
  justify-content: space-between;
}
.bottom .icons{
  display: inline-flex;
}
.icons li{
  list-style: none;
  color: #1da1f2;
  font-size: 20px;
  margin: 0 2px;
  height: 38px;
  width: 38px;
  cursor: pointer;
  display: flex;
  align-items: center;
  justify-content: center;
  border-radius: 50%;
  transition: background 0.2s ease;
}
.bottom .content{
  display: flex;
  align-items: center;
  justify-content: center;
}
.bottom .counter{
  color: #333;
  display: none;
  font-weight: 500;
  margin-right: 15px;
  padding-right: 15px;
  border-right: 1px solid #aab8c2;
}
.bottom button{
  padding: 9px 18px;
  border: none;
  outline: none;
  border-radius: 50px;
  font-size: 16px;
  font-weight: 700;
  background: #1da1f2;
  color: #fff;
  cursor: pointer;
  opacity: 0.5;
  pointer-events: none;
  transition: background 0.2s ease;
}
.bottom button.active{
  opacity: 1;
  pointer-events: auto;
}
.bottom button:hover{
  background: #0d8bd9;
}
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;h6&gt;
  
  
  JavaScript CODE
&lt;/h6&gt;



&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;const wrapper = document.querySelector(".wrapper"),
editableInput = wrapper.querySelector(".editable"),
readonlyInput = wrapper.querySelector(".readonly"),
placeholder = wrapper.querySelector(".placeholder"),
counter = wrapper.querySelector(".counter"),
button = wrapper.querySelector("button");

editableInput.onfocus = ()=&amp;gt;{
  placeholder.style.color = "#c5ccd3";
}
editableInput.onblur = ()=&amp;gt;{
  placeholder.style.color = "#98a5b1";
}

editableInput.onkeyup = (e)=&amp;gt;{
  let element = e.target;
  validated(element);
}
editableInput.onkeypress = (e)=&amp;gt;{
  let element = e.target;
  validated(element);
  placeholder.style.display = "none";
}

function validated(element){
  let text;
  let maxLength = 100;
  let currentlength = element.innerText.length;

  if(currentlength &amp;lt;= 0){
    placeholder.style.display = "block";
    counter.style.display = "none";
    button.classList.remove("active");
  }else{
    placeholder.style.display = "none";
    counter.style.display = "block";
    button.classList.add("active");
  }

  counter.innerText = maxLength - currentlength;

  if(currentlength &amp;gt; maxLength){
    let overText = element.innerText.substr(maxLength); //extracting over texts
    overText = `&amp;lt;span class="highlight"&amp;gt;${overText}&amp;lt;/span&amp;gt;`; //creating new span and passing over texts
    text = element.innerText.substr(0, maxLength) + overText; //passing overText value in textTag variable
    readonlyInput.style.zIndex = "1";
    counter.style.color = "#e0245e";
    button.classList.remove("active");
  }else{
    readonlyInput.style.zIndex = "-1";
    counter.style.color = "#333";
  }
  readonlyInput.innerHTML = text; //replacing innerHTML of readonly div with textTag value
}
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



</description>
      <category>javascript</category>
      <category>tweetbox</category>
      <category>postbox</category>
      <category>css</category>
    </item>
    <item>
      <title>Popup Share Modal UI Design using HTML CSS &amp; JavaScript</title>
      <dc:creator>CodingNepal</dc:creator>
      <pubDate>Wed, 07 Apr 2021 12:29:22 +0000</pubDate>
      <link>https://forem.com/codingnepalweb/popup-share-modal-ui-design-using-html-css-javascript-397j</link>
      <guid>https://forem.com/codingnepalweb/popup-share-modal-ui-design-using-html-css-javascript-397j</guid>
      <description>&lt;p&gt;Hey friends, today in this blog you'll learn how to create a Popup Share Modal UI Design using HTML CSS &amp;amp; JavaScript. In the previous blog, I have shared &lt;a href="https://www.codingnepalweb.com/2021/04/poll-ui-design-using-html-css-javascript.html"&gt;how to create a Poll UI Design in HTML CSS &amp;amp; JavaScript&lt;/a&gt; and now it's time to create Share Modal. If you're looking for some other type of modals then &lt;a href="https://www.codingnepalweb.com/search/label/Modal%20Dialog%20Box"&gt;click here to view them all.&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;In this project [Popup Share Modal UI Design], at first, on the webpage, there is a view modal button, when you click on that button then the modal box appears with a popup animation. In this share modal box, there are some social media icons with pretty cool hover animation and an input box to copy the link. There is also a close icon to the right top corner to hide this modal box. To show or hide the Modal Box and copy the given link, I used JavaScript.&lt;/p&gt;

&lt;p&gt;You can copy the codes from the given boxes or download the code files from the given link but I recommend you download the source code files instead of copying codes. &lt;a href="https://www.codingnepalweb.com/2021/04/popup-share-modal-ui-design.html"&gt;Click here to download code files.&lt;/a&gt;&lt;/p&gt;

&lt;h4&gt;
  
  
  You might like this:
&lt;/h4&gt;

&lt;p&gt;&lt;a href="https://www.codingnepalweb.com/2020/05/popup-subscription-form-using-html-css.html"&gt;Email Subscription Popup Box&lt;/a&gt;&lt;br&gt;
&lt;a href="https://www.codingnepalweb.com/2021/03/cookie-consent-box-in-javascript.html"&gt;Cookie Consent Box in JavaScript&lt;/a&gt;&lt;br&gt;
&lt;a href="https://www.codingnepalweb.com/2021/03/limit-input-characters-using-javascript.html"&gt;Limit Input Characters in JavaScript&lt;/a&gt;&lt;br&gt;
&lt;a href="https://www.codingnepalweb.com/2021/04/poll-ui-design-using-html-css-javascript.html"&gt;Minimal Poll UI Design in HTML &amp;amp; CSS&lt;/a&gt;&lt;/p&gt;

&lt;h6&gt;
  
  
  HTML CODE:
&lt;/h6&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;!-- Created By CodingNepal - www.codingnepalweb.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 name="viewport" content="width=device-width, initial-scale=1.0"&amp;gt;
  &amp;lt;title&amp;gt;Popup Share Modal | CodingNepal&amp;lt;/title&amp;gt;
  &amp;lt;link rel="stylesheet" href="style.css"&amp;gt;
  &amp;lt;link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/5.15.3/css/all.min.css"/&amp;gt;
  &amp;lt;link rel="stylesheet" href="https://unicons.iconscout.com/release/v3.0.6/css/line.css"&amp;gt;
&amp;lt;/head&amp;gt;
&amp;lt;body&amp;gt;
  &amp;lt;button class="view-modal"&amp;gt;View Modal&amp;lt;/button&amp;gt;
  &amp;lt;div class="popup"&amp;gt;
    &amp;lt;header&amp;gt;
      &amp;lt;span&amp;gt;Share Modal&amp;lt;/span&amp;gt;
      &amp;lt;div class="close"&amp;gt;&amp;lt;i class="uil uil-times"&amp;gt;&amp;lt;/i&amp;gt;&amp;lt;/div&amp;gt;
    &amp;lt;/header&amp;gt;
    &amp;lt;div class="content"&amp;gt;
      &amp;lt;p&amp;gt;Share this link via&amp;lt;/p&amp;gt;
      &amp;lt;ul class="icons"&amp;gt;
        &amp;lt;a href="#"&amp;gt;&amp;lt;i class="fab fa-facebook-f"&amp;gt;&amp;lt;/i&amp;gt;&amp;lt;/a&amp;gt;
        &amp;lt;a href="#"&amp;gt;&amp;lt;i class="fab fa-twitter"&amp;gt;&amp;lt;/i&amp;gt;&amp;lt;/a&amp;gt;
        &amp;lt;a href="#"&amp;gt;&amp;lt;i class="fab fa-instagram"&amp;gt;&amp;lt;/i&amp;gt;&amp;lt;/a&amp;gt;
        &amp;lt;a href="#"&amp;gt;&amp;lt;i class="fab fa-whatsapp"&amp;gt;&amp;lt;/i&amp;gt;&amp;lt;/a&amp;gt;
        &amp;lt;a href="#"&amp;gt;&amp;lt;i class="fab fa-telegram-plane"&amp;gt;&amp;lt;/i&amp;gt;&amp;lt;/a&amp;gt;
      &amp;lt;/ul&amp;gt;
      &amp;lt;p&amp;gt;Or copy link&amp;lt;/p&amp;gt;
      &amp;lt;div class="field"&amp;gt;
        &amp;lt;i class="url-icon uil uil-link"&amp;gt;&amp;lt;/i&amp;gt;
        &amp;lt;input type="text" readonly value="example.com/share-link"&amp;gt;
        &amp;lt;button&amp;gt;Copy&amp;lt;/button&amp;gt;
      &amp;lt;/div&amp;gt;
    &amp;lt;/div&amp;gt;
  &amp;lt;/div&amp;gt;

  &amp;lt;script&amp;gt;
    const viewBtn = document.querySelector(".view-modal"),
    popup = document.querySelector(".popup"),
    close = popup.querySelector(".close"),
    field = popup.querySelector(".field"),
    input = field.querySelector("input"),
    copy = field.querySelector("button");

    viewBtn.onclick = ()=&amp;gt;{
      popup.classList.toggle("show");
    }
    close.onclick = ()=&amp;gt;{
      viewBtn.click();
    }

    copy.onclick = ()=&amp;gt;{
      input.select(); //select input value
      if(document.execCommand("copy")){ //if the selected text copy
        field.classList.add("active");
        copy.innerText = "Copied";
        setTimeout(()=&amp;gt;{
          window.getSelection().removeAllRanges(); //remove selection from document
          field.classList.remove("active");
          copy.innerText = "Copy";
        }, 3000);
      }
    }
  &amp;lt;/script&amp;gt;

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

&lt;/div&gt;



&lt;h6&gt;
  
  
  CSS CODE:
&lt;/h6&gt;



&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;@import url('https://fonts.googleapis.com/css2?family=Poppins:wght@200;300;400;500;600;700&amp;amp;display=swap');
*{
  margin: 0;
  padding: 0;
  box-sizing: border-box;
  font-family: 'Poppins', sans-serif;
}
body{
  /* background: #f2f3fb; */
  background: #7d2ae8;
}
::selection{
  color: #fff;
  background: #7d2ae8;
}
.view-modal, .popup{
  position: absolute;
  left: 50%;
}
button{
  outline: none;
  cursor: pointer;
  font-weight: 500;
  border-radius: 4px;
  border: 2px solid transparent;
  transition: background 0.1s linear, border-color 0.1s linear, color 0.1s linear;
}
.view-modal{
  top: 50%;
  color: #7d2ae8;
  font-size: 18px;
  padding: 10px 25px;
  background: #fff;
  transform: translate(-50%, -50%);
}
.popup{
  background: #fff;
  padding: 25px;
  border-radius: 15px;
  top: -150%;
  max-width: 380px;
  width: 100%;
  opacity: 0;
  pointer-events: none;
  box-shadow: 0px 10px 15px rgba(0,0,0,0.1);
  transform: translate(-50%, -50%) scale(1.2);
  transition: top 0s 0.2s ease-in-out,
              opacity 0.2s 0s ease-in-out,
              transform 0.2s 0s ease-in-out;
}
.popup.show{
  top: 50%;
  opacity: 1;
  pointer-events: auto;
  transform:translate(-50%, -50%) scale(1);
  transition: top 0s 0s ease-in-out,
              opacity 0.2s 0s ease-in-out,
              transform 0.2s 0s ease-in-out;

}
.popup :is(header, .icons, .field){
  display: flex;
  align-items: center;
  justify-content: space-between;
}
.popup header{
  padding-bottom: 15px;
  border-bottom: 1px solid #ebedf9;
}
header span{
  font-size: 21px;
  font-weight: 600;
}
header .close, .icons a{
  display: flex;
  align-items: center;
  border-radius: 50%;
  justify-content: center;
  transition: all 0.3s ease-in-out;
}
header .close{
  color: #878787;
  font-size: 17px;
  background: #f2f3fb;
  height: 33px;
  width: 33px;
  cursor: pointer;
}
header .close:hover{
  background: #ebedf9;
}
.popup .content{
  margin: 20px 0;
}
.popup .icons{
  margin: 15px 0 20px 0;
}
.content p{
  font-size: 16px;
}
.content .icons a{
  height: 50px;
  width: 50px;
  font-size: 20px;
  text-decoration: none;
  border: 1px solid transparent;
}
.icons a i{
  transition: transform 0.3s ease-in-out;
}
.icons a:nth-child(1){
  color: #1877F2;
  border-color: #b7d4fb;
}
.icons a:nth-child(1):hover{
  background: #1877F2;
}
.icons a:nth-child(2){
  color: #46C1F6;
  border-color: #b6e7fc;
}
.icons a:nth-child(2):hover{
  background: #46C1F6;
}
.icons a:nth-child(3){
  color: #e1306c;
  border-color: #f5bccf;
}
.icons a:nth-child(3):hover{
  background: #e1306c;
}
.icons a:nth-child(4){
  color: #25D366;
  border-color: #bef4d2;
}
.icons a:nth-child(4):hover{
  background: #25D366;
}
.icons a:nth-child(5){
  color: #0088cc;
  border-color: #b3e6ff;
}
.icons a:nth-child(5):hover{
  background: #0088cc;
}
.icons a:hover{
  color: #fff;
  border-color: transparent;
}
.icons a:hover i{
  transform: scale(1.2);
}
.content .field{
  margin: 12px 0 -5px 0;
  height: 45px;
  border-radius: 4px;
  padding: 0 5px;
  border: 1px solid #e1e1e1;
}
.field.active{
  border-color: #7d2ae8;
}
.field i{
  width: 50px;
  font-size: 18px;
  text-align: center;
}
.field.active i{
  color: #7d2ae8;
}
.field input{
  width: 100%;
  height: 100%;
  border: none;
  outline: none;
  font-size: 15px;
}
.field button{
  color: #fff;
  padding: 5px 18px;
  background: #7d2ae8;
}
.field button:hover{
  background: #8d39fa;
}
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Visit CodingNepal for more awesome videos | blogs&lt;br&gt;
&lt;a href="https://www.codingnepalweb.com/"&gt;https://www.codingnepalweb.com/&lt;/a&gt;&lt;br&gt;
&lt;a href="https://www.youtube.com/codingnepal"&gt;https://www.youtube.com/codingnepal&lt;/a&gt;&lt;/p&gt;

</description>
      <category>javascript</category>
      <category>css</category>
      <category>sharemodal</category>
      <category>modalbox</category>
    </item>
    <item>
      <title>Poll UI Design using HTML CSS &amp; JavaScript</title>
      <dc:creator>CodingNepal</dc:creator>
      <pubDate>Sun, 04 Apr 2021 10:29:49 +0000</pubDate>
      <link>https://forem.com/codingnepalweb/poll-ui-design-using-html-css-javascript-53b3</link>
      <guid>https://forem.com/codingnepalweb/poll-ui-design-using-html-css-javascript-53b3</guid>
      <description>&lt;p&gt;Hey friends, today in this blog you'll learn how to create an Attractive Poll UI Design using HTML CSS &amp;amp; JavaScript. In the earlier blog, I have shared how to create &lt;a href="https://www.codingnepalweb.com/2020/09/custom-radio-buttons-using-html-css.html"&gt;Pure CSS Custom Radio or Select Buttons&lt;/a&gt; and now it's time to create a Pooling System in JavaScript.&lt;/p&gt;

&lt;p&gt;You may have seen polls on Facebook, YouTube where the author posts a poll with some options, and user have to select one option from the mentioned options. You can undo your selection and in this blog, I'll show you the same poll design.&lt;/p&gt;

&lt;p&gt;In this Poll UI Design, there is a content box with a header and some options. At first, there is only an option name with a light grey border and a radio circle on each option but when you select an option then the selected option border color will be changed into the body color, the radio circle color also changed and checked, and the total percent and the progress bar of each option also visible as you can see in the preview image. &lt;/p&gt;

&lt;p&gt;You can copy the codes from the given boxes or download the code files from the given link but I recommend you download the source code files instead of copying codes. &lt;a href="https://www.codingnepalweb.com/2021/04/poll-ui-design-using-html-css-javascript.html"&gt;Click here to download code files.&lt;/a&gt;&lt;/p&gt;

&lt;h4&gt;
  
  
  You might like this:
&lt;/h4&gt;

&lt;p&gt;&lt;a href="https://www.codingnepalweb.com/2021/03/cookie-consent-box-in-javascript.html"&gt;Cookie Consent Box in JavaScript&lt;/a&gt;&lt;br&gt;
&lt;a href="https://www.codingnepalweb.com/2021/03/toast-notification-to-detect-internet.html"&gt;Detect Internet Connection Status&lt;/a&gt;&lt;br&gt;
&lt;a href="https://www.codingnepalweb.com/2021/03/limit-input-characters-using-javascript.html"&gt;Limit Input Character in JavaScript&lt;/a&gt;&lt;br&gt;
&lt;a href="https://www.codingnepalweb.com/2020/09/custom-radio-buttons-using-html-css.html"&gt;CSS Custom Radio or Select Buttons&lt;/a&gt;&lt;/p&gt;

&lt;h6&gt;
  
  
  HTML CODE:
&lt;/h6&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;!-- Created By CodingNepal - www.codingnepalweb.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 name="viewport" content="width=device-width, initial-scale=1.0"&amp;gt;
  &amp;lt;title&amp;gt;Poll UI Design | CodingNepal&amp;lt;/title&amp;gt;
  &amp;lt;link rel="stylesheet" href="style.css"&amp;gt;
&amp;lt;/head&amp;gt;
&amp;lt;body&amp;gt;
  &amp;lt;div class="wrapper"&amp;gt;
    &amp;lt;header&amp;gt;Poll UI Design&amp;lt;/header&amp;gt;
    &amp;lt;div class="poll-area"&amp;gt;
      &amp;lt;input type="checkbox" name="poll" id="opt-1"&amp;gt;
      &amp;lt;input type="checkbox" name="poll" id="opt-2"&amp;gt;
      &amp;lt;input type="checkbox" name="poll" id="opt-3"&amp;gt;
      &amp;lt;input type="checkbox" name="poll" id="opt-4"&amp;gt;
      &amp;lt;label for="opt-1" class="opt-1"&amp;gt;
        &amp;lt;div class="row"&amp;gt;
          &amp;lt;div class="column"&amp;gt;
            &amp;lt;span class="circle"&amp;gt;&amp;lt;/span&amp;gt;
            &amp;lt;span class="text"&amp;gt;HTML&amp;lt;/span&amp;gt;
          &amp;lt;/div&amp;gt;
          &amp;lt;span class="percent"&amp;gt;30%&amp;lt;/span&amp;gt;
        &amp;lt;/div&amp;gt;
        &amp;lt;div class="progress" style='--w:30;'&amp;gt;&amp;lt;/div&amp;gt;
      &amp;lt;/label&amp;gt;
      &amp;lt;label for="opt-2" class="opt-2"&amp;gt;
        &amp;lt;div class="row"&amp;gt;
          &amp;lt;div class="column"&amp;gt;
            &amp;lt;span class="circle"&amp;gt;&amp;lt;/span&amp;gt;
            &amp;lt;span class="text"&amp;gt;Java&amp;lt;/span&amp;gt;
          &amp;lt;/div&amp;gt;
          &amp;lt;span class="percent"&amp;gt;20%&amp;lt;/span&amp;gt;
        &amp;lt;/div&amp;gt;
        &amp;lt;div class="progress" style='--w:20;'&amp;gt;&amp;lt;/div&amp;gt;
      &amp;lt;/label&amp;gt;
      &amp;lt;label for="opt-3" class="opt-3"&amp;gt;
        &amp;lt;div class="row"&amp;gt;
          &amp;lt;div class="column"&amp;gt;
            &amp;lt;span class="circle"&amp;gt;&amp;lt;/span&amp;gt;
            &amp;lt;span class="text"&amp;gt;Python&amp;lt;/span&amp;gt;
          &amp;lt;/div&amp;gt;
          &amp;lt;span class="percent"&amp;gt;40%&amp;lt;/span&amp;gt;
        &amp;lt;/div&amp;gt;
        &amp;lt;div class="progress" style='--w:40;'&amp;gt;&amp;lt;/div&amp;gt;
      &amp;lt;/label&amp;gt;
      &amp;lt;label for="opt-4" class="opt-4"&amp;gt;
        &amp;lt;div class="row"&amp;gt;
          &amp;lt;div class="column"&amp;gt;
            &amp;lt;span class="circle"&amp;gt;&amp;lt;/span&amp;gt;
            &amp;lt;span class="text"&amp;gt;jQuery&amp;lt;/span&amp;gt;
          &amp;lt;/div&amp;gt;
          &amp;lt;span class="percent"&amp;gt;10%&amp;lt;/span&amp;gt;
        &amp;lt;/div&amp;gt;
        &amp;lt;div class="progress" style='--w:10;'&amp;gt;&amp;lt;/div&amp;gt;
      &amp;lt;/label&amp;gt;
    &amp;lt;/div&amp;gt;
  &amp;lt;/div&amp;gt;

 &amp;lt;script src="script.js"&amp;gt;&amp;lt;/script&amp;gt;

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

&lt;/div&gt;



&lt;h6&gt;
  
  
  CSS CODE
&lt;/h6&gt;



&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;@import url('https://fonts.googleapis.com/css2?family=Poppins:wght@200;300;400;500;600;700&amp;amp;display=swap');
*{
  margin: 0;
  padding: 0;
  box-sizing: border-box;
  font-family: 'Poppins', sans-serif;
}
body{
  display: flex;
  align-items: center;
  justify-content: center;
  min-height: 100vh;
  background: #6665ee;
}
::selection{
  color: #fff;
  background: #6665ee;
}
.wrapper{
  background: #fff;
  border-radius: 15px;
  padding: 25px;
  max-width: 380px;
  width: 100%;
  box-shadow: 0px 5px 10px rgba(0,0,0,0.1);
}
.wrapper header{
  font-size: 22px;
  font-weight: 600;
}
.wrapper .poll-area{
  margin: 20px 0 15px 0;
}
.poll-area label{
  display: block;
  margin-bottom: 10px;
  border-radius: 5px;
  padding: 8px 15px;
  border: 2px solid #e6e6e6;
  transition: all 0.2s ease;
}
.poll-area label:hover{
  border-color: #ddd;
}
label.selected{
  border-color: #6665ee!important;
}
label .row{
  display: flex;
  pointer-events: none;
  justify-content: space-between;
}
label .row .column{
  display: flex;
  align-items: center;
}
label .row .circle{
  height: 19px;
  width: 19px;
  display: block;
  border: 2px solid #ccc;
  border-radius: 50%;
  margin-right: 10px;
  position: relative;
}
label.selected .row .circle{
  border-color: #6665ee;
}
label .row .circle::after{
  content: "";
  height: 11px;
  width: 11px;
  background: #6665ee;
  border-radius: inherit;
  position: absolute;
  left: 2px;
  top: 2px;
  display: none;
}
.poll-area label:hover .row .circle::after{
  display: block;
  background: #e6e6e6;
}
label.selected .row .circle::after{
  display: block;
  background: #6665ee!important;
}
label .row span{
  font-size: 16px;
  font-weight: 500;
}
label .row .percent{
  display: none;
}
label .progress{
  height: 7px;
  width: 100%;
  position: relative;
  background: #f0f0f0;
  margin: 8px 0 3px 0;
  border-radius: 30px;
  display: none;
  pointer-events: none;
}
label .progress:after{
  position: absolute;
  content: "";
  height: 100%;
  background: #ccc;
  width: calc(1% * var(--w));
  border-radius: inherit;
  transition: all 0.2s ease;
}
label.selected .progress::after{
  background: #6665ee;
}
label.selectall .progress,
label.selectall .row .percent{
  display: block;
}
input[type="radio"],
input[type="checkbox"]{
  display: none;
}
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;For JavaScript codes please go to this link - &lt;a href="https://www.codingnepalweb.com/2021/04/poll-ui-design-using-html-css-javascript.html"&gt;https://www.codingnepalweb.com/2021/04/poll-ui-design-using-html-css-javascript.html&lt;/a&gt;&lt;/p&gt;

</description>
      <category>css</category>
      <category>javascript</category>
      <category>polluidesign</category>
      <category>pollui</category>
    </item>
    <item>
      <title>Limit Input Characters using HTML CSS &amp; JavaScript</title>
      <dc:creator>CodingNepal</dc:creator>
      <pubDate>Mon, 15 Mar 2021 10:36:17 +0000</pubDate>
      <link>https://forem.com/codingnepalweb/limit-input-characters-using-html-css-javascript-1o4b</link>
      <guid>https://forem.com/codingnepalweb/limit-input-characters-using-html-css-javascript-1o4b</guid>
      <description>&lt;p&gt;Hey friends, today in this blog you'll learn how to Limit Input Characters using HTML CSS &amp;amp; JavaScript. Earlier I have shared a blog on &lt;a href="https://www.codingnepalweb.com/2020/06/random-password-generator-javascript.html"&gt;how to create Random Password using pure JavaScript&lt;/a&gt; and now I'm going to create a program or input field that allowed users to enter a specified number of characters only.&lt;/p&gt;

&lt;p&gt;In this program [Limit Input Characters], there is an input field on the webpage with an icon and counter number. This counter number informs the user about how many numbers of characters they can enter. At first, this input field is inactive with a grey border color but when you focus on the input field then the color of the border change into another color which means the input field is active now. When you start typing some characters in the input field then the color of the icon and counter also change into the same color as the input border color as well the counter start decreasing by the number of your entered characters.&lt;/p&gt;

&lt;p&gt;You can copy the codes from the given boxes or download the code files from the given link but I recommend you download the source code files instead of copying codes. &lt;a href="https://www.codingnepalweb.com/2021/03/limit-input-characters-using-javascript.html"&gt;Click here to download code files.&lt;/a&gt;&lt;/p&gt;

&lt;h4&gt;
  
  
  You might like this:
&lt;/h4&gt;

&lt;p&gt;&lt;a href="https://www.codingnepalweb.com/2020/08/password-show-or-hide-toggle-using-javascript.html"&gt;Password Show or Hide Toggle&lt;/a&gt;&lt;br&gt;
&lt;a href="https://www.codingnepalweb.com/2020/07/password-strength-meter-using-html-css.html"&gt;Password Strength Meter or Checker&lt;/a&gt;&lt;br&gt;
&lt;a href="https://www.codingnepalweb.com/2020/07/custom-animated-range-slider.html"&gt;Animated Range Slider in JavaScript&lt;/a&gt;&lt;br&gt;
&lt;a href="https://www.codingnepalweb.com/2020/06/random-password-generator-javascript.html"&gt;Random Password Generator in JavaScript&lt;/a&gt;&lt;/p&gt;

&lt;h6&gt;
  
  
  HTML CODE:
&lt;/h6&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;!-- Created By CodingNepal - www.codingnepalweb.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;title&amp;gt;Limit Input Characters | CodingNepal&amp;lt;/title&amp;gt;
  &amp;lt;link rel="stylesheet" href="style.css"&amp;gt;
  &amp;lt;!-- Iconsout Link for Icons --&amp;gt;
  &amp;lt;link rel="stylesheet" href="https://unicons.iconscout.com/release/v3.0.6/css/solid.css"&amp;gt;
&amp;lt;/head&amp;gt;
&amp;lt;body&amp;gt;
  &amp;lt;div class="wrapper"&amp;gt;
    &amp;lt;form action="#"&amp;gt;
      &amp;lt;input type="text" spellcheck="false" placeholder="username" maxlength="19" required&amp;gt;
      &amp;lt;i class="uis uis-at"&amp;gt;&amp;lt;/i&amp;gt;
      &amp;lt;span class="counter"&amp;gt;19&amp;lt;/span&amp;gt;
    &amp;lt;/form&amp;gt;
  &amp;lt;/div&amp;gt;

  &amp;lt;script&amp;gt;
    const input = document.querySelector("form input"),
    counter = document.querySelector("form .counter"),
    maxLength = input.getAttribute("maxlength");

    input.onkeyup = ()=&amp;gt;{
      counter.innerText = maxLength - input.value.length;
    }
  &amp;lt;/script&amp;gt;

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

&lt;/div&gt;



&lt;h6&gt;
  
  
  CSS CODE:
&lt;/h6&gt;



&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;@import url('https://fonts.googleapis.com/css2?family=Poppins:wght@200;300;400;500;600;700&amp;amp;display=swap');
*{
  margin: 0;
  padding: 0;
  box-sizing: border-box;
  font-family: 'Poppins', sans-serif;
}
body{
  display: flex;
  align-items: center;
  justify-content: center;
  min-height: 100vh;
  background: linear-gradient(to top, #56e2d7 0%, #58cff1 100%);
}
.wrapper{
  background: #fff;
  padding: 20px;
  width: 450px;
  border-radius: 5px;
  box-shadow: 0px 5px 10px rgba(0,0,0,0.1);
}
.wrapper form{
  height: 55px;
  display: flex;
  position: relative;
  align-items: center;
  justify-content: space-between;
}
form i{
  position: absolute;
  width: 55px;
  text-align: center;
  font-size: 23px;
  color: #c4c4c4;
  pointer-events: none;
}
form input:valid ~ i{
  color: #58cff1;
}
form input{
  height: 100%;
  width: 100%;
  outline: none;
  padding: 0 50px 0 45px;
  font-size: 20px;
  caret-color: #58cff1;
  border: 2px solid #ddd;
  border-radius: 5px;
  transition: all 0.1s ease;
}
form input::selection{
  color: #fff;
  background: #58cff1;  
}
form input:focus,
form input:valid{
  border-color: #58cff1;
}
form input::placeholder{
  color: #c4c4c4;
}
form .counter{
  position: absolute;
  right: 3px;
  width: 55px;
  font-size: 20px;
  color: #c4c4c4;
  text-align: center;
  border-left: 1px solid #d8d8d8;
  pointer-events: none;
}
form input:valid ~ .counter{
  color: #58cff1;
  border-color: #58cff1;
}
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Visit CodingNepal for more awesome videos | blogs&lt;br&gt;
&lt;a href="https://www.codingnepalweb.com/"&gt;https://www.codingnepalweb.com/&lt;/a&gt;&lt;br&gt;
&lt;a href="https://www.youtube.com/codingnepal"&gt;https://www.youtube.com/codingnepal&lt;/a&gt;&lt;/p&gt;

</description>
      <category>css</category>
      <category>javascript</category>
      <category>limitcharacters</category>
      <category>inputfield</category>
    </item>
    <item>
      <title>Toast Notification to Detect Internet Connection in HTML CSS &amp; JavaScript</title>
      <dc:creator>CodingNepal</dc:creator>
      <pubDate>Wed, 03 Mar 2021 12:52:32 +0000</pubDate>
      <link>https://forem.com/codingnepalweb/toast-notification-to-detect-internet-connection-in-html-css-javascript-180c</link>
      <guid>https://forem.com/codingnepalweb/toast-notification-to-detect-internet-connection-in-html-css-javascript-180c</guid>
      <description>&lt;p&gt;Hey friends, today in this blog you'll learn how to create a Toast Notification to Detect Internet Connection Status using HTML CSS &amp;amp; JavaScript. Earlier I have shared many blogs on &lt;a href="https://www.codingnepalweb.com/search/label/Javascript"&gt;JavaScript projects&lt;/a&gt; but in that project still, I haven't shown you or teach you how you can check the internet connection status in JavaScript.&lt;/p&gt;

&lt;p&gt;In this program [Toast Notification to Detect Internet Connection], there is a webpage with a minimal toast notification and it changes its icon, color, text according to the internet connection status as you can see in the preview image. It has a pretty animation that means when your internet status changed then it'll show from the left top side with a sliding animation.&lt;/p&gt;

&lt;p&gt;The concepts/codes behind creating this program are so simple. At first, using JavaScript Ajax I send a GET request to a particular passed URL and check, that URL is sending any data as a response or not and the response status of that request URL is equal to 200 and less than 300 or not. If the passed URL is sending data as a response and the response status of that URL is also equal to 200 then the user is connected to the Internet so he/she is getting data as a response but if it isn't then the user is disconnected from the Internet.&lt;/p&gt;

&lt;p&gt;You can copy the codes from the given boxes or download the code files from the given link but I recommend you download the source code files instead of copying codes. &lt;a href="https://www.codingnepalweb.com/2021/03/toast-notification-to-detect-internet.html"&gt;Click here to download code files.&lt;/a&gt;&lt;/p&gt;

&lt;h4&gt;
  
  
  You might like this:
&lt;/h4&gt;

&lt;p&gt;&lt;a href="https://www.codingnepalweb.com/2020/12/todo-list-app-using-html-css-javascript.html"&gt;Todo List App with Local Storage&lt;/a&gt;&lt;br&gt;
&lt;a href="https://www.codingnepalweb.com/2021/02/realtime-chat-application-using-php-mysql-ajax.html"&gt;Realtime Chat Web Application in PHP&lt;/a&gt;&lt;br&gt;
&lt;a href="https://www.codingnepalweb.com/2021/01/responsive-image-lightbox-using-javascript.html"&gt;Responsive Image Lightbox in JavaScript&lt;/a&gt;&lt;br&gt;
&lt;a href="https://www.codingnepalweb.com/2021/02/drag-drop-or-browse-file-upload-feature.html"&gt;Drag &amp;amp; Drop or Browse File Upload Button&lt;/a&gt;&lt;/p&gt;

&lt;h6&gt;
  
  
  HTML CODE:
&lt;/h6&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;!-- Created By CodingNepal - www.codingnepalweb.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;title&amp;gt;Detect Internet Connection | CodingNepal&amp;lt;/title&amp;gt;
  &amp;lt;link rel="stylesheet" href="style.css"&amp;gt;
  &amp;lt;link rel="stylesheet" href="https://unicons.iconscout.com/release/v3.0.6/css/line.css"&amp;gt;
&amp;lt;/head&amp;gt;
&amp;lt;body&amp;gt;
  &amp;lt;div class="wrapper"&amp;gt;
    &amp;lt;div class="toast"&amp;gt;
      &amp;lt;div class="content"&amp;gt;
        &amp;lt;div class="icon"&amp;gt;&amp;lt;i class="uil uil-wifi"&amp;gt;&amp;lt;/i&amp;gt;&amp;lt;/div&amp;gt;
        &amp;lt;div class="details"&amp;gt;
          &amp;lt;span&amp;gt;You're online now&amp;lt;/span&amp;gt;
          &amp;lt;p&amp;gt;Hurray! Internet is connected.&amp;lt;/p&amp;gt;
        &amp;lt;/div&amp;gt;
      &amp;lt;/div&amp;gt;
      &amp;lt;div class="close-icon"&amp;gt;&amp;lt;i class="uil uil-times"&amp;gt;&amp;lt;/i&amp;gt;&amp;lt;/div&amp;gt;
    &amp;lt;/div&amp;gt;
  &amp;lt;/div&amp;gt;

  &amp;lt;script src="script.js"&amp;gt;&amp;lt;/script&amp;gt;

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

&lt;/div&gt;



&lt;h6&gt;
  
  
  CSS CODE
&lt;/h6&gt;



&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;@import url('https://fonts.googleapis.com/css2?family=Poppins:wght@200;300;400;500;600;700&amp;amp;display=swap');
*{
  margin: 0;
  padding: 0;
  box-sizing: border-box;
  font-family: 'Poppins', sans-serif;
}
body{
  overflow: hidden;
  background: #f2f2f2;
}
.wrapper{
  position: absolute;
  top: 20px;
  left: 20px;
  animation: show_toast 1s ease forwards;
}
@keyframes show_toast {
  0%{
    transform: translateX(-100%);
  }
  40%{
    transform: translateX(10%);
  }
  80%, 100%{
    transform: translateX(20px);
  }
}
.wrapper.hide{
  animation: hide_toast 1s ease forwards;
}
@keyframes hide_toast {
  0%{
    transform: translateX(20px);
  }
  40%{
    transform: translateX(10%);
  }
  80%, 100%{
    opacity: 0;
    pointer-events: none;
    transform: translateX(-100%);
  }
}
.wrapper .toast{
  background: #fff;
  padding: 20px 15px 20px 20px;
  border-radius: 10px;
  border-left: 5px solid #2ecc71;
  box-shadow: 1px 7px 14px -5px rgba(0,0,0,0.15);
  width: 430px;
  display: flex;
  align-items: center;
  justify-content: space-between;
}
.wrapper .toast.offline{
  border-color: #ccc;
}
.toast .content{
  display: flex;
  align-items: center;
}
.content .icon{
  font-size: 25px;
  color: #fff;
  height: 50px;
  width: 50px;
  text-align: center;
  line-height: 50px;
  border-radius: 50%;
  background: #2ecc71;
}
.toast.offline .content .icon{
  background: #ccc;
}
.content .details{
  margin-left: 15px;
}
.details span{
  font-size: 20px;
  font-weight: 500;
}
.details p{
  color: #878787;
}
.toast .close-icon{
  color: #878787;
  font-size: 23px;
  cursor: pointer;
  height: 40px;
  width: 40px;
  text-align: center;
  line-height: 40px;
  border-radius: 50%;
  background: #f2f2f2;
  transition: all 0.3s ease;
}
.close-icon:hover{
  background: #efefef;
}
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;For JavaScript codes please go to this link - &lt;a href="https://www.codingnepalweb.com/2021/03/toast-notification-to-detect-internet.html"&gt;https://www.codingnepalweb.com/2021/03/toast-notification-to-detect-internet.html&lt;/a&gt;&lt;/p&gt;

</description>
      <category>javascript</category>
      <category>toast</category>
      <category>notification</category>
    </item>
    <item>
      <title>Text Typing Animation using only HTML &amp; CSS</title>
      <dc:creator>CodingNepal</dc:creator>
      <pubDate>Fri, 26 Feb 2021 11:29:05 +0000</pubDate>
      <link>https://forem.com/codingnepalweb/text-typing-animation-using-only-html-css-3p8g</link>
      <guid>https://forem.com/codingnepalweb/text-typing-animation-using-only-html-css-3p8g</guid>
      <description>&lt;p&gt;Hey friends, today in this blog you'll learn how to create a Simple Text Typing Animation using only HTML &amp;amp; CSS or Typewriter Text Animation. Earlier I have shared a blog on &lt;a href="https://www.codingnepalweb.com/2020/09/colorful-gradient-text-effect-html-css.html"&gt;Colorful Gradient Text Effect using HTML &amp;amp; CSS&lt;/a&gt; and now I'm going to create pure CSS text typing animation.&lt;/p&gt;

&lt;p&gt;You may have seen this type of text animation on many portfolio sites or other sites. Generally, this animation is created using JavaScript or jQuery library, and the famous jQuery library for text animation is typed.js but now I'll tell you how you can create this text typing animation using only HTML &amp;amp; CSS. &lt;/p&gt;

&lt;p&gt;In this text animation, there are two types of texts that mean one is a static text which has no animation, and the second one has animation and it changes dynamically. I have added four different texts to this animation and it's shown one by one with a typing animation which looks pretty cool and interesting.&lt;/p&gt;

&lt;p&gt;You can copy the codes from the given boxes or download the code files from the given link but I recommend you download the source code files instead of copying codes. &lt;a href="https://www.codingnepalweb.com/2021/02/text-typing-animation-using-html-css.html"&gt;Click here to download code files.&lt;/a&gt;&lt;/p&gt;

&lt;h4&gt;
  
  
  You might like this:
&lt;/h4&gt;

&lt;p&gt;&lt;a href="https://www.codingnepalweb.com/2020/09/custom-radio-buttons-using-html-css.html"&gt;Pure CSS Custom Radio Buttons&lt;/a&gt;&lt;br&gt;
&lt;a href="https://www.codingnepalweb.com/2020/09/colorful-gradient-text-effect-html-css.html"&gt;Colorful Gradient Text Animation&lt;/a&gt;&lt;br&gt;
&lt;a href="https://www.codingnepalweb.com/2020/05/copy-text-to-clipboard-button-javascript.html"&gt;Copy Text to Clipboard JavaScript&lt;/a&gt;&lt;br&gt;
&lt;a href="https://www.codingnepalweb.com/2020/05/text-glitch-effect-in-html-css.html"&gt;CSS Text Glitch Animation Effect&lt;/a&gt;&lt;/p&gt;

&lt;h6&gt;
  
  
  HTML CODE:
&lt;/h6&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;!-- Created By CodingNepal - www.codingnepalweb.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;title&amp;gt;Multiple Texts Typing Animation | CodingNepal&amp;lt;/title&amp;gt;
  &amp;lt;link rel="stylesheet" href="style.css"&amp;gt;
&amp;lt;/head&amp;gt;
&amp;lt;body&amp;gt;
  &amp;lt;div class="wrapper"&amp;gt;
    &amp;lt;div class="static-txt"&amp;gt;I'm a&amp;lt;/div&amp;gt;
    &amp;lt;ul class="dynamic-txts"&amp;gt;
      &amp;lt;li&amp;gt;&amp;lt;span&amp;gt;YouTuber&amp;lt;/span&amp;gt;&amp;lt;/li&amp;gt;
      &amp;lt;li&amp;gt;&amp;lt;span&amp;gt;Designer&amp;lt;/span&amp;gt;&amp;lt;/li&amp;gt;
      &amp;lt;li&amp;gt;&amp;lt;span&amp;gt;Developer&amp;lt;/span&amp;gt;&amp;lt;/li&amp;gt;
      &amp;lt;li&amp;gt;&amp;lt;span&amp;gt;Freelancer&amp;lt;/span&amp;gt;&amp;lt;/li&amp;gt;
    &amp;lt;/ul&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;h6&gt;
  
  
  CSS CODE:
&lt;/h6&gt;



&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;@import url('https://fonts.googleapis.com/css2?family=Poppins:wght@200;300;400;500;600;700&amp;amp;display=swap');
*{
  margin: 0;
  padding: 0;
  box-sizing: border-box;
  font-family: 'Poppins', sans-serif;
}
body{
  display: flex;
  align-items: center;
  justify-content: center;
  min-height: 100vh;
  background: #343F4F;
}
.wrapper{
  display: flex;
}
.wrapper .static-txt{
  color: #fff;
  font-size: 60px;
  font-weight: 400;
}
.wrapper .dynamic-txts{
  margin-left: 15px;
  height: 90px;
  line-height: 90px;
  overflow: hidden;
}
.dynamic-txts li{
  list-style: none;
  color: #FC6D6D;
  font-size: 60px;
  font-weight: 500;
  position: relative;
  top: 0;
  animation: slide 12s steps(4) infinite;
}
@keyframes slide {
  100%{
    top: -360px;
  }
}
.dynamic-txts li span{
  position: relative;
  margin: 5px 0;
  line-height: 80px;
}
.dynamic-txts li span::after{
  content: "";
  position: absolute;
  left: 0;
  height: 100%;
  width: 100%;
  background: #343F4F;
  border-left: 2px solid #FC6D6D;
  animation: typing 3s steps(10) infinite;
}
@keyframes typing {
  40%, 60%{
    left: calc(100% + 30px);
  }
  100%{
    left: 0;
  }
}
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Visit CodingNepal for more awesome videos | blogs&lt;br&gt;
&lt;a href="https://www.codingnepalweb.com/"&gt;https://www.codingnepalweb.com/&lt;/a&gt;&lt;br&gt;
&lt;a href="https://www.youtube.com/codingnepal"&gt;https://www.youtube.com/codingnepal&lt;/a&gt;&lt;/p&gt;

</description>
      <category>textanimation</category>
      <category>css</category>
      <category>typingtext</category>
      <category>texttyping</category>
    </item>
    <item>
      <title>Realtime Chat Application using PHP with MySQL &amp; JavaScript Ajax</title>
      <dc:creator>CodingNepal</dc:creator>
      <pubDate>Wed, 24 Feb 2021 11:35:14 +0000</pubDate>
      <link>https://forem.com/codingnepalweb/realtime-chat-application-using-php-with-mysql-javascript-ajax-301n</link>
      <guid>https://forem.com/codingnepalweb/realtime-chat-application-using-php-with-mysql-javascript-ajax-301n</guid>
      <description>&lt;p&gt;Hey friends, today in this blog you'll learn how to create a Realtime Chat Web Application using PHP with MySQL &amp;amp; JavaScript Ajax. Earlier I have shared a blog on &lt;a href="https://www.codingnepalweb.com/2020/09/simple-chatbot-using-php-with-mysql.html"&gt;how to create a Simple Chatbot using PHP with MySQL &amp;amp; jQuery Ajax.&lt;/a&gt; Our maximum viewers have requested me to create a Chat App so I decided to create one.&lt;/p&gt;

&lt;p&gt;In this chat app, when you open it first on your browser, there is shown a signup form where you have to signup with your details like name, email, password, and image. Email and image field is fully validated which means you've to enter a valid email and an image file only. Once you signed up successfully, you'll be redirected to the user's page where you can see your full name, image, status, and logout button to the top, and users, like you, appear on the bottom if someone has signed up. On this page, you can see their image, name, status, and the last message if they sent to you. You have to click on the particular user or you can also search any existing user with their name then you'll be redirected to the chat page and there you can see the image, name, status of that user who is going to chat.&lt;/p&gt;

&lt;h4&gt;
  
  
  You might like this:
&lt;/h4&gt;

&lt;p&gt;&lt;a href="https://www.codingnepalweb.com/2020/11/email-subscription-form-using-html-css-php.html"&gt;Email Subscription Form in PHP only&lt;/a&gt;&lt;br&gt;
&lt;a href="https://www.codingnepalweb.com/2020/09/simple-chatbot-using-php-with-mysql.html"&gt;Chatbot using PHP with MySQL &amp;amp; jQuery&lt;/a&gt;&lt;br&gt;
&lt;a href="https://www.codingnepalweb.com/2020/09/login-signup-form-with-email-verification-php-mysql-bootstrap.html"&gt;Login &amp;amp; Signup Form with Email Verification&lt;/a&gt;&lt;br&gt;
&lt;a href="https://www.codingnepalweb.com/2020/09/how-to-send-email-with-php-from-localhost.html"&gt;How to Send Email from Localhost using XAMPP&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;You can download all source files for free from this given link. &lt;a href="https://www.codingnepalweb.com/2021/02/realtime-chat-application-using-php-mysql-ajax.html"&gt;Click here to download code files.&lt;/a&gt;&lt;/p&gt;

</description>
      <category>chatapp</category>
      <category>phpchatapp</category>
      <category>chatapplication</category>
      <category>chatbox</category>
    </item>
  </channel>
</rss>
