实现 Google Material Design 文本框风格的方法有很多种,但是本攻略将重点介绍使用 CSS 实现的方法。以下是实现过程:
实现 Google Material Design 文本框风格的方法有很多种,但是本攻略将重点介绍使用 CSS 实现的方法。以下是实现过程:
步骤 1:HTML 结构
首先,我们需要定义一个基本的 HTML 结构,包含一个输入框和一个标签(label),如下所示:
<div class="input-wrapper">
<input type="text" required />
<label>输入框</label>
</div>
步骤 2:基础样式
接下来,在样式表中定义基础样式:
.input-wrapper {
position: relative;
margin: 2rem;
}
.input-wrapper label {
position: absolute;
top: 0;
left: 0;
font-size: 1.2rem;
font-weight: bold;
color: grey;
pointer-events: none;
transition: all 0.2s ease;
}
.input-wrapper input {
font-size: 1.2rem;
padding: 1rem;
border: none;
border-radius: 0;
border-bottom: 2px solid grey;
background-color: transparent;
width: 100%;
}
.input-wrapper input:focus {
outline: none;
border-bottom: 2px solid blue;
}
这段代码中,我们设置了输入框的基本样式,包括:
- input-wrapper 的 position 属性设置为 relative,使得标签和输入框可以在输入框容器内定位。
- label 的 position 属性设置为 absolute、top 和 left 属性设置为 0,使得标签在输入框容器的左上角定位。
- font-size、font-weight 和 color 属性分别设置标签的字体大小、粗细和颜色。
- pointer-events 属性设置为 none,使得标签无法响应鼠标事件。
- transition 属性设置动画过渡效果,让标签可以进行平滑的展示和隐藏。
- input 的 padding 值设置为 1rem,让输入框内的文字与输入框边缘有一定的间距。
- border、border-radius 和 border-bottom 属性设置输入框下边框的颜色、边框的弧度和边框的宽度。
- background-color 属性设置输入框的背景色为透明。
- input:focus 伪类样式设置输入框获取焦点时的样式,包括去掉默认的外边框边线、设置下方边框为蓝色。
步骤 3:为输入框和标签添加动画效果
为了让输入框和标签具有动态效果,我们需要添加一些 CSS3 动画效果,在样式表中添加以下代码:
.input-wrapper input:focus + label,
.input-wrapper input:not(:placeholder-shown) + label {
top: -2rem;
font-size: 0.8rem;
color: blue;
}
这段代码中,我们使得当输入框处于聚焦状态或者输入框中有内容时,标签会上移并缩小字体大小,从而创建一种动画效果。
示例 1:添加输入框的提示信息
为了让用户知道输入框需要输入什么,我们可以为输入框的 placeholder 属性添加提示信息。在 HTML 中添加以下代码:
<div class="input-wrapper">
<input type="text" placeholder="用户名" required />
<label>用户名</label>
</div>
这样,在输入框中没有输入内容时,就会显示 "用户名" 的提示信息。
示例 2:为输入框添加错误提示样式
有时候,用户在输入内容时会出现错误,这时我们需要为输入框添加错误提示样式。在样式表中添加以下代码:
.input-wrapper input:invalid:not(:placeholder-shown) {
border-bottom-color: red;
}
.input-wrapper input:focus:invalid:not(:placeholder-shown) + label {
color: red;
}
这段代码中,我们为 input 使用了 :invalid 伪类选择器,当输入无效时,输入框下边框的颜色会变为红色,标签的字体颜色也会变为红色。
尝试了上面的这些步骤之后,你就可以快速实现 Google Material Design 风格的文本输入框啦!
本文标题为:CSS实现 Google Material Design 文本输入框风格(推荐)
基础教程推荐
- JavaScript 模拟用户单击事件 2024-02-09
- 详解Ajax和form+iframe 实现文件上传的方法(两种方式) 2022-12-15
- js opener的使用详解 2024-02-10
- android-SQLite代码段功能实现未在TextView中将文本格式设置为HTML 2023-10-27
- JS打开摄像头并截图上传示例 2024-02-10
- cookie解决微信不能存储localStorage的问题 2022-11-13
- JS+CSS实现大气的黑色首页导航菜单效果代码 2024-01-20
- Ajax实现模拟关键字智能匹配搜索效果 2023-01-26
- 基于BootStrap Metronic开发框架经验小结【三】下拉列表Select2插件的使用 2024-01-06
- layui table如何隐藏列 2022-10-20