Dans cet article, nous allons réaliser un formulaire au design glassmorphique (glassmorphic design). Effet moderne assuré !
Débutons par le code HTML.
<div class="container">
<form >
<p>Bienvenue</p>
<input type="email" placeholder="Email"><br>
<input type="password" placeholder="Mot de passe"><br>
<input type="button" value="Connexion"><br>
<a href="#">Mot de passe oublié</a>
</form>
<div class="drop drop-1"></div>
<div class="drop drop-2"></div>
<div class="drop drop-3"></div>
<div class="drop drop-4"></div>
<div class="drop drop-5"></div>
</div>
Passons au design de la page de notre formulaire.
body {
background: linear-gradient(45deg, #FC466B, #3F5EFB);
height: 100vh;
font-family: arial, sans-serif;
display: flex;
align-items: center;
justify-content: center;
}
.container {
position: relative;
}
Jusqu’à maintenant, nous ne faisons qu’aligner au centre notre formulaire grâce à Flexbox.
Les classes drop vont nous permettre d’afficher des petits nuages transparents autour de notre formulaire.
Au tour du formulaire.
form {
background: rgba(255, 255, 255, .3);
padding: 3rem;
height: 320px;
border-radius: 20px;
border-left: 1px solid rgba(255, 255, 255, .3);
border-top: 1px solid rgba(255, 255, 255, .3);
backdrop-filter: blur(10px);
-webkit-backdrop-filter: blur(10px);
-moz-backdrop-filter: blur(10px);
box-shadow: 20px 20px 40px -6px rgba(0, 0, 0, .2);
text-align: center;
}
Stylisons maintenant les textes.
p {
color: white;
font-weight: 500;
opacity: .7;
font-size: 1.4rem;
margin-bottom: 60px;
text-shadow: 2px 2px 4px rgba(0, 0, 0, .2);
}
a {
text-decoration: none;
color: #ddd;
font-size: 12px;
}
a:hover {
text-shadow: 2px 2px 6px #00000040;
}
a:active {
text-shadow: none;
}
Passons aux inputs.
input {
background: transparent;
border: none;
border-left: 1px solid rgba(255, 255, 255, .3);
border-top: 1px solid rgba(255, 255, 255, .3);
padding: 1rem;
width: 200px;
border-radius: 50px;
backdrop-filter: blur(5px);
-webkit-backdrop-filter: blur(5px);
-moz-backdrop-filter: blur(5px);
box-shadow: 4px 4px 60px rgba(0, 0, 0, .2);
color: white;
font-weight: 500;
text-shadow: 2px 2px 4px rgba(0, 0, 0, .2);
transition: all .3s;
margin-bottom: 2em;
}
Stylisons les interactions.
input:hover,
input[type="email"]:focus,
input[type="password"]:focus{
background: rgba(255,255,255,0.1);
box-shadow: 4px 4px 60px 8px rgba(0,0,0,0.2);
}
input[type="button"] {
margin-top: 10px;
width: 150px;
font-size: 1rem;
cursor: pointer;
}
::placeholder {
color: #fff;
}
Passons aux ombres.
.drop {
background: rgba(255, 255, 255, .3);
backdrop-filter: blur(10px);
-webkit-backdrop-filter: blur(10px);
border-radius: 10px;
border-left: 1px solid rgba(255, 255, 255, .3);
border-top: 1px solid rgba(255, 255, 255, .3);
box-shadow: 10px 10px 60px -8px rgba(0,0,0,0.2);
position: absolute;
transition: all 0.2s ease;
}
Finissons notre formulaire en stylisant chaque ombre une par une.
.drop-1 {
height: 80px; width: 80px;
top: -20px; left: -40px;
z-index: -1;
}
.drop-2 {
height: 80px; width: 80px;
bottom: -30px; right: -10px;
}
.drop-3 {
height: 100px; width: 100px;
bottom: 120px; right: -50px;
z-index: -1;
}
.drop-4 {
height: 120px; width: 120px;
top: -60px; right: -60px;
}
.drop-5 {
height: 60px; width: 60px;
bottom: 170px; left: 90px;
z-index: -1;
}
Que vous essayiez de scaler votre start-up, de créer votre premier site internet ou de vous reconvertir en tant que développeur, Believemy est votre nouvelle maison. Rejoignez-nous, évoluez et construisons ensemble l’avenir.