前言
这不是一篇正经的文章,但是或许对您有一点用,在做用户输入表单时,不妨加一点效果,让用户输入更嗨...
单个输入框表单聚焦时输入框变化

具体实现
html 结构代码
<input type="text" placeholder="请输入您的姓名" />
css 代码,当然你使用类选择器也是可以的,这里我使用了 css 的属性选择器 关于选择器的优先级,可自行尝试测试:
内联样式 > ID 选择器 > 类选择器 = 属性选择器 = 伪类选择器 > 标签选择器 = 伪元素选择器
具体可参考文档css 样式优先级
多个输入框表单聚焦时输入框变化

具体实例代码如下所示
input[type='text'],
input[type='password'] {
height: 40px;
width: 200px;
background: transparent;
border: none;
border-bottom: 1px solid #999;
text-indent: 20px;
transition: 0.3;
outline: none;
}
input[type='text']:hover,
input[type='password']:hover {
border-color: #42b983;
}
input[type='text']:focus,
input[type='password']:focus {
border-bottom-color: #f1190d;
}
input[type='password']::-webkit-input-placeholder,
input[type='text']::-webkit-input-placeholder {
transition: 0.5s;
font-size: 14px;
transform-origin: top left;
}
input[type='password']:focus::-webkit-input-placeholder,
input[type='text']:focus::-webkit-input-placeholder {
transform: scale(0.8) translateY(-10px);
}
分析
实现这一效果,主要在于-webkit-input-placeholder
这个伪元素的方式,结合 css
中的变换transform
,缩小scale
,与垂直方向平移
具体关于伪类与伪元素,可见伪类与伪元素