logo DevAnswer - Developers Answer

Notification UI Design

16th February

Preview


Source Code
                            <!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<!-- This script got from www.devanswer.com -->


<style>
@import url('https://fonts.googleapis.com/css2?family=Be+Vietnam:ital,wght@0,300;0,500;0&display=swap');

:root {
    /* Colors by color */
    --grey: 45,55,72;
    --greyText: 219, 219, 219;
    --red: 229,62,62;
    --redText: 255, 230, 230;
    --green: 72,187,120;
    --greenText: 198,246,213;
    --blue: 66,153,225;
    --blueText: 190,227,248;
    --yellow: 236,201,75;
    --yellowText: 254,252,191;
    /* Colors by function */
    --color: var(--grey);
    --textColor: var(--greyText);
    /* Other Stuff */
    --alertBorderRadius: 20px;
    --alertGlareDelay: 0;
}

* {
    margin: 0;
    padding: 0;
    box-sizing: border-box;
}

body {
    width: 100vw;
    background-color: #2D3748;
    font-family: 'Be Vietnam', sans-serif;
    overflow-x: hidden;
}

.wrapper {
    display: flex;
    align-items: center;
    justify-content: center;
    flex-direction: column;
    width: 100%;
    height: 100%;
    padding: 50px;
}

/*
ALERT TYPES
info, success, warning, error
*/
.alert.error {
    --color: var(--red);
    --textColor: var(--redText);
    --alertGlareDelay: 0.2s;
}

.alert.success {
    --color: var(--green);
    --textColor: var(--greenText);
    --alertGlareDelay: 0.35s;
}

.alert.info {
    --color: var(--blue);
    --textColor: var(--blueText);
    --alertGlareDelay: 0.51s;
}

.alert.warning {
    --color: var(--yellow);
    --textColor: var(--yellowText);
}

.alert {
    max-width: 400px;
    background: linear-gradient( -45deg, rgba(var(--color),0.22), rgba(var(--color),0.25) );
    color: rgba( var(--textColor), 1 );
    font-weight: 300;
    line-height: 1.65em;
    letter-spacing: 1.5px;
    border-radius: var(--alertBorderRadius);
    position: relative;
    transition: transform .3s ease;
    z-index: 1;
}

    .alert:hover {
        transform: scale(1.05);
    }

    /* Shadow */
    .alert::before {
        content: '';
        position: absolute;
        left: 0;
        top: 0;
        width: 100%;
        height: 100%;
        opacity: 0.7;
        border-radius: var(--alertBorderRadius);
        box-shadow: 8px 8px 8px 0 rgba(0, 0, 0, 0.25), inset 7px 7px 8px 0 rgba(255, 255, 255, 0.3);
        transition: opacity .5s ease, box-shadow .4s ease;
    }

    .alert:hover::before {
        opacity: 1;
        box-shadow: 12px 12px 16px 0 rgba(0, 0, 0, 0.25), inset 6px 6px 12px 0 rgba(255, 255, 255, 0.3);
    }

/* Glare Overlay */
.alert__wrapper {
    position: relative;
    border-radius: var(--alertBorderRadius);
    width: 100%;
    height: 100%;
    overflow: hidden;
}

    .alert__wrapper::after {
        content: '';
        position: absolute;
        left: 0;
        top: 0;
        border-radius: 20px;
        width: 100%;
        height: 100%;
        background-blend-mode: overlay;
        opacity: 0.3;
        background: linear-gradient( -45deg, rgba(0,0,0,0) 0%, rgba(0,0,0,0) 30%, rgba(var(--color),0.5) 31%, rgba(var(--color),0.5) 47%, rgba(0,0,0,0) 48%, rgba(0,0,0,0) 52%, rgba(var(--color),0.5) 53%, rgba(var(--color),0.5) 57%, rgba(0,0,0,0) 58%, rgba(0,0,0,0) 60%, rgba(var(--color),0.5) 61%, rgba(var(--color),0.5) 63%, rgba(0,0,0,0) 64%, rgba(0,0,0,0) 100%);
        z-index: 10;
        animation: glareAnimation 7s infinite;
        animation-delay: var(--alertGlareDelay);
    }

@keyframes glareAnimation {
    0% {
        transform: translateX(-150%);
        opacity: 0;
    }

    15%, 100% {
        transform: translateX(150%);
        opacity: 1;
    }
}

.alert + .alert {
    margin-top: 50px;
}

.alert__header {
    border-radius: 20px 20px 0 0;
    display: flex;
    align-items: center;
    color: rgba(255,255,255,0.8);
    padding: 15px 25px 20px 25px;
    position: relative;
    font-weight: bold;
    background: linear-gradient(-45deg, rgba(var(--color),0.22), rgba(var(--color),0.25));
    text-transform: uppercase;
    text-shadow: 0 0 10px rgba(var(--color), 0.3), 0 0 5px rgba(var(--color), 0.4), 0 0 2px rgba(var(--color), 0.5);
}

    .alert__header span + span {
        margin-left: 15px;
    }

    .alert__header::before,
    .alert__header::after {
        content: '';
        position: absolute;
        bottom: 0;
        left: 0;
        height: 7px;
    }

    .alert__header::before {
        background-color: rgba(0,0,0, 0.4);
        width: 100%;
        box-shadow: inset 0 1px 2px 0 rgba(0,0,0,0.9), inset 0 -1px 1px 0 rgba(var(--color),0.7);
    }

    .alert__header::after {
        background-color: rgba(var(--color), 1);
        box-shadow: inset 0 1px 2px 0 rgba(0,0,0,0.1), inset 0 -1px 1px 0 rgba(var(--color),0.1), 0 0 30px 0 rgba(var(--color), 0.6), 0 0 20px 0 rgba(var(--color), 0.7), 0 0 10px 0 rgba(var(--color), 0.8), 0 0 3px 0 rgba(var(--color), 1);
    }

.alert.error .alert__header::after {
    width: 40px;
    left: 0;
    animation: errorAnimation 1s linear infinite;
}

@keyframes errorAnimation {
    0%, 100% {
        left: 0;
        opacity: 1;
    }

    25%, 75% {
        width: 30px;
        background-color: rgba(var(--textColor),0.8);
    }

    50% {
        left: calc(100% - 40px);
        opacity: 1;
    }
}

.alert.success .alert__header::after {
    width: 100%;
    left: 0;
    animation: successAnimation 0.6s linear infinite;
}

@keyframes successAnimation {
    0%, 100% {
        opacity: 1;
    }

    25%, 75% {
        background-color: rgba(var(--textColor),0.7);
    }

    50% {
        opacity: 1;
    }
}

.alert.info .alert__header::after {
    width: 100%;
    left: 0;
    animation: infoAnimation 3s linear infinite;
}

@keyframes infoAnimation {
    0%, 100% {
        opacity: 1;
    }

    25%, 75% {
        background-color: rgba(var(--textColor),0.7);
    }

    50% {
        opacity: 1;
    }
}

.alert.warning .alert__header::after {
    width: 70px;
    left: 0;
    animation: warningAnimation 3s linear infinite;
}

@keyframes warningAnimation {
    0%, 100% {
        left: 0;
        opacity: 1;
    }

    25%, 75% {
        background-color: rgba(var(--textColor),0.8);
    }

    50% {
        width: 70px;
        left: calc(100% - 70px);
        opacity: 1;
    }
}

.alert h3 {
    margin: 0;
    display: flex;
}

    .alert h3 span:nth-child(1) {
        font-size: 1.6em;
    }

.alert h3 {
    animation: pulseAnimation 3s linear infinite;
}

@keyframes pulseAnimation {
    0% {
        opacity: 0.7;
    }

    70% {
        opacity: 0.8;
    }

    73% {
        opacity: 1;
        text-shadow: 0 0 10px rgba(var(--color),0.5), 0 0 5px rgba(var(--color),0.5);
    }

    100% {
        opacity: 0.7;
    }
}

.alert__body {
    padding: 25px 25px;
    color: rgba( var(--textColor), 1 );
}
</style>

</head>
<body>
<link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/normalize/5.0.0/normalize.min.css">
<link rel='stylesheet' href='https://cdnjs.cloudflare.com/ajax/libs/font-awesome/5.15.0/css/all.min.css'><link rel="stylesheet" href="./style.css">
<div class="wrapper">
  <article class="alert">
    <div class="alert__wrapper">
      <div class="alert__header">
        <h3>
          <span>
            <i class="fa fa-exclamation"></i>
          </span> 
          <span>DEFAULT</span>
        </h3>
      </div>
      <div class="alert__body">
        <p>
          Just a plain old grey. Could be used for disabled and/or non-hovering
        </p>
      </div>
    </div>
  </article>
  <article class="alert info">
    <div class="alert__wrapper">
      <div class="alert__header">
        <h3>
          <span>
            <i class="fa fa-exclamation"></i>
          </span> 
          <span>This is just some information.</span>
        </h3>
      </div>
      <div class="alert__body">
        <p>
          Like it says in the heading, this is just some info man.
        </p>
      </div>
    </div>
  </article>
  <article class="alert success">
    <div class="alert__wrapper">    
      <div class="alert__header">
        <h3>
          <span>
            <i class="fa fa-check"></i>
          </span> 
          <span>Success! You did it.</span>
        </h3>
      </div>
      <div class="alert__body">
        <p>
          Now you've gone and done it! That's the spirit.
        </p>
      </div>
    </div>
  </article>
  <article class="alert warning">
    <div class="alert__wrapper">
      <div class="alert__header">
        <h3>
          <span>
            <i class="fa fa-exclamation-triangle"></i>
          </span> 
          <span>Warning! This is your last chance.</span>
        </h3>
      </div>
      <div class="alert__body">
        <p>
          Hurry up! Before it's too late. There's no time like the present.
        </p>
      </div>
    </div>
  </article>
  <article class="alert error">
    <div class="alert__wrapper">
      <div class="alert__header">
        <h3>
          <span>
            <i class="fa fa-exclamation-circle"></i>
          </span> 
          <span>Oh No! an Error.</span>
        </h3>
      </div>
      <div class="alert__body">
        <p>
          Something happened... 
          I don't know what to tell you... 
          you need to fix it.
        </p>
      </div>
    </div>
  </article>
</div><div id="bcl"><a style="font-size:8pt;text-decoration:none;" href="http://www.devanswer.com">Developers Answer</a></div>

</body>
</html>                        



Other Codes