WEBLEB
Home
Editor
Accedi
Pro
Italiano
English
Français
Español
Português
Deutsch
Italiano
हिंदी
838
Andev.web
Apri nell'Editor
Pubblica il Tuo Codice
30 November 2024
Testo luminoso
30 March 2025
Effetto di confusione del testo
HTML
Copy
Andev Web
Password
CSS
Copy
:root{ --light-grey:#e0e0e0; --dark-grey:#c5c5c5; } body{ margin: 0; padding: 0;width: 100%; height: 100vh; display: flex; justify-content: center; align-items: center; background: #151F28; font-family: monospace,Arial, Helvetica, sans-serif; } body *{ box-sizing: border-box; outline: none; } .container{ width: 210px; position: relative; } input { background: #ececec; border: 0; font-size: 1em; width: 100%; border-radius: 4px; padding: 10px; position: absolute; z-index: 1; height: 40px; color: #808080; font-family: monospace, Arial, Helvetica, sans-serif; } input::placeholder { color: #808080; opacity: 1; } input:-ms-input-placeholder { color: #808080; } input::-ms-input-placeholder { color: #808080; } input.active { animation: scanning 1s ease 0s 1; background: linear-gradient(90deg, #02de0b 50%, #ececec 100%); background-repeat: no-repeat; background-position: -210px; background-color: #ececec; } @keyframes scanning { 0% { background-position: 150px; } 100% { background-position: -210px; } } #reveal{ width: 40px; height: 40px; border-radius: 4px; border: 0; background:linear-gradient(145deg, #72c0ff ,#0070ca); cursor: pointer; position: absolute; z-index: 3; right: 0px; bottom: 2px solid var(--light-grey); transition: all 0.5s ease 0s; border-top-color: #cccccc; border-bottom-color: #eee; } #reveal:before { content: ""; background: radial-gradient( circle at center, #00000080 1px, #00000080 2px, #00000080 3px, #00000080 4px ); width: 18px; height: 18px; border-radius: 0 100%; transform: rotate(-45deg) skew(-10deg, -10deg); left: 9px; position: absolute; top: 9px; transition: all 0.25s ease 0s; } #reveal:after { content: ""; width: 20px; height: 18px; border-radius: 100%; left: 6px; top: 4px; position: absolute; border: 2px dotted #fff0; border-bottom-color: #00000080; transition: all 0.25s ease 0s; } #reveal:disabled { transition: all 0.5s ease 0s; background: linear-gradient(145deg, #ced5e0, #757575) !important; cursor: default; } #reveal.open { transition: all 0.5s ease 0s; background: linear-gradient(145deg, #8ce88f, #009205); } #reveal.open:after { transform: rotateX(-180deg); top: 10px; background: radial-gradient( circle at 50% 12px, #00000000 1px, #ececec 2px, #ffffff 3px, #00000000 4px ); } #reveal span:before { display: none; font-family: monospace; } #reveal:hover span:before { content: "Show Password"; display: block; position: absolute; background: #4fa8ef; top: -4.5em; padding: 0.45em 0.5em; left: -0.9em; border-radius: 2px; font-size: 0.85em; color: #1d4c72; min-height: 2.25em; } #reveal:hover span:after { content: ""; display: block; position: absolute; border: 0.7em solid transparent; border-top-color: #4fa8ef; left: 0.7em; top: -1.15em; } #reveal.open:hover span:before { content: "Hide Password"; background: #61cd64 !important; color: #215d23; } #reveal.open:hover span:after { border-top-color: #61cd64; } #reveal[disabled="disabled"]:hover span:before { content: "Empty Password"; background: #b3b8c0 !important; color: #4d4e51; } #reveal[disabled="disabled"]:hover span:after { border-top-color: #b3b8c0; } #fakepass { font-size: 1em; width: 0%; border-radius: 4px 0 0 4px; position: absolute; background: #ececec; z-index: 2; height: 40px; top: 0; right: 0; left: 0; transition: all 1s ease 0s; width: 0; line-height: 40px; text-indent: 10px; overflow: hidden; box-shadow: 0.15em 0.15em 0.25em var(--dark-grey) inset, -0.15em -0.15em 0.25em #ffffff80 inset; animation: scan-hide 1s ease-out 0s 1; color: #808080; } #fakepass:before { content: ""; height: 40px; width: 0px; position: absolute; right: 13px; top: 0; box-shadow: -10px 0 20px 10px #33a4ffad, 0 0 10px 5px #33a4ffab; } #fakepass.scan { display: block; animation: scan-show 1s ease-out 0s 1; width: 0%; left: 0; } #fakepass.scan:before { display: none; } #fakepass:after { content: ""; height: 40px; width: 2px; background: #92ceff; position: absolute; right: 10px; top: 0; box-shadow: 0 0 3px 1px #33a4ff, 0 0 5px 3px #33a4ff; animation: light 0.15s ease 0s infinite; } #fakepass.scan:after { background: #07ff10; box-shadow: 0 0 3px 1px #00cc08, 0 0 5px 3px #00cc08; right: 5px; } @keyframes light { 50% { opacity: 0.5; } } @keyframes scan-show { 0% { width: 100%; } 100% { width: 0%; } } @keyframes scan-hide { 0% { width: 0%; left: 0; right: inherit; } 98% { width: 100%; left: 0; right: inherit; } 99% { width: 100%; left: inherit; right: 0; } 100% { width: 0%; left: inherit; right: 0; } } @-moz-document url-prefix() { #fakepass { text-shadow: 0 0 2px #666, 0 0 2px #666, 0 0 2px #666, 0 0 2px #666, 0 0 2px #666, 0 0 2px #666, 0 0 2px #666, 0 0 2px #666; } }
JS
Copy
var btn = document.getElementById('reveal'); var box = document.getElementById('pass'); var fak = document.getElementById('fakepass'); const isEmpty = str => !str.trim().length; btn.addEventListener('click', function() { fak.innerHTML=''; var x = box.value.length; for(var i=0; i<x; i++ ){fak.innerHTML=fak.innerHTML+'•';} fak.classList.toggle('scan'); this.classList.toggle('open'); box.classList.toggle('active'); (box.type=='password') ? box.type='text' : setTimeout(function(){ box.type='password' }, 500);; }); box.addEventListener("input", function() { if(!isEmpty(this.value)) btn.removeAttribute('disabled'); else btn.setAttribute('disabled', 'disabled'); });