新拟态UI表单
新拟态UI是一种近年来日益流行的设计趋势,它将拟物化与现代风格相结合。
应用于表单时,新拟态UI是一种值得考虑的设计风格。它可以让用户界面感觉更加触手可及且互动性更强,最终提升表单的整体可用性。
在本文中,我们将探讨不同类型的新拟态UI表单,并提供每个表单的示例和最佳实践。
示例
在本例中,我们创建了一个登录表单以增强用户体验。首先,我们以拟态风格设计表单,使其呈现现代且优雅的外观。我们添加了微妙的阴影效果,以营造深度和维度的错觉,使其从背景中脱颖而出。
用户可以在输入字段中输入用户名和密码,并将鼠标悬停在每个输入字段上时,该字段将出现阴影效果,看起来像是被抬高了。
在输出中,用户可以看到登录表单在视觉上具有吸引力,实用且用户友好。
Index.html
<html>
<head>
<title>Neumorphic Login Form</title>
<style>
@import url("https://cdnjs.cloudflare.com/ajax/libs/font-awesome/5.15.3/css/all.min.css");
* {
box-sizing: border-box;
margin: 0;
padding: 0;
}
body {
font-family: 'Lato', sans-serif;
display: flex;
align-items: center;
justify-content: center;
flex-direction: column;
width: 100%;
height: 100vh;
background-color: #e6e6e6;
}
.container {
background-color: #e6e6e6;
border-radius: 20px;
box-shadow: -5px -5px 10px #ffffff, 5px 5px 10px #b7b7b7;
padding: 30px;
}
h1 {
text-align: center;
margin-bottom: 30px;
font-size 2rem;
}
h2{
margin-bottom: 2rem;
color: #333;
}
form {
display: flex;
flex-direction: column;
}
.input-container {
position: relative;
margin-bottom: 20px;
}
input {
width:100%;
background-color: #e6e6e6;
border: none;
border-radius: 10px;
box-shadow: inset -5px -5px 10px #ffffff, inset 5px 5px 10px #b7b7b7;
padding: 15px 20px;
font-size 1rem;
transition: box-shadow 0.2s ease;
}
input:focus {
outline: none;
box-shadow: inset -5px -5px 10px #b7b7b7, inset 5px 5px 10px #ffffff;
}
i {
position: absolute;
top: 50%;
transform: translateY(-50%);
right: 20px;
color: #b7b7b7;
transition: transform 0.2s ease, color 0.2s ease;
}
input:focus + i {
transform: translateY(-50%) translateX(10px);
color: #777777;
}
button {
background-color: #ff7f50;
border: none;
border-radius: 10px;
color: #ffffff;
font-size: 1.2rem;
padding: 15px;
margin-top: 20px;
cursor: pointer;
transition: box-shadow 0.2s ease;
}
button:hover {
box-shadow: -5px -5px 10px #ffffff, 5px 5px 10px #b7b7b7;
}
</style>
</head>
<body>
<h2>Neumorphism UI - Form Animation </h2>
<div class="container">
<h1>Neumorphic Login Form</h1>
<form>
<div class = "input-container">
<input type = "text" placeholder = "Username" required>
<i class="fas fa-user"></i>
</div>
<div class = "input-container">
<input type = "password" placeholder = "Password" required>
<i class="fas fa-lock"></i>
</div>
<button type = "submit"> Sign in </button>
</form>
</div>
</body>
</html>
示例
在本例中,我们创建了一个渐变新拟态UI表单。表单包括用于用户电子邮件、消息的文本输入字段,以及一个提交按钮。CSS 样式包括渐变背景、柔和圆润的形状以及微妙的投影,以创建新拟态UI效果。
Index.html
<html>
<head>
<title> Gradient Form</title>
<style>
body {
font-family: 'Lato', sans-serif;
display: flex;
align-items: center;
justify-content: center;
flex-direction: column;
width: 100%;
height: 100vh;
background: linear-gradient(to bottom, #a6c0fe, #3f6bfe);
}
.neumorphism-form {
display: flex;
flex-direction: column;
align-items: center;
padding: 2rem;
border-radius: 1rem;
}
.gradient {
background: linear-gradient(to bottom, #a6c0fe, #3f6bfe);
box-shadow: 0 8px 24px rgba(0, 0, 0, 0.1), 0 2px 6px rgba(0, 0, 0, 0.1);
}
.neumorphism-form h2 {
color: #fff;
font-size: 2rem;
margin-bottom: 1rem;
}
.neumorphism-form label {
font-size: 1.2rem;
margin-bottom: 0.5rem;
}
.message,
.neumorphism-form input {
padding: 0.5rem;
border: none;
border-radius: 0.5rem;
background-color: #f7f7f7;
box-shadow: inset 4px 4px 8px rgba(255, 255, 255, 0.5),
inset -4px -4px 8px rgba(0, 0, 0, 0.1);
margin-bottom: 1rem;
width: 100%;
}
.neumorphism-form button {
background-color: #3f6bfe;
color: #fff;
border: none;
border-radius: 0.5rem;
padding: 0.5rem 1rem;
font-size: 1.2rem;
box-shadow: 4px 4px 8px rgba(163, 177, 198, 0.5),
-4px -4px 8px rgba(255, 255, 255, 0.2);
cursor: pointer;
}
.neumorphism-form button:hover {
transform: translateY(-2px);
box-shadow: 2px 2px 4px rgba(163, 177, 198, 0.5),
-2px -2px 4px rgba(255, 255, 255, 0.2);
}
</style>
</head>
<body>
<form class = "neumorphism-form gradient">
<h2> Contact Us </h2>
<input type = "email" id = "email" name = "email" placeholder = "Email">
<textarea class = "message" id =" " cols = "30" rows = "10" placeholder = "Write Your Message..."> </textarea>
<button type = "submit"> Submit </button>
</form>
</body>
</html>
示例
在本例中,我们创建了一个暗黑模式的新拟态UI表单,允许用户订阅时事通讯。之后,我们向主体添加了线性渐变背景颜色,并为表单设置了具有负值和正值的盒阴影,以创建新拟态效果。
在输出中,用户可以看到一个带有新拟态效果的暗黑模式表单,其中表单元素看起来像是从背景中稍微抬高了。
Index.html −
<html>
<head>
<title> Dark Mode Form</title>
<style>
body {
font-family: "Lato", sans-serif;
display: flex;
align-items: center;
justify-content: center;
flex-direction: column;
width: 100%;
height: 100vh;
background: linear-gradient(150deg, #333, #111);
}
.neumorphism-form {
display: flex;
flex-direction: column;
align-items: center;
padding: 2rem;
border-radius: 1rem;
}
.dark-mode {
box-shadow: -4px -4px 4px rgba(255, 255, 255, 0.08),
4px 4px 4px rgba(0, 0, 0, 0.56), 0 0 0 rgba(255, 255, 255, 0.08) inset,
0 0 0 rgba(0, 0, 0, 0.56) inset;
border: 1px solid rgba(0, 0, 0, 0.08);
}
.neumorphism-form h2 {
font-size: 1.5rem;
margin-bottom: 1.5rem;
color: #64dd178f;
}
.neumorphism-form input[type="email"] {
padding: 0.5rem;
background-color: transparent;
box-shadow: -2px -2px 2px rgba(255, 255, 255, 0.08),
2px 2px 2px rgba(0, 0, 0, 0.56),
-2px -2px 2px rgba(255, 255, 255, 0.08) inset,
2px 2px 2px rgba(0, 0, 0, 0.56) inset;
border: 1px solid rgba(0, 0, 0, 0.08);
margin-bottom: 1rem;
width: 100%;
color: #ffff;
}
.neumorphism-form button {
background-color: transparent;
color: #ff40408f;
border-radius: 0.5rem;
padding: 0.5rem 1rem;
font-size: 1.2rem;
box-shadow: -2px -2px 4px rgba(100, 221, 23, 0.12),
4px 4px 4px rgba(0, 0, 0, 0.56), 0 0 0 rgba(100, 221, 23, 0.12) inset,
0 0 0 rgba(0, 0, 0, 0.56) inset;
border: 1px solid rgba(0, 0, 0, 0.08);
cursor: pointer;
}
.neumorphism-form button:hover {
transform: translateY(-2px);
border: solid 1px #64dd178f;
}
</style>
</head>
<body>
<form class = "neumorphism-form dark-mode">
<h2> Subscribe to Newsletter </h2>
<input type = "email" id = "email" name = "email" placeholder = "Enter your email">
<button type = "submit"> Subscribe </button>
</form>
</body>
</html>
结论
用户学习了如何使用新拟态UI创建视觉上吸引人的表单,例如渐变表单、暗黑模式表单和简单表单。他们还学习了如何使用 CSS 创建新拟态设计,使表单呈现现代且逼真的外观。
广告
数据结构
网络
RDBMS
操作系统
Java
iOS
HTML
CSS
Android
Python
C语言编程
C++
C#
MongoDB
MySQL
Javascript
PHP