用css或js实现文本输入框的特效
1、文本框默认点击特效:

点击文本框,外围会出现蓝色阴影,取消该特效,为该文本框添加css样式"outline:none; box-shadow:none",就取消了默认特效。必要时可以加!important增加优先级
2、实现百度搜索框点击特效:

点击文本框,文本框的边框出现蓝色实线,我学习到的实现方法:
基础的html元素:

css:为需要该特效的文本框设置该css样式

js:当鼠标点击该文本框时,该文本框的类名改变

3、输入框特殊点击特效

实现代码:
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<meta http-equiv="X-UA-Compatible" content="ie=edge">
<title>test2</title>
</head>
<body>
<div class="main">
<form style="margin-top:50px;">
<input type="text">
<span class="span">
<label>用户名 :</label>
</span>
</form>
</div>
<style>
.main {
height: 500px;
width: 800px;
margin: auto;
}
.main form {
position: relative;
font-weight: blod;
}
.main input {
height: 50px;
width: 300px;
margin: auto;
border: 0;
box-shadow: none;
border-bottom: 1px solid #6a7989;
transition: border-bottom 0.5s;
}
.main .span {
position: absolute;
left: 0;
bottom: 0;
height: 50px;
}
.main label {
font-weight: bold;
color: #6a7989;
line-height: 50px;
display: block;
}
.main input:focus {
outline: none;
border-bottom: 2px solid aqua;
}
</style>
<script>
window.onload = function() {
var span = document.getElementsByTagName('span');
var input = document.getElementsByTagName('input');
input[0].onfocus = function() {
span[0].style.bottom = '30px';
}
input[0].onblur = function() {
span[0].style.bottom = '0';
}
}
</script>
</body>
</html>
原理:
应用position定位文本在特定的位置上,用onfocus和onblur等绑定聚焦及失焦事件改变css属性
总结:
学习了js选取html元素的方法:
1 document.getElementById("id");返回一个
2 document.getElementsByClassName("classname");返回一个类数组
3document.querySelector("选择器");返回一个//querSelectorAll;返回一个数组
学习了css的display属性:
display:inline;行元素,不换行
display:block;块元素,可调宽高
display:inline-block;行内的块,有两者的优点。
写这些,相当于对我的一个记录,如果我的表述有误,请大家多多指教。
关于学习到的一些记录与知识总结

浙公网安备 33010602011771号